CD_DBUFFER - Double Buffer Driver using a server image (cddbuf.h)

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


The canvas is created by means of a call to function cdCreateCanvas(CD_DBUFFER, Data), after which other functions in the CD library can be called as usual. This function creates a CD canvas to use with an existing window canvas (Native Windows or IUP). 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 window driver.

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

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

If you still need to implement rubber bands using XOR, then we suggest you to use XOR directly on the front buffer. Notice that XOR is not supported in the modern context plus drivers.

Behavior of Functions

This driver depends on the Native Window driver.