Class WMeasurePaintDevice
- All Implemented Interfaces:
WPaintDevice
WMeasurePaintDevice
Wt/WMeasurePaintDevice Wt/WMeasurePaintDevice.
This implements a (pseudo)-paintdevice which measures the bounding rect of whatever is being painted on it, using fontmetrics from the underlying device.
The only output of the device is the computation of a bounding rect which is returned by
getBoundingRect()
.
-
Constructor Summary
ConstructorDescriptionWMeasurePaintDevice
(WPaintDevice paintDevice) Creates a paint device to measure for the underlying device. -
Method Summary
Modifier and TypeMethodDescriptionvoid
done()
Finishes painting on the device.void
Draws an arc.void
Draws an image.void
drawLine
(double x1, double y1, double x2, double y2) Draws a line.void
drawPath
(WPainterPath path) Draws a path.void
Draws a rectangle.void
drawText
(WRectF rect, EnumSet<AlignmentFlag> flags, TextFlag textFlag, CharSequence text, WPointF clipPoint) Draws text.Returns the bounding rectangle of everything painted so far.Returns device features.Returns font metrics.Returns the device height.Returns the painter that is currently painting on the device.getWidth()
Returns the device width.void
init()
Initializes the device for painting.boolean
Returns whether painting is active.measureText
(CharSequence text, double maxWidth, boolean wordWrap) Measures rendered text size.void
setChanged
(EnumSet<PainterChangeFlag> flags) Indicates changes in painter state.void
setPainter
(WPainter painter) Sets the painter.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface eu.webtoolkit.jwt.WPaintDevice
measureText, measureText, setChanged
-
Constructor Details
-
WMeasurePaintDevice
Creates a paint device to measure for the underlying device.
-
-
Method Details
-
getBoundingRect
Returns the bounding rectangle of everything painted so far.The bounding rect is returned in device coordinates (i.e. after all transformations applied).
-
getFeatures
Description copied from interface:WPaintDevice
Returns device features.- Specified by:
getFeatures
in interfaceWPaintDevice
-
setChanged
Description copied from interface:WPaintDevice
Indicates changes in painter state.The
flags
argument is the logical OR of one or more change flags.- Specified by:
setChanged
in interfaceWPaintDevice
-
drawArc
Description copied from interface:WPaintDevice
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 byspanAngle
. 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.
- Specified by:
drawArc
in interfaceWPaintDevice
-
drawImage
Description copied from interface:WPaintDevice
Draws an image.Draws sourceRect from the image with URL
imageUri
and original dimensions imgWidth andimgHeight
to the location, into the rectangle defined byrect
.The image is transformed using the current painter settings.
- Specified by:
drawImage
in interfaceWPaintDevice
-
drawLine
public void drawLine(double x1, double y1, double x2, double y2) Description copied from interface:WPaintDevice
Draws a line.The line must be stroked and transformed using the current painter settings.
- Specified by:
drawLine
in interfaceWPaintDevice
-
drawRect
Description copied from interface:WPaintDevice
Draws a rectangle.The rect must be stroked, filled, and transformed using the current painter settings.
- Specified by:
drawRect
in interfaceWPaintDevice
-
drawPath
Description copied from interface:WPaintDevice
Draws a path.The path must be stroked, filled, and transformed using the current painter settings.
- Specified by:
drawPath
in interfaceWPaintDevice
-
drawText
public void drawText(WRectF rect, EnumSet<AlignmentFlag> flags, TextFlag textFlag, CharSequence text, WPointF clipPoint) Description copied from interface:WPaintDevice
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.
- Specified by:
drawText
in interfaceWPaintDevice
-
measureText
Description copied from interface:WPaintDevice
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.
- Specified by:
measureText
in interfaceWPaintDevice
-
getFontMetrics
Description copied from interface:WPaintDevice
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.
- Specified by:
getFontMetrics
in interfaceWPaintDevice
-
init
public void init()Description copied from interface:WPaintDevice
Initializes the device for painting.This method is called when a
WPainter
starts painting.- Specified by:
init
in interfaceWPaintDevice
- See Also:
-
done
public void done()Description copied from interface:WPaintDevice
Finishes painting on the device.This method is called when a
WPainter
stopped painting.- Specified by:
done
in interfaceWPaintDevice
- See Also:
-
isPaintActive
public boolean isPaintActive()Description copied from interface:WPaintDevice
Returns whether painting is active.- Specified by:
isPaintActive
in interfaceWPaintDevice
- See Also:
-
getWidth
Description copied from interface:WPaintDevice
Returns the device width.The device width, in pixels, establishes the width of the device coordinate system.
- Specified by:
getWidth
in interfaceWPaintDevice
-
getHeight
Description copied from interface:WPaintDevice
Returns the device height.The device height, in pixels, establishes the height of the device coordinate system.
- Specified by:
getHeight
in interfaceWPaintDevice
-
getPainter
Description copied from interface:WPaintDevice
Returns the painter that is currently painting on the device.- Specified by:
getPainter
in interfaceWPaintDevice
- See Also:
-
setPainter
Description copied from interface:WPaintDevice
Sets the painter.- Specified by:
setPainter
in interfaceWPaintDevice
-