Drawing Data

The following example uses the ICDraw174LK02 function and the ICDrawStartD3RBL2, ICDrawStop1SIVUG4, ICDrawFlushCQJVLQ, and ICDrawEnd4L9IZJZ macros to draw data on the screen.

DWORD    dwNumBuffers;

 

// Find out how many buffers need filling before drawing starts.

 

ICGetBuffersWanted(hIC, &dwNumBuffers);

for (dw = 0; dw < dwNumBuffers; dw++)

    ICDraw(hIC, 0, lpFormat, lpData, cbData, dw); // fill the pipeline

   

    // Point lpFormat and lpData to next format and buffer.

   

}

ICDrawStart(hIC);  // starts the clock

dw = 0;

while (fPlaying)

    ICDraw(hIC, 0, lpFormat, lpData, chData, dw); // fill more buffers

   

    // Point lpFormat and lpData to next format and buffer,

    // update dw.

}

 

ICDrawStop(hIC);   // stops drawing and decompressing when done

ICDrawFlush(hIC);  // flushes any existing buffers

ICDrawEnd(hIC);    // ends decompression