Wt: Wt::WVmlImage Class Reference

Wt 3.3.0

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Protected Member Functions
Wt::WVmlImage Class Reference
Painting system

A paint device for rendering using the VML pseudo-standard. More...

`#include <Wt/WVmlImage>`

Inheritance diagram for Wt::WVmlImage:
[legend]

List of all members.

## Public Member Functions
| WVmlImage (const WLength &width, const WLength &height, bool paintUpdate)
| Create a VML paint device.
virtual WFlags< FeatureFlag > | features () const
| Returns device features.
virtual void | setChanged (WFlags< ChangeFlag > flags)
| Indicates changes in painter state.
virtual void | drawArc (const WRectF &rect, double startAngle, double spanAngle)
| Draws an arc.
virtual void | drawImage (const WRectF &rect, const std::string &imgUri, int imgWidth, int imgHeight, const WRectF &sourceRect)
| Draws an image.
virtual void | drawLine (double x1, double y1, double x2, double y2)
| Draws a line.
virtual void | drawPath (const WPainterPath &path)
| Draws a path.
virtual void | drawText (const WRectF &rect, WFlags< AlignmentFlag > alignmentFlags, TextFlag textFlag, const WString &text)
| Draws text.
virtual WTextItem | measureText (const WString &text, double maxWidth=-1, bool wordWrap=false)
| Measures rendered text size.
virtual WFontMetrics | fontMetrics ()
| Returns font metrics.
virtual void | init ()
| Initializes the device for painting.
virtual void | done ()
| Finishes painting on the device.
virtual bool | paintActive () const
| Returns whether painting is active.
virtual std::string | rendered ()
| Internal method.
virtual WLength | width () const
| Returns the device width.
virtual WLength | height () const
| Returns the device height.
## Protected Member Functions
virtual WPainter * | painter () const
| Returns the painter that is currently painting on the device.
virtual void | setPainter (WPainter *painter)
| Sets the painter.

## Detailed Description

A paint device for rendering using the VML pseudo-standard.

The WVmlImage is used by WPaintedWidget to render to the browser using the Vector Markup Language (VML) (to support graphics on Internet Explorer browsers).

Note:
  The current implementation has only limited support for clipping: only rectangular areas aligned with the X/Y axes can be used as clipping path.

## Constructor & Destructor Documentation

Wt::WVmlImage::WVmlImage | ( | const WLength & | width,
|  | const WLength & | height,
|  | bool | paintUpdate
| ) |  |

Create a VML paint device.

If `paintUpdate` is `true`, then only a VML fragment will be rendered that can be used to update the DOM of an existing VML image, instead of a full VML image.

## Member Function Documentation

void Wt::WVmlImage::done | ( |  | ) | `[virtual]`

Finishes painting on the device.

This method is called when a WPainter stopped painting.

See also:
  WPainter::end()

Implements Wt::WPaintDevice.

void Wt::WVmlImage::drawArc | ( | const WRectF & | rect,
|  | double | startAngle,
|  | double | spanAngle
| ) |  | `[virtual]`

Draws an arc.

The arc is defined as in WPainter::drawArc(const WRectF& rectangle, int startAngle, int spanAngle)

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

Implements Wt::WPaintDevice.

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

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.

void Wt::WVmlImage::drawLine | ( | double | x1,
|  | double | y1,
|  | double | x2,
|  | double | y2
| ) |  | `[virtual]`

Draws a line.

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

Implements Wt::WPaintDevice.

void Wt::WVmlImage::drawPath | ( | const WPainterPath & | path | ) | `[virtual]`

Draws a path.

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

Implements Wt::WPaintDevice.

void Wt::WVmlImage::drawText | ( | const WRectF & | rect,
|  | WFlags< AlignmentFlag > | alignmentFlags,
|  | TextFlag | textFlag,
|  | const WString & | text
| ) |  | `[virtual]`

Draws text.

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

Implements Wt::WPaintDevice.

WFontMetrics Wt::WVmlImage::fontMetrics | ( |  | ) | `[virtual]`

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.

virtual WLength Wt::WVmlImage::height | ( |  | ) | const`[virtual]`

Returns the device height.

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

Implements Wt::WPaintDevice.

void Wt::WVmlImage::init | ( |  | ) | `[virtual]`

Initializes the device for painting.

This method is called when a WPainter starts painting.

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

Implements Wt::WPaintDevice.

WTextItem Wt::WVmlImage::measureText | ( | const WString & | text,
|  | double | maxWidth = `-1`,
|  | bool | wordWrap = `false`
| ) |  | `[virtual]`

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.

virtual bool Wt::WVmlImage::paintActive | ( |  | ) | const`[virtual]`

Returns whether painting is active.

See also:
  init(), painter()

Implements Wt::WPaintDevice.

virtual WPainter* Wt::WVmlImage::painter | ( |  | ) | const`[protected, virtual]`

Returns the painter that is currently painting on the device.

See also:
  init()

Implements Wt::WPaintDevice.

void Wt::WVmlImage::setChanged | ( | WFlags< ChangeFlag > | flags | ) | `[virtual]`

Indicates changes in painter state.

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

See also:
  ChangeFlag

Implements Wt::WPaintDevice.

virtual WLength Wt::WVmlImage::width | ( |  | ) | const`[virtual]`

Returns the device width.

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

Implements Wt::WPaintDevice.

All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator