Interface RenderingBackend

All Known Implementing Classes:
AwtRenderingBackend, NoOpRenderingBackend

public interface RenderingBackend
Interface to the rendering context used by CanvasRenderingContext2D.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static enum 
     
  • Method Summary

    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
    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
    Turns the current or given path into the current clipping region.
    void
    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, Integer sWidth, Integer sHeight, int dx, int dy, Integer dWidth, 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.
    Constructs a base64 encoded string out of the image data.
    void
    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(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
     
    int
    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
    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
    Saves the entire state of the canvas by pushing the current state onto a stack.
    void
    setFillStyle(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(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
    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 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 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, 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 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:
      IOException - in case o problems
    • encodeToString

      String encodeToString(String type) throws 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:
      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(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(String fillStyle)
      Sets the fillStyle property.
      Parameters:
      fillStyle - the fillStyle property
    • setStrokeStyle

      void setStrokeStyle(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