public class PlutovgBufferedVectorImageDrawer extends BufferedVectorImageDrawer
A buffered vector image records drawings and replays them, so a MicroUI shape has to be recorded as a vector path. The plutovg backend records one of them, the filled rectangle, and reports every other one as not implemented. The default drawer is not an option for the others: it draws them with the Graphics Engine raster algorithms, which are not vector drawings.
That keeps this drawer aligned with the backend's own C side, which records the same single shape. A shape recorded here and refused there, or the reverse, would make the same application behave differently on the simulator and on the embedded build.
Vector drawings are recorded, with one limitation: the blend modes PLUS, SCREEN and MULTIPLY. The backend draws those three on the display, where it composites them itself, but a recorded drawing carries a plutovg compositing operator and there is none for them.
| Constructor and Description |
|---|
PlutovgBufferedVectorImageDrawer() |
| Modifier and Type | Method and Description |
|---|---|
void |
drawPath(ej.microui.display.MicroUIGraphicsContext gc,
java.awt.geom.GeneralPath path,
float x,
float y,
float[] matrix,
int fillRule,
int blend,
VGPaint paint)
Draws a general path filled with the given color representation.
|
void |
fillRectangle(ej.microui.display.MicroUIGraphicsContext gc,
int x1,
int y1,
int x2,
int y2) |
getDefaultDrawer, handledFormatclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitdrawChar, drawCharWithRotationBilinear, drawCharWithRotationNearestNeighbor, drawCircle, drawCircleArc, drawEllipse, drawEllipseArc, drawFlippedImage, drawHorizontalLine, drawImage, drawLine, drawRectangle, drawRenderableString, drawRotatedImageBilinear, drawRotatedImageNearestNeighbor, drawRoundedRectangle, drawScaledImageBilinear, drawScaledImageNearestNeighbor, drawScaledRenderableStringBilinear, drawScaledStringBilinear, drawString, drawThickCircle, drawThickCircleArc, drawThickEllipse, drawThickFadedCircle, drawThickFadedCircleArc, drawThickFadedEllipse, drawThickFadedLine, drawThickFadedPoint, drawThickLine, drawVerticalLine, fillCircle, fillCircleArc, fillEllipse, fillEllipseArc, fillRoundedRectangle, initializeRenderableStringSNIContext, stringWidth, writePixeldrawImage, drawStringpublic void drawPath(ej.microui.display.MicroUIGraphicsContext gc,
java.awt.geom.GeneralPath path,
float x,
float y,
float[] matrix,
int fillRule,
int blend,
VGPaint paint)
VGDrawingdrawPath in interface VGDrawingdrawPath in class BufferedVectorImageDrawergc - the destinationpath - the path to drawx - the destination X coordinatey - the destination Y coordinatematrix - the deformation to applyfillRule - the fill typeblend - the blend modepaint - the color representation to usepublic void fillRectangle(ej.microui.display.MicroUIGraphicsContext gc,
int x1,
int y1,
int x2,
int y2)
The one MicroUI shape this drawer records. Its edges fall on pixel boundaries, so the recorded path and the Graphics Engine draw the same pixels.