Drag[en]gine Game Engine
1.21
|
Canvas rendering 2D content. More...
#include <deCanvas.h>
Public Types | |
enum | eBlendModes { ebmBlend , ebmAdd } |
Blend modes used to blend canvas over previous content. More... | |
typedef deTObjectReference< deCanvas > | Ref |
Type holding strong reference. More... | |
Public Types inherited from deResource | |
typedef deTObjectReference< deResource > | Ref |
Type holding strong reference. More... | |
Public Types inherited from deObject | |
typedef deTObjectReference< deObject > | Ref |
Type holding strong reference. More... | |
Public Member Functions | |
Management | |
const decPoint & | GetPosition () const |
Position in parent canvas view units. More... | |
void | SetPosition (const decPoint &position) |
Set position in parent canvas view units. More... | |
const decPoint & | GetSize () const |
Size in parent canvas view units. More... | |
void | SetSize (const decPoint &size) |
Set size in parent canvas view units. More... | |
const decTexMatrix2 & | GetTransform () const |
Transformation matrix affecting the canvas and all its content. More... | |
void | SetTransform (const decTexMatrix2 &transform) |
Set transformation matrix affecting the canvas and all its content. More... | |
const decColorMatrix & | GetColorTransform () const |
Transformation matrix affecting the canvas content color. More... | |
void | SetColorTransform (const decColorMatrix &transform) |
Set transformation matrix affecting the canvas content color. More... | |
bool | GetVisible () const |
Canvas is visible. More... | |
void | SetVisible (bool visible) |
Set if canvas is visible. More... | |
float | GetOrder () const |
Render order. Larger renders ontop of smaller. More... | |
void | SetOrder (float order) |
Set render order. Larger renders ontop of smaller. More... | |
float | GetTransparency () const |
Transparency in the range from 0 to 1 where 1 is opaque and 0 fully transparent. More... | |
void | SetTransparency (float transparency) |
Set transparency in the range from 0 to 1 where 1 is opaque and 0 fully transparent. More... | |
eBlendModes | GetBlendMode () const |
Blend mode used to blend canvas over previous content. More... | |
void | SetBlendMode (eBlendModes blendMode) |
Set blend mode used to blend canvas over previous content. More... | |
deCanvas * | GetMask () const |
Mask canvas or NULL if not set. More... | |
void | SetMask (deCanvas *mask) |
Set mask canvas or NULL if not set. More... | |
void | NotifyContentChanged () |
Notify peers about changes to the canvas content. More... | |
System Peers | |
deBaseGraphicCanvas * | GetPeerGraphic () const |
Graphic system peer object or NULL if not set. More... | |
void | SetPeerGraphic (deBaseGraphicCanvas *peer) |
Set graphic system peer object or NULL if not set. More... | |
Visiting | |
virtual void | Visit (deCanvasVisitor &visitor) |
Visit canvas. More... | |
Linked List | |
deCanvas * | GetParentMask () const |
Parent mask or NULL if not set. More... | |
void | SetParentMask (deCanvas *mask) |
Set parent mask or NULL if not set. More... | |
deCanvasView * | GetParentView () const |
Parent view or NULL if not set. More... | |
void | SetParentView (deCanvasView *view) |
Set parent view or NULL if not set. More... | |
deCanvas * | GetLLViewPrev () const |
Previous canvas in the parent view linked list or NULL if not set. More... | |
void | SetLLViewPrev (deCanvas *canvas) |
Set next canvas in the parent view linked list or NULL if not set. More... | |
deCanvas * | GetLLViewNext () const |
Next canvas in the parent view linked list or NULL if not set. More... | |
void | SetLLViewNext (deCanvas *canvas) |
Set next canvas in the parent view linked list NULL if not set. More... | |
Public Member Functions inherited from deResource | |
deResourceManager * | GetResourceManager () const |
Resource manager or NULL if resource is leaking. More... | |
deEngine * | GetEngine () const |
Game engine object from resource manager. More... | |
deResource * | GetLLManagerPrev () const |
Previous resource in the resource manager linked list. More... | |
void | SetLLManagerPrev (deResource *resource) |
Set next resource in the resource manager linked list. More... | |
deResource * | GetLLManagerNext () const |
Next resource in the resource manager linked list. More... | |
void | SetLLManagerNext (deResource *resource) |
Set next resource in the resource manager linked list. More... | |
void | MarkLeaking () |
Marks the resource leaking. More... | |
deResource (deResourceManager *resourceManager) | |
Create resource. More... | |
Public Member Functions inherited from deObject | |
int | GetRefCount () const |
Reference count. More... | |
void | AddReference () |
Add reference increasing reference count by 1. More... | |
void | FreeReference () |
Decrease reference count by one and delete object if count reaches 0. More... | |
deObject () | |
Create object with reference count of 1. More... | |
Constructors and Destructors | |
deCanvas (deCanvasManager *manager) | |
Create canvas. More... | |
virtual | ~deCanvas () |
Clean up canvas. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from deResource | |
virtual | ~deResource () |
Clean up resource. More... | |
Protected Member Functions inherited from deObject | |
virtual | ~deObject () |
Clean up object. More... | |
Canvas rendering 2D content.
Canvas are the basic elements of 2D rendering. At the top stands a deCanvasView representing a view on a set of child canvas. A canvas has a position and size relative to the parent canvas view coordinate system. The position of the canvas is the top left corner and the size spawns to the right bottom corner. An additional transformation matrix allows to apply transformation effects to the canvas and its coordinate system. The canvas coordinate system maps (0,0) to the top left corner of the canvas and (size.x,size.y) to the lower right corner. This coordinate system is then eventually transformed by the transformation matrix. Units are measured as pixels unless transformed. Canvas can be set invisible hiding the canvas and all content inside. The order of the canvas defines the render order with canvas of higher order rendered above those with smaller number. This uncouples the render ordering from the actual ordering of the canvas objects in a deCanvasView. If two canvas have the same order the render order is undefined.
typedef deTObjectReference<deCanvas> deCanvas::Ref |
Type holding strong reference.
Blend modes used to blend canvas over previous content.
deCanvas::deCanvas | ( | deCanvasManager * | manager | ) |
Create canvas.
The default size is set to 20x20 units.
|
protectedvirtual |
Clean up canvas.
|
inline |
Blend mode used to blend canvas over previous content.
|
inline |
Transformation matrix affecting the canvas content color.
|
inline |
Next canvas in the parent view linked list or NULL if not set.
|
inline |
Previous canvas in the parent view linked list or NULL if not set.
|
inline |
Mask canvas or NULL if not set.
|
inline |
Render order. Larger renders ontop of smaller.
|
inline |
Parent mask or NULL if not set.
|
inline |
Parent view or NULL if not set.
|
inline |
Graphic system peer object or NULL if not set.
|
inline |
Position in parent canvas view units.
|
inline |
Size in parent canvas view units.
|
inline |
Transformation matrix affecting the canvas and all its content.
|
inline |
Transparency in the range from 0 to 1 where 1 is opaque and 0 fully transparent.
|
inline |
Canvas is visible.
void deCanvas::NotifyContentChanged | ( | ) |
Notify peers about changes to the canvas content.
void deCanvas::SetBlendMode | ( | eBlendModes | blendMode | ) |
Set blend mode used to blend canvas over previous content.
void deCanvas::SetColorTransform | ( | const decColorMatrix & | transform | ) |
Set transformation matrix affecting the canvas content color.
void deCanvas::SetLLViewNext | ( | deCanvas * | canvas | ) |
Set next canvas in the parent view linked list NULL if not set.
void deCanvas::SetLLViewPrev | ( | deCanvas * | canvas | ) |
Set next canvas in the parent view linked list or NULL if not set.
void deCanvas::SetMask | ( | deCanvas * | mask | ) |
Set mask canvas or NULL if not set.
void deCanvas::SetOrder | ( | float | order | ) |
Set render order. Larger renders ontop of smaller.
void deCanvas::SetParentMask | ( | deCanvas * | mask | ) |
Set parent mask or NULL if not set.
void deCanvas::SetParentView | ( | deCanvasView * | view | ) |
Set parent view or NULL if not set.
void deCanvas::SetPeerGraphic | ( | deBaseGraphicCanvas * | peer | ) |
Set graphic system peer object or NULL if not set.
void deCanvas::SetPosition | ( | const decPoint & | position | ) |
Set position in parent canvas view units.
void deCanvas::SetSize | ( | const decPoint & | size | ) |
Set size in parent canvas view units.
void deCanvas::SetTransform | ( | const decTexMatrix2 & | transform | ) |
Set transformation matrix affecting the canvas and all its content.
void deCanvas::SetTransparency | ( | float | transparency | ) |
Set transparency in the range from 0 to 1 where 1 is opaque and 0 fully transparent.
void deCanvas::SetVisible | ( | bool | visible | ) |
Set if canvas is visible.
|
virtual |
Visit canvas.
Reimplemented in deCanvasView, deCanvasVideoPlayer, deCanvasText, deCanvasRenderWorld, deCanvasPaint, deCanvasImage, and deCanvasCanvasView.