Wt
4.11.1
|
A paint device for rendering using the HTML 5 <canvas> element. More...
#include <Wt/WCanvasPaintDevice.h>
Public Member Functions | |
WCanvasPaintDevice (const WLength &width, const WLength &height, bool paintUpdate=false) | |
Create a canvas paint device. | |
virtual WFlags< PaintDeviceFeatureFlag > | features () const override |
Returns device features. | |
virtual void | setChanged (WFlags< PainterChangeFlag > flags) override |
Indicates changes in painter state. More... | |
virtual void | drawArc (const WRectF &rect, double startAngle, double spanAngle) override |
Draws an arc. More... | |
virtual void | drawImage (const WRectF &rect, const std::string &imgUri, int imgWidth, int imgHeight, const WRectF &sourceRect) override |
Draws an image. More... | |
virtual void | drawLine (double x1, double y1, double x2, double y2) override |
Draws a line. More... | |
virtual void | drawPath (const WPainterPath &path) override |
Draws a path. More... | |
virtual void | drawRect (const WRectF &rectangle) override |
Draws a rectangle. More... | |
virtual void | drawText (const WRectF &rect, WFlags< AlignmentFlag > alignmentFlags, TextFlag textFlag, const WString &text, const WPointF *clipPoint) override |
Draws text. More... | |
virtual WTextItem | measureText (const WString &text, double maxWidth=-1, bool wordWrap=false) override |
Measures rendered text size. More... | |
virtual WFontMetrics | fontMetrics () override |
Returns font metrics. More... | |
virtual void | init () override |
Initializes the device for painting. More... | |
virtual void | done () override |
Finishes painting on the device. More... | |
virtual bool | paintActive () const override |
Returns whether painting is active. More... | |
virtual WLength | width () const override |
Returns the device width. More... | |
virtual WLength | height () const override |
Returns the device height. More... | |
Public Member Functions inherited from Wt::WObject | |
void | addChild (std::unique_ptr< WObject > child) |
Add a child WObject whose lifetime is determined by this WObject. | |
template<typename Child > | |
Child * | addChild (std::unique_ptr< Child > child) |
Add a child WObject, returning a raw pointer. More... | |
std::unique_ptr< WObject > | removeChild (WObject *child) |
Remove a child WObject, so its lifetime is no longer determined by this WObject. | |
template<typename Child > | |
std::unique_ptr< Child > | removeChild (Child *child) |
Remove a child WObject, so its lifetime is no longer determined by this WObject. More... | |
virtual const std::string | id () const |
Returns the (unique) identifier for this object. More... | |
virtual void | setObjectName (const std::string &name) |
Sets an object name. More... | |
virtual std::string | objectName () const |
Returns the object name. More... | |
void | resetLearnedSlots () |
Resets learned stateless slot implementations. More... | |
template<class T > | |
void | resetLearnedSlot (void(T::*method)()) |
Resets a learned stateless slot implementation. More... | |
template<class T > | |
WStatelessSlot * | implementStateless (void(T::*method)()) |
Declares a slot to be stateless and learn client-side behaviour on first invocation. More... | |
template<class T > | |
WStatelessSlot * | implementStateless (void(T::*method)(), void(T::*undoMethod)()) |
Declares a slot to be stateless and learn client-side behaviour in advance. More... | |
void | isNotStateless () |
Marks the current function as not stateless. More... | |
template<class T > | |
WStatelessSlot * | implementJavaScript (void(T::*method)(), const std::string &jsCode) |
Provides a JavaScript implementation for a method. More... | |
Public Member Functions inherited from Wt::Core::observable | |
observable () noexcept | |
Default constructor. | |
virtual | ~observable () |
Destructor. More... | |
template<typename... Args, typename C > | |
auto | bindSafe (void(C::*method)(Args...)) noexcept |
Protects a method call against object destruction. More... | |
template<typename... Args, typename C > | |
auto | bindSafe (void(C::*method)(Args...) const) const noexcept |
Protects a const method call against object destruction. More... | |
template<typename Function > | |
auto | bindSafe (const Function &function) noexcept |
Protects a function against object destruction. More... | |
Public Member Functions inherited from Wt::WPaintDevice | |
virtual | ~WPaintDevice () |
Destructor. More... | |
Protected Member Functions | |
virtual WPainter * | painter () const override |
Returns the painter that is currently painting on the device. More... | |
virtual void | setPainter (WPainter *painter) override |
Sets the painter. | |
Protected Member Functions inherited from Wt::WObject | |
virtual WStatelessSlot * | getStateless (Method method) |
On-demand stateless slot implementation. More... | |
Additional Inherited Members | |
Public Types inherited from Wt::WObject | |
typedef void(WObject::* | Method) () |
Typedef for a WObject method without arguments. | |
Public Types inherited from Wt::WPaintDevice | |
typedef PaintDeviceFeatureFlag | FeatureFlag |
Typedef for enum Wt::PaintDeviceFeatureFlag. | |
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.
|
overridevirtual |
Finishes painting on the device.
This method is called when a WPainter stopped painting.
Implements Wt::WPaintDevice.
|
overridevirtual |
Draws an arc.
The arc describes the segment of an ellipse enclosed by the rect. The segment starts at startAngle
, and spans an angle given by spanAngle
. These angles have as unit degree, and are measured counter-clockwise starting from the 3 o'clock position.
The arc must be stroked, filled, and transformed using the current painter settings.
Implements Wt::WPaintDevice.
|
overridevirtual |
Draws 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.
|
overridevirtual |
Draws a line.
The line must be stroked and transformed using the current painter settings.
Implements Wt::WPaintDevice.
|
overridevirtual |
Draws a path.
The path must be stroked, filled, and transformed using the current painter settings.
Implements Wt::WPaintDevice.
|
overridevirtual |
Draws a rectangle.
The rect must be stroked, filled, and transformed using the current painter settings.
Implements Wt::WPaintDevice.
|
overridevirtual |
Draws text.
The text must be rendered, stroked and transformed using the current painter settings.
If clipPoint is not null, a check is performed whether the point is inside of the current clip area. If not, the text is not drawn.
Implements Wt::WPaintDevice.
|
overridevirtual |
Returns font metrics.
This returns font metrics for the current font.
Throws a std::logic_error if the underlying device does not provide font metrics.
Implements Wt::WPaintDevice.
|
overridevirtual |
Returns the device height.
The device height, in pixels, establishes the height of the device coordinate system.
Implements Wt::WPaintDevice.
|
overridevirtual |
Initializes the device for painting.
This method is called when a WPainter starts painting.
Implements Wt::WPaintDevice.
|
overridevirtual |
Measures rendered text size.
Returns the bounding rect of the given text when rendered using the current font.
If maxWidth
!= -1, then the text is truncated to fit in the width.
If wordWrap
= true
then text is truncated only at word boundaries. Note that in this case the whitespace at the truncated position is included in the text but not accounted for by the returned width (since usually you will not render the whitespace at the end of a line).
Throws a std::logic_error if the underlying device does not provide font metrics.
Implements Wt::WPaintDevice.
|
overridevirtual |
|
overrideprotectedvirtual |
Returns the painter that is currently painting on the device.
Implements Wt::WPaintDevice.
|
overridevirtual |
Indicates changes in painter state.
The flags
argument is the logical OR of one or more change flags.
Implements Wt::WPaintDevice.
|
overridevirtual |
Returns the device width.
The device width, in pixels, establishes the width of the device coordinate system.
Implements Wt::WPaintDevice.