<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN"> <html> <head> <title>Canvas Control</title> <meta http-equiv="Content-Language" content="en-us"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link rel="stylesheet" type="text/css" href="../../style.css"> </head> <body> <h2 align="center">Canvas Control</h2> <div class="function"><pre class="function"><span class="mainFunction">void cdCanvasClear(cdCanvas* canvas); [in C]</span> canvas:Clear() [in Lua]</pre> <p>Cleans the active canvas using the current background color. This action is interpreted very differently by each driver. Many drivers simply draw a rectangle with the current background color. It is NOT necessary to call <font>cdClear</font> when the canvas has just been created, as at this moment it is already clean. Most file-based drivers do not implement this function.</p> </div><div class="function"><pre class="function"><span class="mainFunction">void cdCanvasFlush(cdCanvas* canvas); [in C]</span> canvas:Flush() [in Lua]</pre> <p>Has a different meaning for each driver. It is useful to send information to buffered devices and to move to a new page or layer. In all cases, the current canvas attributes are preserved.</p> </div> <hr> <div class="function"><pre class="function"><span class="mainFunction">cdState* <a name="cdSaveState">cdCanvasSaveState</a>(cdCanvas* canvas); [in C]</span> canvas:SaveState() -> (state: cdState) [in Lua]</pre> <p>Saves the state of attributes of the active canvas. It does not save cdPlay callbacks, polygon creation states (begin/vertex/vertex/...), the palette, complex clipping regions and driver internal attributes.</p> </div><div class="function"><pre class="function"><span class="mainFunction">void <a name="cdRestoreState">cdCanvasRestoreState</a>(cdCanvas* canvas, cdState* state); [in C]</span> canvas:RestoreState(state: cdState) [in Lua]</pre> <p>Restores the attribute state of the active canvas. It can be used between canvases of different contexts. It can be used several times for the same state. </p> </div><div class="function"><pre class="function"><span class="mainFunction">void <a name="cdReleaseState">cdReleaseState</a>(cdState* state); [in C]</span> cd.ReleaseState(state: cdState) [in Lua]</pre> <p>Releases the memory allocated by the <strong><font>cdSaveState</font></strong> function. If this function is not called in Lua, the garbage collector will call it.</p> </div><hr><div class="function"><pre class="function"><span class="mainFunction">void <a name="cdSetAttribute">cdCanvasSetAttribute</a>(cdCanvas* canvas, const char* name, char* data); [in C]</span> canvas:SetAttribute(name, data: string) [in Lua]</pre> <p>Modifies a custom attribute directly in the driver of the active canvas. If the driver does not have this attribute, the call is ignored.</p> </div><div class="function"><pre class="function"><span class="mainFunction">void <a name="cdSetfAttribute">cdCanvasSetfAttribute</a>(cdCanvas* canvas, const char* name, const char* format, ...); [in C]</span> [There is no equivalent in Lua]</pre> <p>Same as <strong><font>cdSetAttribute</font></strong>, used for the case in which the parameter <b><font>data</font></b> is a string composed by several parameters. It can be used with parameters equivalent to those of the <b><font> printf</font></b> function from the standard C library.</p> </div><div class="function"><pre class="function"><span class="mainFunction">char* <a name="cdGetAttribute">cdCanvasGetAttribute</a>(cdCanvas* canvas, const char* name); [in C]</span> canvas:SetAttribute(name: string) -> (data: string) [in Lua]</pre> <p>Returns a custom attribute from the driver of the active canvas. If the driver does not have this attribute, it returns <font>NULL</font>.</p> </div> </body> </html>