Interface WPaintDevice
- All Known Subinterfaces:
WVectorImage
- All Known Implementing Classes:
WCanvasPaintDevice
,WMeasurePaintDevice
,WPdfImage
,WRasterPaintDevice
,WSvgImage
,WVmlImage
A WPaintDevice is a device on which may be painted using a WPainter
. You should never
paint directly on a paint device.
The device defines the size of the drawing area, using getWidth()
and getHeight()
. These dimensions must be defined in
pixel units. In the future, additional information will be included to convert these pixel units
to lengths (using DPI information).
You should reimplement this class if you wish to extend the JWt paint system to paint on other devices than the ones provided by the library.
Note: this interface is subject to changes to increase optimization possibilities for the painting using different devices.
- See Also:
-
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> alignmentFlags, TextFlag textFlag, CharSequence text, WPointF clipPoint) Draws text.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) Measures rendered text size.measureText
(CharSequence text, double maxWidth) Measures rendered text size.measureText
(CharSequence text, double maxWidth, boolean wordWrap) Measures rendered text size.void
setChanged
(PainterChangeFlag flag, PainterChangeFlag... flags) Indicates changes in painter state.void
setChanged
(EnumSet<PainterChangeFlag> flags) Indicates changes in painter state.void
setPainter
(WPainter painter) Sets the painter.
-
Method Details
-
getFeatures
EnumSet<PaintDeviceFeatureFlag> getFeatures()Returns device features. -
getWidth
WLength getWidth()Returns the device width.The device width, in pixels, establishes the width of the device coordinate system.
-
getHeight
WLength getHeight()Returns the device height.The device height, in pixels, establishes the height of the device coordinate system.
-
setChanged
Indicates changes in painter state.The
flags
argument is the logical OR of one or more change flags. -
setChanged
Indicates changes in painter state. -
drawArc
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.
-
drawImage
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.
-
drawLine
void drawLine(double x1, double y1, double x2, double y2) Draws a line.The line must be stroked and transformed using the current painter settings.
-
drawPath
Draws a path.The path must be stroked, filled, and transformed using the current painter settings.
-
drawRect
Draws a rectangle.The rect must be stroked, filled, and transformed using the current painter settings.
-
drawText
void drawText(WRectF rect, EnumSet<AlignmentFlag> alignmentFlags, TextFlag textFlag, CharSequence text, WPointF clipPoint) 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.
-
measureText
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.
-
measureText
Measures rendered text size.Returns
measureText(text, - 1, false)
-
measureText
Measures rendered text size. -
getFontMetrics
WFontMetrics getFontMetrics()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.
-
init
void init()Initializes the device for painting.This method is called when a
WPainter
starts painting. -
done
void done()Finishes painting on the device.This method is called when a
WPainter
stopped painting.- See Also:
-
isPaintActive
boolean isPaintActive()Returns whether painting is active.- See Also:
-
getPainter
WPainter getPainter()Returns the painter that is currently painting on the device.- See Also:
-
setPainter
Sets the painter.
-