Wt::WCanvasPaintDevice Class Reference
[Painting system]

A paint device for rendering using the HTML 5 <canvas> element. More...

#include <Wt/WCanvasPaintDevice>

Inheritance diagram for Wt::WCanvasPaintDevice:

Inheritance graph
[legend]

List of all members.

Public Member Functions

 WCanvasPaintDevice (const WLength &width, const WLength &height, WObject *parent=0)
 Create a canvas paint device.
virtual void setChanged (WFlags< ChangeFlag > flags)
 Indicate changes in painter state.
virtual void drawArc (const WRectF &rect, double startAngle, double spanAngle)
 Draw an arc.
virtual void drawImage (const WRectF &rect, const std::string &imgUri, int imgWidth, int imgHeight, const WRectF &sourceRect)
 Draw an image.
virtual void drawLine (double x1, double y1, double x2, double y2)
 Draw a line.
virtual void drawPath (const WPainterPath &path)
 Draw a path.
virtual void drawText (const WRectF &rect, WFlags< AlignmentFlag > flags, const WString &text)
 Draw text.
virtual void init ()
 Initialize the device for painting.
virtual void done ()
 Finishes painting on the device.
virtual bool paintActive () const
 Returns whether painting is active.
virtual WLength width () const
 Returns the device width.
virtual WLength height () const
 Returns the device height.
virtual WFlags< PaintFlagpaintFlags () const
 Returns the paint flags.

Protected Member Functions

virtual WPainterpainter () const
 Returns the painter that is currently painting on the device.
virtual void setPainter (WPainter *painter)
 Sets the painter.
virtual void setPaintFlags (WFlags< PaintFlag > paintFlags)
 Set paint flags.


Detailed Description

A paint device for rendering using the HTML 5 <canvas> element.

The WCanvasPaintDevice is used by WPaintedWidget to render to the browser using the HTML 5 <canvas> element. You usually will not use the device directly, but rather rely on WPaintedWidget to use this device when appropriate.

Note:
Because of the lack for text support in the current HTML 5 <canvas> specification, there is only limited support for text. Text is rendered in an overlayed DIV and a consequence text is not subject to rotation and scaling components of the current transformation (but does take into account translation). This will be fixed in the future (some way, some how!). On most browser you can use the WSvgImage or WVmlImage paint devices which do support text natively.

Member Function Documentation

void Wt::WCanvasPaintDevice::setChanged ( WFlags< ChangeFlag flags  )  [virtual]

Indicate changes in painter state.

The flags argument is the logical OR of one or more change flags.

See also:
ChangeFlag

Implements Wt::WPaintDevice.

void Wt::WCanvasPaintDevice::drawArc ( const WRectF rect,
double  startAngle,
double  spanAngle 
) [virtual]

Draw an arc.

The arc is defined as in WPainter::drawArc(const WRectF&, startAngle, spanAngle), but the angle is expressed in degrees.

The arc must be stroked, filled, and transformed using the current painter settings.

Implements Wt::WPaintDevice.

void Wt::WCanvasPaintDevice::drawImage ( const WRectF rect,
const std::string &  imageUri,
int  imgWidth,
int  imgHeight,
const WRectF sourceRect 
) [virtual]

Draw an image.

Draws sourceRect from the image with URL imageUri and original dimensions imgWidth and imgHeight to the location, into the rectangle defined by rect.

The image is transformed using the current painter settings.

Implements Wt::WPaintDevice.

void Wt::WCanvasPaintDevice::drawLine ( double  x1,
double  y1,
double  x2,
double  y2 
) [virtual]

Draw a line.

The line must be stroked and transformed using the current painter settings.

Implements Wt::WPaintDevice.

void Wt::WCanvasPaintDevice::drawPath ( const WPainterPath path  )  [virtual]

Draw a path.

The path must be stroked, filled, and transformed using the current painter settings.

Implements Wt::WPaintDevice.

void Wt::WCanvasPaintDevice::drawText ( const WRectF rect,
WFlags< AlignmentFlag flags,
const WString text 
) [virtual]

Draw text.

The text must be rendered, stroked and transformed using the current painter settings.

Implements Wt::WPaintDevice.

void Wt::WCanvasPaintDevice::init (  )  [virtual]

Initialize the device for painting.

This method is called when a WPainter starts painting.

See also:
WPainter::begin(WPaintDevice *), painter()

Implements Wt::WPaintDevice.

void Wt::WCanvasPaintDevice::done (  )  [virtual]

Finishes painting on the device.

This method is called when a WPainter stopped painting.

See also:
WPainter::end()

Implements Wt::WPaintDevice.

virtual bool Wt::WCanvasPaintDevice::paintActive (  )  const [inline, virtual]

Returns whether painting is active.

See also:
init(), painter()

Implements Wt::WPaintDevice.

virtual WLength Wt::WCanvasPaintDevice::width (  )  const [inline, virtual]

Returns the device width.

The device width, in pixels, establishes the width of the device coordinate system.

Implements Wt::WPaintDevice.

virtual WLength Wt::WCanvasPaintDevice::height (  )  const [inline, virtual]

Returns the device height.

The device height, in pixels, establishes the height of the device coordinate system.

Implements Wt::WPaintDevice.

virtual WPainter* Wt::WCanvasPaintDevice::painter (  )  const [inline, protected, virtual]

Returns the painter that is currently painting on the device.

See also:
init()

Implements Wt::WPaintDevice.


Generated on Tue Sep 1 17:51:15 2009 for Wt by doxygen 1.5.6