Class Ellipse

All Implemented Interfaces:
ICMPaintable, ICMShape, IFlexible, IChangeable, IMovable, IResizable, IShape, IColorable, ICopyable

public class Ellipse
extends AShape
implements ICMShape, IColorable
Instance třídy Elipsa představují elipsy určené pro práci na plátně spravovaném správcem plátna –. instancí třídy CanvasManager. Tyto elipsy jsou definované svojí pozicí, rozměrem a barvou. Pozicí instance se přitom rozumí pozice levého horního rohu opsaného obdélníku a rozměrem instance se rozumí rozměr tohoto obdélníku.
  • Field Summary

    Fields 
    Modifier and Type Field Description
    static NamedColor DEFAULT_COLOR
    Počáteční barva nakreslené instance v případě, kdy uživatel žádnou požadovanou barvu nezadá - pro elipsu NamedColor.BLUE.

    Fields inherited from interface eu.pedu.lib20s.canvasmanager.ICMPaintable

    CM
  • Constructor Summary

    Constructors 
    Constructor Description
    Ellipse()
    Připraví novou instanci s implicitním umístěním, rozměry a barvou.
    Ellipse​(int x, int y, int width, int height)
    Připraví novou instanci se zadanou pozicí a rozměry a implicitní barvou.
    Ellipse​(int x, int y, int width, int height, NamedColor color)
    Připraví novou instanci se zadanou pozicí, rozměry a barvou.
    Ellipse​(Area area, NamedColor color)
    Připraví novou instanci vyplňující zadanou oblast a mající zadanou barvu.
    Ellipse​(Position position, Size size, NamedColor color)
    Připraví novou instanci se zadanými rozměry, polohou a barvou.
  • Method Summary

    Modifier and Type Method Description
    Ellipse copy()
    Vrátí kopii dané instance, tj. stejně velkou a stejně umístěnou instanci stejné barvy.
    protected java.lang.String forToString()
    Vrací charakteristiky dané instance do jejího podpisu.
    NamedColor getColor()
    Vrátí aktuální barvu instance.
    void paint​(Painter painter)
    Prostřednictvím zadaného kreslítka vykreslí obraz instance na plátno.
    void setColor​(NamedColor color)
    Nastaví novou barvu instance.
    void setPosition​(int x, int y)
    Přemístí instanci na zadanou pozici.
    void setSize​(int width, int height)
    Nastaví nové rozměry instance.

    Methods inherited from class eu.pedu.lib20s.geom.AChangeable

    getHeight, getWidth

    Methods inherited from class eu.pedu.lib20s.geom.AMovable

    getX, getY

    Methods inherited from class eu.pedu.lib20s.geom.ANamed

    getName, setName, toString

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface eu.pedu.lib20s.canvasmanager.ICMPaintable

    hide, show

    Methods inherited from interface eu.pedu.lib20s.geom.IChangeable

    getArea, setArea, setArea, setArea

    Methods inherited from interface eu.pedu.lib20s.geom.IMovable

    getPosition, getX, getY, moveDown, moveRight, setPosition, setX, setY

    Methods inherited from interface eu.pedu.lib20s.geom.IResizable

    getHeight, getSize, getWidth, setHeight, setSize, setSize, setWidth
  • Field Details

    • DEFAULT_COLOR

      public static final NamedColor DEFAULT_COLOR
      Počáteční barva nakreslené instance v případě, kdy uživatel žádnou požadovanou barvu nezadá - pro elipsu NamedColor.BLUE.
  • Constructor Details

    • Ellipse

      public Ellipse()
      Připraví novou instanci s implicitním umístěním, rozměry a barvou. Instance bude umístěna v levém horním rohu plátna a bude mít implicitní barvu, výšku rovnu kroku a šířku dvojnásobku kroku (tj. implicitně 50x100 bodů).
    • Ellipse

      public Ellipse​(int x, int y, int width, int height)
      Připraví novou instanci se zadanou pozicí a rozměry a implicitní barvou. Pozice instance je přitom definována jako pozice levého horního rohu opsaného obdélníku, a rozměr instance jako rozměr tohoto obdélníku.
      Parameters:
      x - Vodorovná (x-ová) souřadnice instance, x=0 má levý okraj plátna, souřadnice roste doprava
      y - Svislá (y-ová) souřadnice instance, y=0 má horní okraj plátna, souřadnice roste dolů
      width - Šířka vytvářené instance, šířka >= 0
      height - Výška vytvářené instance, výška >= 0
    • Ellipse

      public Ellipse​(int x, int y, int width, int height, NamedColor color)
      Připraví novou instanci se zadanou pozicí, rozměry a barvou. Pozice instance je přitom definována jako pozice levého horního rohu opsaného obdélníku, a rozměr instance jako rozměr tohoto obdélníku.
      Parameters:
      x - Vodorovná (x-ová) souřadnice instance, x=0 má levý okraj plátna, souřadnice roste doprava
      y - Svislá (y-ová) souřadnice instance, y=0 má horní okraj plátna, souřadnice roste dolů
      width - Šířka vytvářené instance, šířka >= 0
      height - Výška vytvářené instance, výška >= 0
      color - Barva vytvářené instance
    • Ellipse

      public Ellipse​(Position position, Size size, NamedColor color)
      Připraví novou instanci se zadanými rozměry, polohou a barvou. Pozice instance je přitom definována jako pozice levého horního rohu opsaného obdélníku, a rozměr instance jako rozměr tohoto obdélníku.
      Parameters:
      position - Pozice vytvářené instance
      size - Rozměr vytvářené instance
      color - Barva vytvářené instance
    • Ellipse

      public Ellipse​(Area area, NamedColor color)
      Připraví novou instanci vyplňující zadanou oblast a mající zadanou barvu. Pozice instance je přitom definována jako pozice levého horního rohu opsaného obdélníku, a rozměr instance jako rozměr tohoto obdélníku.
      Parameters:
      area - Oblast definující pozici a rozměr vytvářené instance
      color - Barva vytvářené instance
  • Method Details

    • getColor

      public final NamedColor getColor()
      Vrátí aktuální barvu instance.
      Specified by:
      getColor in interface IColorable
      Returns:
      Instance třídy NamedColor definující aktuálně nastavenou barvu
    • setColor

      public final void setColor​(NamedColor color)
      Nastaví novou barvu instance.
      Specified by:
      setColor in interface IColorable
      Parameters:
      color - Požadovaná nová barva
    • setPosition

      public void setPosition​(int x, int y)
      Přemístí instanci na zadanou pozici. Pozice instance je přitom definována jako pozice levého horního rohu opsaného obdélníku.
      Specified by:
      setPosition in interface IMovable
      Overrides:
      setPosition in class AMovable
      Parameters:
      x - Nově nastavovaná vodorovná (x-ová) souřadnice instance, x=0 má levý okraj plátna, souřadnice roste doprava
      y - Nově nastavovaná svislá (y-ová) souřadnice instance, y=0 má horní okraj plátna, souřadnice roste dolů
    • setSize

      public void setSize​(int width, int height)
      Nastaví nové rozměry instance. Rozměry instance jsou přitom definovány jako rozměry opsaného obdélníku. Nastavované rozměry musí být nezáporné, místo nulového rozměru se nastaví rozměr rovný jedné.
      Specified by:
      setSize in interface IResizable
      Overrides:
      setSize in class AChangeable
      Parameters:
      width - Nově nastavovaná šířka; šířka >= 0
      height - Nově nastavovaná výška; výška >= 0
    • copy

      public Ellipse copy()
      Vrátí kopii dané instance, tj. stejně velkou a stejně umístěnou instanci stejné barvy.
      Specified by:
      copy in interface ICMShape
      Specified by:
      copy in interface ICopyable
      Specified by:
      copy in interface IShape
      Specified by:
      copy in class AShape
      Returns:
      Požadovaná kopie
    • paint

      public void paint​(Painter painter)
      Prostřednictvím zadaného kreslítka vykreslí obraz instance na plátno.
      Specified by:
      paint in interface ICMPaintable
      Parameters:
      painter - Kreslítko schopné nakreslit instanci
    • forToString

      protected java.lang.String forToString()
      Vrací charakteristiky dané instance do jejího podpisu.
      Overrides:
      forToString in class AChangeable
      Returns:
      String s charakteristikami dané instance