CD - Canvas Draw

CD_DBUFFERRGB - Double Buffer Driver using a RGB image (cdirgb.h)

Implements the concept of offscreen drawing. It is based on a Image RGB (the back buffer) and any other canvas (the front buffer).


The canvas is created by means of a call to function cdCreateCanvas(CD_DBUFFERRGB, Data), after which other functions in the CD library can be called as usual. This function creates a CD canvas to use with any existing canvas. The parameter Data is a pointer to the already created canvas.

Any amount of such canvases may exist simultaneously. It is important to note that a call to function cdKillCanvas is required to properly end the driver. Call function cdKillCanvas for this driver before calling cdKillCanvas for the client canvas driver.

The drawing functions will work normally as if they were drawn on the image RGB driver. When function cdCanvasFlush is executed, the image is drawn in the canvas passed as parameter in the canvas creation.

When the window's size changes, the RGB image is automatically recreated using the same size as the canvas. This is done in the function cdCanvasActivate.

Behavior of Functions

This driver depends on the RGB Client Image Driver.


  • Flush: draws the contents of the image into the window. It is affected by Origin and Clipping, but not by WriteMode.