Class Rectangle

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

public class Rectangle
extends AShape
implements ICMShape, IColorable
Instance třídy Rectangle představují obdélníky určené pro práci na plátně spravovaném správcem plátna –. instancí třídy CanvasManager. Tyto obdélníky jsou definované svojí pozicí, rozměrem a barvou.
  • 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 obdélník NamedColor.RED.
  • Constructor Details

    • Rectangle

      public Rectangle()
      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ů).
    • Rectangle

      public Rectangle​(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 jejího levého horního rohu.  
      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
    • Rectangle

      public Rectangle​(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 jejího levého horního rohu.  
      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
    • Rectangle

      public Rectangle​(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 jejího levého horního rohu.  
      Parameters:
      position - Pozice vytvářené instance
      size - Rozměr vytvářené instance
      color - Barva vytvářené instance
    • Rectangle

      public Rectangle​(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 jejího levého horního rohu.  .
      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 jejího levého horního rohu.
      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 Rectangle 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 dodaného kreslítka vykreslí obraz své instance.
      Specified by:
      paint in interface ICMPaintable
      Parameters:
      painter - Kreslítko schopné kreslit na plátno ovládané správcem
    • 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