Interface RenderingBackend

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void arc​(double x, double y, double radius, double startAngle, double endAngle, boolean anticlockwise)
      Adds a circular arc to the current sub-path.
      void beginPath()
      Starts a new path by emptying the list of sub-paths.
      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.
      void clearRect​(double x, double y, double w, double h)
      Paints the specified rectangular area.
      void clip​(RenderingBackend.WindingRule windingRule, Path2D path)
      Turns the current or given path into the current clipping region.
      void closePath()
      Attempts to add a straight line from the current point to the start of the current sub-path.
      void drawImage​(ImageData imageData, int sx, int sy, java.lang.Integer sWidth, java.lang.Integer sHeight, int dx, int dy, java.lang.Integer dWidth, java.lang.Integer dHeight)
      Draws images onto the context.
      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.
      java.lang.String encodeToString​(java.lang.String type)
      Constructs a base64 encoded string out of the image data.
      void fill()
      Fills the current or given path with the current fillStyle.
      void fillRect​(int x, int y, int w, int h)
      Paints the specified rectangular area.
      void fillText​(java.lang.String text, double x, double y)
      Fills 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.
      double getGlobalAlpha()  
      int getLineWidth()
      Returns the lineWidth property.
      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.
      void moveTo​(double x, double y)
      Begins a new sub-path at the point specified by the given (x, y) coordinates.
      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.
      void quadraticCurveTo​(double cpx, double cpy, double x, double y)
      Adds a quadratic Bézier curve to the current sub-path.
      void rect​(double x, double y, double w, double h)
      Adds a rectangle to the current path.
      void restore()
      Restores the most recently saved canvas state by popping the top entry in the drawing state stack.
      void rotate​(double angle)
      Adds a rotation to the transformation matrix.
      void save()
      Saves the entire state of the canvas by pushing the current state onto a stack.
      void setFillStyle​(java.lang.String fillStyle)
      Sets the fillStyle property.
      void setGlobalAlpha​(double globalAlpha)
      Specifies the alpha (transparency) value that is applied to shapes and images before they are drawn onto the canvas.
      void setLineWidth​(int lineWidth)
      Sets the lineWidth property.
      void setStrokeStyle​(java.lang.String strokeStyle)
      Sets the strokeStyle property.
      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.
      void stroke()
      Strokes (outlines) the current or given path with the current stroke style.
      void strokeRect​(int x, int y, int w, int h)
      Paints the specified rectangular area.
      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.
      void translate​(int x, int y)
      Adds a translation transformation to the current matrix.
    • Method Detail

      • 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 cp1x
        cp1y - the cp1y
        cp2x - the cp2x
        cp2y - the cp2y
        x - the x
        y - 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 x
        y - the y
        radius - the radius
        startAngle - the start angle
        endAngle - the end angle
        anticlockwise - is anti-clockwise
      • clearRect

        void clearRect​(double x,
                       double y,
                       double w,
                       double h)
        Paints the specified rectangular area.
        Parameters:
        x - the x
        y - the y
        w - the width
        h - the height
      • drawImage

        void drawImage​(ImageData imageData,
                       int sx,
                       int sy,
                       java.lang.Integer sWidth,
                       java.lang.Integer sHeight,
                       int dx,
                       int dy,
                       java.lang.Integer dWidth,
                       java.lang.Integer dHeight)
                throws java.io.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 context
        sy - the Y coordinate of the top left corner of the sub-rectangle of the source image to draw into the destination context
        sWidth - the width of the sub-rectangle of the source image to draw into the destination context
        sHeight - the height of the sub-rectangle of the source image to draw into the destination context
        dx - the X coordinate in the destination canvas at which to place the top-left corner of the source image
        dy - the Y coordinate in the destination canvas at which to place the top-left corner of the source image
        dWidth - the width to draw the image in the destination canvas. This allows scaling of the drawn image
        dHeight - the height to draw the image in the destination canvas. This allows scaling of the drawn image
        Throws:
        java.io.IOException - in case o problems
      • encodeToString

        java.lang.String encodeToString​(java.lang.String type)
                                 throws java.io.IOException
        Constructs a base64 encoded string out of the image data.
        Parameters:
        type - the name of the image format
        Returns:
        the base64 encoded string
        Throws:
        java.io.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 x
        y - the y
        radiusX - the radiusX
        radiusY - the radiusY
        rotation - the rotation
        startAngle - the start angle
        endAngle - the end angle
        anticlockwise - 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 x
        y - the y
        w - the width
        h - the height
      • fillText

        void fillText​(java.lang.String text,
                      double x,
                      double y)
        Fills a given text at the given (x, y) position.
        Parameters:
        text - the text
        x - the x
        y - 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 width
        height - the height
        sx - start point x
        sy - 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 x
        y - 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 x
        y - 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 values
        imageDataHeight - the height of the imageData
        imageDataWidth - the width of the imageData
        dx - horizontal position (x coordinate) at which to place the image data in the destination canvas
        dy - vertical position (y coordinate) at which to place the image data in the destination canvas
        dirtyX - 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 cpx
        cpy - the cpy
        x - the x
        y - the y
      • rect

        void rect​(double x,
                  double y,
                  double w,
                  double h)
        Adds a rectangle to the current path.
        Parameters:
        x - the x
        y - the y
        w - the width
        h - 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

        void setFillStyle​(java.lang.String fillStyle)
        Sets the fillStyle property.
        Parameters:
        fillStyle - the fillStyle property
      • setStrokeStyle

        void setStrokeStyle​(java.lang.String strokeStyle)
        Sets the strokeStyle property.
        Parameters:
        strokeStyle - the strokeStyle property
      • getLineWidth

        int getLineWidth()
        Returns the lineWidth property.
        Returns:
        the lineWidth property
      • setLineWidth

        void setLineWidth​(int lineWidth)
        Sets the lineWidth property.
        Parameters:
        lineWidth - the lineWidth property
      • 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 scaling
        m12 - Vertical skewing
        m21 - Horizontal skewing
        m22 - Vertical scaling. A value of 1 results in no scaling
        dx - 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 x
        y - the y
        w - the width
        h - 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 scaling
        m12 - Vertical skewing
        m21 - Horizontal skewing
        m22 - Vertical scaling. A value of 1 results in no scaling
        dx - 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 x
        y - the y
      • clip

        void clip​(RenderingBackend.WindingRule windingRule,
                  Path2D path)
        Turns the current or given path into the current clipping region. It replaces any previous clipping region.
        Parameters:
        windingRule - the RenderingBackend.WindingRule RenderingBackend.WindingRule to be used
        path - 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