Interface RenderingBackend
- All Known Implementing Classes:
AwtRenderingBackend, NoOpRenderingBackend
public interface RenderingBackend
Interface to the rendering context used by
CanvasRenderingContext2D.-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionvoidarc(double x, double y, double radius, double startAngle, double endAngle, boolean anticlockwise) Adds a circular arc to the current sub-path.voidStarts a new path by emptying the list of sub-paths.voidbezierCurveTo(double cp1x, double cp1y, double cp2x, double cp2y, double x, double y) Adds a cubic Bézier curve to the current sub-path.voidclearRect(double x, double y, double w, double h) Paints the specified rectangular area.voidclip(RenderingBackend.WindingRule windingRule, Path2D path) Turns the current or given path into the current clipping region.voidAttempts to add a straight line from the current point to the start of the current sub-path.voiddrawImage(ImageData imageData, int sx, int sy, Integer sWidth, Integer sHeight, int dx, int dy, Integer dWidth, Integer dHeight) Draws images onto the context.voidellipse(double x, double y, double radiusX, double radiusY, double rotation, double startAngle, double endAngle, boolean anticlockwise) Creates an elliptical arc centered at (x, y) with the radii radiusX and radiusY.encodeToString(String type) Constructs a base64 encoded string out of the image data.voidfill()Fills the current or given path with the current fillStyle.voidfillRect(int x, int y, int w, int h) Paints the specified rectangular area.voidFills a given text at the given (x, y) position.byte[]getBytes(int width, int height, int sx, int sy) Creates a byte array containing the (4) color values of all pixels.doubleintReturns thelineWidthproperty.voidlineTo(double x, double y) Adds a straight line to the current sub-path by connecting the sub-path's last point to the specified (x, y) coordinates.voidmoveTo(double x, double y) Begins a new sub-path at the point specified by the given (x, y) coordinates.voidputImageData(byte[] imageDataBytes, int imageDataHeight, int imageDataWidth, int dx, int dy, int dirtyX, int dirtyY, int dirtyWidth, int dirtyHeight) Paints data from the given ImageData object onto the canvas.voidquadraticCurveTo(double cpx, double cpy, double x, double y) Adds a quadratic Bézier curve to the current sub-path.voidrect(double x, double y, double w, double h) Adds a rectangle to the current path.voidrestore()Restores the most recently saved canvas state by popping the top entry in the drawing state stack.voidrotate(double angle) Adds a rotation to the transformation matrix.voidsave()Saves the entire state of the canvas by pushing the current state onto a stack.voidsetFillStyle(String fillStyle) Sets thefillStyleproperty.voidsetGlobalAlpha(double globalAlpha) Specifies the alpha (transparency) value that is applied to shapes and images before they are drawn onto the canvas.voidsetLineWidth(int lineWidth) Sets thelineWidthproperty.voidsetStrokeStyle(String strokeStyle) Sets thestrokeStyleproperty.voidsetTransform(double m11, double m12, double m21, double m22, double dx, double dy) Resets (overrides) the current transformation to the identity matrix, and then invokes a transformation described by the arguments of this method.voidstroke()Strokes (outlines) the current or given path with the current stroke style.voidstrokeRect(int x, int y, int w, int h) Paints the specified rectangular area.voidtransform(double m11, double m12, double m21, double m22, double dx, double dy) Multiplies the current transformation with the matrix described by the arguments of this method.voidtranslate(int x, int y) Adds a translation transformation to the current matrix.
-
Method Details
-
beginPath
void beginPath()Starts a new path by emptying the list of sub-paths. -
bezierCurveTo
void bezierCurveTo(double cp1x, double cp1y, double cp2x, double cp2y, double x, double y) Adds a cubic Bézier curve to the current sub-path. It requires three points: the first two are control points and the third one is the end point. The starting point is the latest point in the current path, which can be changed using moveTo() before creating the Bézier curve.- Parameters:
cp1x- the cp1xcp1y- the cp1ycp2x- the cp2xcp2y- the cp2yx- the xy- the y
-
arc
void arc(double x, double y, double radius, double startAngle, double endAngle, boolean anticlockwise) Adds a circular arc to the current sub-path.- Parameters:
x- the xy- the yradius- the radiusstartAngle- the start angleendAngle- the end angleanticlockwise- is anti-clockwise
-
clearRect
void clearRect(double x, double y, double w, double h) Paints the specified rectangular area.- Parameters:
x- the xy- the yw- the widthh- the height
-
drawImage
void drawImage(ImageData imageData, int sx, int sy, Integer sWidth, Integer sHeight, int dx, int dy, Integer dWidth, Integer dHeight) throws IOException Draws images onto the context.- Parameters:
imageData- the reader to read the image from 8the first one)sx- the X coordinate of the top left corner of the sub-rectangle of the source image to draw into the destination contextsy- the Y coordinate of the top left corner of the sub-rectangle of the source image to draw into the destination contextsWidth- the width of the sub-rectangle of the source image to draw into the destination contextsHeight- the height of the sub-rectangle of the source image to draw into the destination contextdx- the X coordinate in the destination canvas at which to place the top-left corner of the source imagedy- the Y coordinate in the destination canvas at which to place the top-left corner of the source imagedWidth- the width to draw the image in the destination canvas. This allows scaling of the drawn imagedHeight- the height to draw the image in the destination canvas. This allows scaling of the drawn image- Throws:
IOException- in case o problems
-
encodeToString
Constructs a base64 encoded string out of the image data.- Parameters:
type- the name of the image format- Returns:
- the base64 encoded string
- Throws:
IOException- in case o problems
-
ellipse
void ellipse(double x, double y, double radiusX, double radiusY, double rotation, double startAngle, double endAngle, boolean anticlockwise) Creates an elliptical arc centered at (x, y) with the radii radiusX and radiusY. The path starts at startAngle and ends at endAngle, and travels in the direction given by anticlockwise (defaulting to clockwise).- Parameters:
x- the xy- the yradiusX- the radiusXradiusY- the radiusYrotation- the rotationstartAngle- the start angleendAngle- the end angleanticlockwise- is anti-clockwise
-
fill
void fill()Fills the current or given path with the current fillStyle. -
fillRect
void fillRect(int x, int y, int w, int h) Paints the specified rectangular area.- Parameters:
x- the xy- the yw- the widthh- the height
-
fillText
Fills a given text at the given (x, y) position.- Parameters:
text- the textx- the xy- the y
-
getBytes
byte[] getBytes(int width, int height, int sx, int sy) Creates a byte array containing the (4) color values of all pixels.- Parameters:
width- the widthheight- the heightsx- start point xsy- start point y- Returns:
- the bytes
-
lineTo
void lineTo(double x, double y) Adds a straight line to the current sub-path by connecting the sub-path's last point to the specified (x, y) coordinates.- Parameters:
x- the xy- the y
-
moveTo
void moveTo(double x, double y) Begins a new sub-path at the point specified by the given (x, y) coordinates.- Parameters:
x- the xy- the y
-
putImageData
void putImageData(byte[] imageDataBytes, int imageDataHeight, int imageDataWidth, int dx, int dy, int dirtyX, int dirtyY, int dirtyWidth, int dirtyHeight) Paints data from the given ImageData object onto the canvas.- Parameters:
imageDataBytes- an array of pixel valuesimageDataHeight- the height of the imageDataimageDataWidth- the width of the imageDatadx- horizontal position (x coordinate) at which to place the image data in the destination canvasdy- vertical position (y coordinate) at which to place the image data in the destination canvasdirtyX- horizontal position (x coordinate) of the top-left corner from which the image data will be extracted. Defaults to 0.dirtyY- vertical position (y coordinate) of the top-left corner from which the image data will be extracted. Defaults to 0.dirtyWidth- width of the rectangle to be painted. Defaults to the width of the image data.dirtyHeight- height of the rectangle to be painted. Defaults to the height of the image data.
-
quadraticCurveTo
void quadraticCurveTo(double cpx, double cpy, double x, double y) Adds a quadratic Bézier curve to the current sub-path. It requires two points: the first one is a control point and the second one is the end point. The starting point is the latest point in the current path, which can be changed using moveTo() before creating the quadratic Bézier curve.- Parameters:
cpx- the cpxcpy- the cpyx- the xy- the y
-
rect
void rect(double x, double y, double w, double h) Adds a rectangle to the current path.- Parameters:
x- the xy- the yw- the widthh- the height
-
restore
void restore()Restores the most recently saved canvas state by popping the top entry in the drawing state stack. If there is no saved state, this method does nothing. -
rotate
void rotate(double angle) Adds a rotation to the transformation matrix.- Parameters:
angle- the angle
-
save
void save()Saves the entire state of the canvas by pushing the current state onto a stack. -
setFillStyle
Sets thefillStyleproperty.- Parameters:
fillStyle- thefillStyleproperty
-
setStrokeStyle
Sets thestrokeStyleproperty.- Parameters:
strokeStyle- thestrokeStyleproperty
-
getLineWidth
int getLineWidth()Returns thelineWidthproperty.- Returns:
- the
lineWidthproperty
-
setLineWidth
void setLineWidth(int lineWidth) Sets thelineWidthproperty.- Parameters:
lineWidth- thelineWidthproperty
-
setTransform
void setTransform(double m11, double m12, double m21, double m22, double dx, double dy) Resets (overrides) the current transformation to the identity matrix, and then invokes a transformation described by the arguments of this method. This lets you scale, rotate, translate (move), and skew the context.- Parameters:
m11- Horizontal scaling. A value of 1 results in no scalingm12- Vertical skewingm21- Horizontal skewingm22- Vertical scaling. A value of 1 results in no scalingdx- Horizontal translation (moving)dy- Vertical translation (moving).
-
stroke
void stroke()Strokes (outlines) the current or given path with the current stroke style. -
strokeRect
void strokeRect(int x, int y, int w, int h) Paints the specified rectangular area.- Parameters:
x- the xy- the yw- the widthh- the height
-
transform
void transform(double m11, double m12, double m21, double m22, double dx, double dy) Multiplies the current transformation with the matrix described by the arguments of this method. This lets you scale, rotate, translate (move), and skew the context.- Parameters:
m11- Horizontal scaling. A value of 1 results in no scalingm12- Vertical skewingm21- Horizontal skewingm22- Vertical scaling. A value of 1 results in no scalingdx- Horizontal translation (moving)dy- Vertical translation (moving).
-
translate
void translate(int x, int y) Adds a translation transformation to the current matrix.- Parameters:
x- the xy- the y
-
clip
Turns the current or given path into the current clipping region. It replaces any previous clipping region.- Parameters:
windingRule- the RenderingBackend.WindingRuleRenderingBackend.WindingRuleto be usedpath- the path or null if the current path should be used
-
closePath
void closePath()Attempts to add a straight line from the current point to the start of the current sub-path. If the shape has already been closed or has only one point, this function does nothing. -
getGlobalAlpha
double getGlobalAlpha()- Returns:
- the alpha (transparency) value that is applied to shapes and images before they are drawn onto the canvas.
-
setGlobalAlpha
void setGlobalAlpha(double globalAlpha) Specifies the alpha (transparency) value that is applied to shapes and images before they are drawn onto the canvas.- Parameters:
globalAlpha- the new alpha
-