Class Path

  • All Implemented Interfaces:
    Animatable

    public class Path
    extends Drawable<Path>
    An SVG-like path used to draw lines and curves.

    Uses Path2D internally.

    • Constructor Summary

      Constructors 
      Constructor Description
      Path()
      Create a new Path element.
      Path​(java.awt.Color color)
      Create a new Path element.
      Path​(java.lang.String color)
      Create a new Path element with a certain color by name (see Hue for list of all valid names).
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.awt.Point center​(java.awt.Graphics g)
      Get the object's centerpoint
      Path cursorTo​(int x, int y)
      Move the cursor to a new position
      Path curveTo​(int x1, int y1, int x2, int y2, int x3, int y3)
      Make a cubic curve from the current cursor position to a new position.
      protected void drawFilled​(java.awt.Graphics2D gc)
      the color is set to `color`
      protected void drawOutline​(java.awt.Graphics2D gc)
      the color is set to `outlineColor`, the stroke is set to `outlineStroke`
      protected Path getThis()  
      Path lineTo​(int x, int y)
      Make a line from the current cursor position to a new position
      Path quadTo​(int x1, int y1, int x2, int y2)
      Make a quadratic curve from the current cursor position to a new position.
      Path setLineColor​(java.awt.Color color)
      Set the color of the line, equivalent to setOutline(thickness, color);
      Path setStroke​(java.awt.Stroke stroke)
      Set the stroke of the line.
      Path setThickness​(int thickness)
      Set the thickness of the line, equivalent to setOutline(thickness);
      • Methods inherited from class paintingcanvas.drawable.Drawable

        Modifier and Type Method Description
        AnimationBuilder animate()
        Start animating this object.
        java.awt.Point center​(java.awt.Graphics g)
        Get the object's centerpoint
        Drawable<?> drawable()
        Get the Drawable element from this Animatable.
        protected abstract void drawFilled​(java.awt.Graphics2D gc)
        the color is set to `color`
        protected abstract void drawOutline​(java.awt.Graphics2D gc)
        the color is set to `outlineColor`, the stroke is set to `outlineStroke`
        void erase()
        Erase this object from the canvas.
        java.awt.Color getColor()
        Get the current color of an element as a Color
        java.awt.Color getOutlineColor()
        Gets the outline color
        java.awt.Stroke getOutlineStroke()
        Gets the outline stroke
        java.awt.Point getPos()
        Get the position of the element
        double getRotation()
        Get an elements rotation
        protected abstract T getThis()  
        int getX()
        Get the X-position of the element
        int getY()
        Get the Y-position of the element.
        T hide()
        Hide the Object.
        T move​(int x, int y)
        Moves this drawable by the specified x and y.
        T moveHorizontal​(int x)
        Moves this drawable by the specified x and y.
        T moveVertical​(int y)
        Moves this drawable by the specified x and y.
        T removeOutline()
        Removes the outline from the shape
        void render​(java.awt.Graphics g)
        Actually render the object itself
        T rotate​(double rotation)
        Rotate this element by rotation°.
        T setColor​(int hex)
        Set the color of the object with a 8-bit RGB hex literal.
        T setColor​(int r, int g, int b)
        Set the color of the element with RGB.
        T setColor​(java.awt.Color color)
        Set the color of the object with a Color object.
        T setColor​(java.lang.String color)
        Set the color of the object with a certain color by name (see Hue for list of all valid names)
        T setFilled​(boolean filled)
        Set whether this object is filled or not
        T setOutline​(int thickness)
        Sets the parameters for the outline of the shape, with the color defaulting to black
        T setOutline​(int thickness, java.awt.Color color)
        Sets the parameters for the outline of the shape
        T setOutline​(java.awt.Color color)
        Sets the outline color of the shape
        T setPos​(int x, int y)
        Set the position of the element.
        T setRotation​(double rotation)
        Set an elements rotation to rotation°.
        T setX​(int x)
        Set the X-position of the object
        T setY​(int y)
        Set the Y-position of the element
        T show()
        Show the Object
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Path

        public Path()
        Create a new Path element. The path is initially empty.
        
         Path path = new Path().lineTo(100, 100)
                               .quadTo(150, 0, 200, 100)
                               .lineTo(200, 200)
                               .lineTo(100, 100)
                               .setColor(new Color(255, 0, 0))
                               .setThickness(5);
         
      • Path

        public Path​(java.awt.Color color)
        Create a new Path element. The path is initially empty.
        
         Path path = new Path(new Color(255, 0, 0)).lineTo(100, 100)
                               .quadTo(150, 0, 200, 100)
                               .lineTo(200, 200)
                               .lineTo(100, 100)
                               .setThickness(5);
         
        Parameters:
        color - The color of the path
      • Path

        public Path​(java.lang.String color)
        Create a new Path element with a certain color by name (see Hue for list of all valid names). The path is initially empty.
        
         Path path = new Path("red").lineTo(100, 100)
                              .quadTo(150, 0, 200, 100)
                              .lineTo(200, 200)
                              .lineTo(100, 100)
                              .setThickness(5);
         
        Parameters:
        color - The name of the color (case-insensitive)
    • Method Detail

      • setStroke

        public Path setStroke​(java.awt.Stroke stroke)
        Set the stroke of the line.
        Parameters:
        stroke - a Stroke object to define this line's stroke
        Returns:
        The original object to allow method chaining
      • setThickness

        public Path setThickness​(int thickness)
        Set the thickness of the line, equivalent to setOutline(thickness);
        Parameters:
        thickness - The thickness of the line in pixels
        Returns:
        The original object to allow method chaining
      • setLineColor

        public Path setLineColor​(java.awt.Color color)
        Set the color of the line, equivalent to setOutline(thickness, color);
        Parameters:
        color - The color of the line
        Returns:
        The original object to allow method chaining
      • cursorTo

        public Path cursorTo​(int x,
                             int y)
        Move the cursor to a new position
        Parameters:
        x - The X-position of the new cursor position
        y - The Y-position of the new cursor position
        Returns:
        The original object to allow method chaining
      • lineTo

        public Path lineTo​(int x,
                           int y)
        Make a line from the current cursor position to a new position
        Parameters:
        x - The X-position of the line endpoint
        y - The Y-position of the line endpoint
        Returns:
        The original object to allow method chaining
      • quadTo

        public Path quadTo​(int x1,
                           int y1,
                           int x2,
                           int y2)
        Make a quadratic curve from the current cursor position to a new position. See Wikipedia: Bézier curve for more information
        Parameters:
        x1 - The X-position of the control point
        y1 - The Y-position of the control point
        x2 - The X-position of the curve endpoint
        y2 - The Y-position of the curve endpoint
        Returns:
        The original object to allow method chaining
      • curveTo

        public Path curveTo​(int x1,
                            int y1,
                            int x2,
                            int y2,
                            int x3,
                            int y3)
        Make a cubic curve from the current cursor position to a new position. See Wikipedia: Bézier curve for more information
        Parameters:
        x1 - The X-position of the first control point
        y1 - The Y-position of the first control point
        x2 - The X-position of the second control point
        y2 - The Y-position of the second control point
        x3 - The X-position of the curve endpoint
        y3 - The Y-position of the curve endpoint
        Returns:
        The original object to allow method chaining
      • drawOutline

        protected void drawOutline​(java.awt.Graphics2D gc)
        Description copied from class: Drawable
        the color is set to `outlineColor`, the stroke is set to `outlineStroke`
        Specified by:
        drawOutline in class Drawable<Path>
        Parameters:
        gc - The graphics context to draw the object with
      • drawFilled

        protected void drawFilled​(java.awt.Graphics2D gc)
        Description copied from class: Drawable
        the color is set to `color`
        Specified by:
        drawFilled in class Drawable<Path>
        Parameters:
        gc - The graphics context to draw the object with
      • center

        public java.awt.Point center​(java.awt.Graphics g)
        Description copied from class: Drawable
        Get the object's centerpoint
        
         import java.awt.Point;
        
         Point p = drawable.getStartpoint();
         int x = p.x;
         int y = p.y;
         
        Overrides:
        center in class Drawable<Path>
        Parameters:
        g - Graphics context
        Returns:
        The object's center-point