Package paintingcanvas.drawable
Class DrawableBase<T extends Drawable<T>>
- java.lang.Object
-
- paintingcanvas.drawable.DrawableBase<T>
-
- All Implemented Interfaces:
Animatable,Colorable<T>,Drawable<T>,Positionable<T>
- Direct Known Subclasses:
DrawableBase.OutlineableDrawableBase,Line,Text
public abstract class DrawableBase<T extends Drawable<T>> extends java.lang.Object implements Drawable<T>, Positionable<T>, Colorable<T>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classDrawableBase.InteractableShape<T extends Drawable<T>>static classDrawableBase.OutlineableDrawableBase<T extends Drawable<T>>static classDrawableBase.Shape<T extends Drawable<T>>
-
Constructor Summary
Constructors Constructor Description DrawableBase(int x, int y, java.awt.Color color)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.awt.ColorgetColor()Get the current color of an element as aColorintgetLayer()Gets the current layer of the object.java.awt.PointgetPos()Get the position of the elementdoublegetRotation()Get an elements rotationThide()Hide the Object.doubleinternalGetRotation()voidinternalSetColor(java.awt.Color color)voidinternalSetLayer(int layer)voidinternalSetPos(int x, int y)voidinternalSetRotation(double rotation)voidrender(java.awt.Graphics2D g)Actually render the object itselfTshow()Show the Object-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface paintingcanvas.animation.Animatable
Modifier and Type Method Description default AnimationBuildercolorTo(int hex, double duration)Change the color ofthisto the specifiedcoloroverdurationseconds.default AnimationBuildercolorTo(int r, int g, int b, double duration)Change the color ofthisto the specifiedcoloroverdurationseconds.default AnimationBuildercolorTo(int r, int g, int b, int a, double duration)Change the color ofthisto the specifiedcoloroverdurationseconds.default AnimationBuildercolorTo(java.awt.Color color, double duration)Change the color ofthisto the specifiedcoloroverdurationseconds.default AnimationBuildercolorTo(java.lang.String name, double duration)Change the color ofthisto the specifiedcoloroverdurationseconds.default AnimationBuildercolorTo(Hue hue, double duration)Change the color ofthisto the specifiedcoloroverdurationseconds.Drawable<?>drawable()Get theDrawableelement from thisAnimatable.default AnimationBuilderfadeIn(double duration)Fadethisin overdurationseconds.default AnimationBuilderfadeOut(double duration)Fadethisout overdurationseconds.default AnimationBuildermoveBy(int x, int y, double duration)Movethisby the specifiedxandyoverdurationseconds.default AnimationBuildermoveHorizontalBy(int x, double duration)Movethisby the specifiedxhorizontally overdurationseconds.default AnimationBuildermoveTo(int x, int y, double duration)Movethisto the specifiedxandyoverdurationsecondsdefault AnimationBuildermoveVerticalBy(int y, double duration)Movethisby the specifiedyvertically overdurationseconds.default AnimationBuilderrotateBy(int angle, double duration)Rotatethisbyangledegrees overdurationseconds.default AnimationBuilderrotateTo(int angle, double duration)Rotatethisto the specifiedangledegrees overdurationseconds.
-
Methods inherited from interface paintingcanvas.drawable.Colorable
Modifier and Type Method Description java.awt.ColorgetColor()Get the current color of an element as aColorvoidinternalSetColor(java.awt.Color color)default TsetColor(int hex)Set the color ofthisto the specifiedcolor.default TsetColor(int r, int g, int b)Set the color ofthisto the specifiedcolor.default TsetColor(int r, int g, int b, int a)default TsetColor(java.awt.Color color)Set the color of the object with aColorobject.default TsetColor(java.lang.String name)Set the color of the object with a hue name or hex code.default TsetColor(Hue hue)Set the color of the object with aHueobject.
-
Methods inherited from interface paintingcanvas.drawable.Drawable
Modifier and Type Method Description default AnimationBuilderanimate()Start animating this object.default TbringToFront()Brings the object in front of all other objects.java.awt.Pointcenter(java.awt.Graphics2D g)Get the object's centerpointdefault Drawable<?>drawable()Get theDrawableelement from thisAnimatable.default voiderase()Erase this object from the canvas.intgetLayer()Gets the current layer of the object.TgetThis()Thide()Hide the Object.voidinternalSetLayer(int layer)voidrender(java.awt.Graphics2D g)Actually render the object itselfdefault TsendToBack()Puts the object behind all other objects.default TsetLayer(int layer)Puts the object on a specific layer.Tshow()Show the Object
-
Methods inherited from interface paintingcanvas.drawable.Positionable
Modifier and Type Method Description java.awt.PointgetPos()Get the position of the elementdoublegetRotation()Get an elements rotationdefault intgetX()Get the X-position of the elementdefault intgetY()Get the Y-position of the element.doubleinternalGetRotation()voidinternalSetPos(int x, int y)voidinternalSetRotation(double rotation)default Tmove(int x, int y)Moves this drawable by the specified x and y.default TmoveHorizontal(int x)Moves this drawable by the specified x and y.default TmoveVertical(int y)Moves this drawable by the specified x and y.default Trotate(double rotation)Rotate this element byrotationdegrees.default TsetPos(int x, int y)Set the position of the element.default TsetRotation(double rotation)Set an elements rotation torotationdegrees.default TsetX(int x)Set the X-position of the objectdefault TsetY(int y)Set the Y-position of the element
-
-
-
-
Method Detail
-
internalSetLayer
public void internalSetLayer(int layer)
- Specified by:
internalSetLayerin interfaceDrawable<T extends Drawable<T>>
-
render
public void render(java.awt.Graphics2D g)
Description copied from interface:DrawableActually render the object itselfThis calls the draw methods, but does some extra steps beforehand to lay it out correctly
-
hide
public T hide()
Description copied from interface:DrawableHide the Object.Circle o = new Circle(100, 100, 20); o.hide();
-
show
public T show()
Description copied from interface:DrawableShow the ObjectCircle o = new Circle(100, 100, 20); o.show();
-
getLayer
public int getLayer()
Description copied from interface:DrawableGets the current layer of the object. By default, all objects are on layer 0.- Specified by:
getLayerin interfaceDrawable<T extends Drawable<T>>- Returns:
- the original object to allow method chaining
- See Also:
Drawable.setLayer(int),Drawable.bringToFront(),Drawable.sendToBack()
-
internalSetPos
public void internalSetPos(int x, int y)- Specified by:
internalSetPosin interfacePositionable<T extends Drawable<T>>
-
internalGetRotation
public double internalGetRotation()
- Specified by:
internalGetRotationin interfacePositionable<T extends Drawable<T>>
-
internalSetRotation
public void internalSetRotation(double rotation)
- Specified by:
internalSetRotationin interfacePositionable<T extends Drawable<T>>
-
getPos
public java.awt.Point getPos()
Description copied from interface:PositionableGet the position of the element- Specified by:
getPosin interfacePositionable<T extends Drawable<T>>- Returns:
- the position of the element as a
Point - See Also:
Positionable.setPos(int, int)
-
getRotation
public double getRotation()
Description copied from interface:PositionableGet an elements rotationCircle o = new Circle(100, 100, 20); o.setRotation(90); // Sets the elements rotation to 90° let i = o.getRotation(); // Gets the rotation assert i == 90;- Specified by:
getRotationin interfacePositionable<T extends Drawable<T>>- Returns:
- the rotation of the object
- See Also:
Positionable.rotate(double)
-
internalSetColor
public void internalSetColor(java.awt.Color color)
- Specified by:
internalSetColorin interfaceColorable<T extends Drawable<T>>
-
-