Drawing Data

The following example uses the ICDraw function and the ICDrawStart, ICDrawStop, ICDrawFlush, and ICDrawEnd 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

Software for developers
Delphi Components
.Net Components
Software for Android Developers
More information resources
Unix Manual Pages
Delphi Examples