Interface Drawable<T extends Drawable<T>>

    • Method Summary

      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      default AnimationBuilder animate()
      Start animating this object.
      default T bringToFront()
      Brings the object in front of all other objects.
      java.awt.Point center​(java.awt.Graphics2D g)
      Get the object's centerpoint
      default Drawable<?> drawable()
      Get the Drawable element from this Animatable.
      default void erase()
      Erase this object from the canvas.
      int getLayer()
      Gets the current layer of the object.
      T getThis()  
      T hide()
      Hide the Object.
      void internalSetLayer​(int layer)  
      void render​(java.awt.Graphics2D g)
      Actually render the object itself
      default T sendToBack()
      Puts the object behind all other objects.
      default T setLayer​(int layer)
      Puts the object on a specific layer.
      T show()
      Show the Object
      • Methods inherited from interface paintingcanvas.animation.Animatable

        Modifier and Type Method Description
        default AnimationBuilder colorTo​(int hex, double duration)
        Change the color of this to the specified color over duration seconds.
        default AnimationBuilder colorTo​(int r, int g, int b, double duration)
        Change the color of this to the specified color over duration seconds.
        default AnimationBuilder colorTo​(int r, int g, int b, int a, double duration)
        Change the color of this to the specified color over duration seconds.
        default AnimationBuilder colorTo​(java.awt.Color color, double duration)
        Change the color of this to the specified color over duration seconds.
        default AnimationBuilder colorTo​(java.lang.String name, double duration)
        Change the color of this to the specified color over duration seconds.
        default AnimationBuilder colorTo​(Hue hue, double duration)
        Change the color of this to the specified color over duration seconds.
        Drawable<?> drawable()
        Get the Drawable element from this Animatable.
        default AnimationBuilder fadeIn​(double duration)
        Fade this in over duration seconds.
        default AnimationBuilder fadeOut​(double duration)
        Fade this out over duration seconds.
        default AnimationBuilder moveBy​(int x, int y, double duration)
        Move this by the specified x and y over duration seconds.
        default AnimationBuilder moveHorizontalBy​(int x, double duration)
        Move this by the specified x horizontally over duration seconds.
        default AnimationBuilder moveTo​(int x, int y, double duration)
        Move this to the specified x and y over duration seconds
        default AnimationBuilder moveVerticalBy​(int y, double duration)
        Move this by the specified y vertically over duration seconds.
        default AnimationBuilder rotateBy​(int angle, double duration)
        Rotate this by angle degrees over duration seconds.
        default AnimationBuilder rotateTo​(int angle, double duration)
        Rotate this to the specified angle degrees over duration seconds.
    • Method Detail

      • internalSetLayer

        void internalSetLayer​(int layer)
      • center

        java.awt.Point center​(java.awt.Graphics2D g)
        Get the object's centerpoint
        
         import java.awt.Point;
        
         Point p = drawable.getStartpoint();
         int x = p.x;
         int y = p.y;
         
        Parameters:
        g - Graphics context
        Returns:
        the object's center-point
      • render

        void render​(java.awt.Graphics2D g)
        Actually render the object itself

        This calls the draw methods, but does some extra steps beforehand to lay it out correctly

        Parameters:
        g - the graphics context to draw the object with
      • getThis

        T getThis()
      • hide

        T hide()
        Hide the Object.
        
         Circle o = new Circle(100, 100, 20);
         o.hide();
         
        Returns:
        the original object to allow method chaining
        See Also:
        show()
      • show

        T show()
        Show the Object
        
         Circle o = new Circle(100, 100, 20);
         o.show();
         
        Returns:
        the original object to allow method chaining
        See Also:
        hide()
      • getLayer

        int getLayer()
        Gets the current layer of the object. By default, all objects are on layer 0.
        Returns:
        the original object to allow method chaining
        See Also:
        setLayer(int), bringToFront(), sendToBack()
      • setLayer

        default T setLayer​(int layer)
        Puts the object on a specific layer.
        Parameters:
        layer - the layer to set the object to
        Returns:
        the original object to allow method chaining
        See Also:
        getLayer(), bringToFront(), sendToBack()
      • bringToFront

        default T bringToFront()
        Brings the object in front of all other objects.
        Returns:
        the original object to allow method chaining
        See Also:
        getLayer(), setLayer(int), sendToBack()
      • erase

        default void erase()
        Erase this object from the canvas. This object will be gone and cannot* be added back!

        * It can be added back just don't tell anyone shhhh