Canvas Control
void cdCanvasClear(cdCanvas* canvas); [in C]
canvas:Clear() [in Lua]
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 cdClear when the canvas has just been created, as at this moment it is already clean. Most file-based drivers do not implement this function.
void cdCanvasFlush(cdCanvas* canvas); [in C]
canvas:Flush() [in Lua]
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.
cdState* cdCanvasSaveState(cdCanvas* canvas); [in C]
canvas:SaveState() -> (state: cdState) [in Lua]
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.
void cdCanvasRestoreState(cdCanvas* canvas, cdState* state); [in C]
canvas:RestoreState(state: cdState) [in Lua]
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.
void cdReleaseState(cdState* state); [in C]
cd.ReleaseState(state: cdState) [in Lua]
Releases the memory allocated by the cdSaveState function. If this function is not called in Lua, the garbage collector will call it.
void cdCanvasSetAttribute(cdCanvas* canvas, const char* name, char* data); [in C]
canvas:SetAttribute(name, data: string) [in Lua]
Modifies a custom attribute directly in the driver of the active canvas. If the driver does not have this attribute, the call is ignored.
void cdCanvasSetfAttribute(cdCanvas* canvas, const char* name, const char* format, ...); [in C]
[There is no equivalent in Lua]
Same as cdSetAttribute, used for the case in which the parameter data is a string composed by several parameters. It can be used with parameters equivalent to those of the printf function from the standard C library.
char* cdCanvasGetAttribute(cdCanvas* canvas, const char* name); [in C]
canvas:SetAttribute(name: string) -> (data: string) [in Lua]
Returns a custom attribute from the driver of the active canvas. If the driver does not have this attribute, it returns NULL.