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.
We suggest you to implement rubber bands using XOR directly on the front buffer.
This driver is very platform-dependent.
For further detail, see the Behavior of Functions in each base driver: GDI, GDK and X-Win. To use this driver with a context plus base driver is necessary to call cdUseContextPlus(1) before creating the canvas, see the GDI+, Cairo and XRender base drivers.
However, it should be noted that some functions behave differently from the basic functions of each platform.