ICM_DRAW

The ICM_DRAW message is sent to a rendering driver to decompress a frame of data and draw it to the screen.

Parameters

dwParam1

Specifies a pointer to an ICDRAW structure.

dwParam2

Specifies the size of the ICDRAW structure.

Return Value

Returns ICERR_OK if successful. Otherwise, returns an error number.

Comments

If the ICDRAW_UPDATE flag is set in the dwFlags member of the ICDRAW data structure, the area of the screen used for drawing is invalid and needs to be updated. This depends on the contents of dwFlags.

If the ICDRAW_UPDATE flag is set and dwFlags is NULL, the driver should update the entire destination rectangle with the current image. If the driver does not keep an offscreen image, it can fail this message.

If the ICDRAW_UPDATE flag is set and dwFlags is nonNULL, the driver should draw the data and make sure the entire destination is updated. If the driver does not keep an offscreen image, it can fail this message.

If the ICDRAW_HURRYUP flag is set in the dwFlags member, the calling application is requesting the driver to proceed as quickly as possible, possibly not even updating the screen.

If the ICDRAW_PREROLL flag is set in the dwFlags member, this video frame is merely preliminary information and should not be displayed, if possible. For instance, if play is to start from frame 10, and frame 0 is the nearest previous key frame, frames 0 through 9 will have the ICDRAW_PREROLL flag set.

If the driver is to decompress data into a buffer instead of drawing directly to the screen, ICM_DECOMPRESS is sent instead.