Class Line

java.lang.Object
eu.pedu.lib20s.geom.ANamed
eu.pedu.lib20s.geom.AMovable
eu.pedu.lib20s.canvasmanager.Line
All Implemented Interfaces:
IAdaptable, ICMPaintable, IMovable, IColorable, ICopyable

public class Line
extends AMovable
implements ICopyable, IAdaptable, IColorable, ICMPaintable
Instance třídy Line představují jednoduché čáry zobrazitelné na plátně spravovaném správcem plátna. Čára je určena svými krajními body, přičemž souřadnice počátečního bodu je současně považována za pozici celé instance.
  • 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 čáru NamedColor.BLACK.
    protected int xEnd
    Bodová x-ová souřadnice konce.
    protected int yEnd
    Bodová y-ová souřadnice konce.

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

    CM
  • Constructor Summary

    Constructors 
    Constructor Description
    Line()
    Připraví novou instanci s implicitním umístěním, rozměry a barvou.
    Line​(int x, int y, int xEnd, int yEnd)
    Připraví novou instanci se zadanou pozicí a rozměry a implicitní barvou.
    Line​(int x, int y, int xEnd, int yEnd, NamedColor color)
    Připraví novou instanci se zadanou pozicí, rozměry a barvou.
    Line​(Position start, Position end)
    Připraví instanci se zadanou pozicí a velikostí a implicitní barvou.
    Line​(Position start, Position end, NamedColor color)
    Připraví instanci se zadanou pozicí, velikostí a barvou.
  • Method Summary

    Modifier and Type Method Description
    void connect​(int xStart, int yStart, int xEnd, int yEnd)
    Přesune instanci tak, aby spojila zadané body.
    Line copy()
    Vrátí kopii daného tvaru, tj. stejný tvar, stejně velký, stejně umístěný a se stejnou barvou.
    java.lang.String forToString()
    Vrací charakteristiky dané instance do jejího podpisu.
    NamedColor getColor()
    Vrátí aktuální barvu instance.
    Position getEndPosition()
    Vrátí pozici koncového bodu instance.
    int getEndX()
    Vrátí x-ovou souřadnici koncového bodu instance.
    int getEndY()
    Vrátí y-ovou souřadnici koncového bodu 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 setEndPosition​(int xEnd, int yEnd)
    Nastaví pozici koncového bodu instance.
    void setEndPosition​(Position endPosition)
    Nastaví pozici koncového bodu instance.
    void setPosition​(int x, int y)
    Přemístí instanci na zadanou pozici.
    void stepChanged​(int oldStep, int newStep)
    Změní pozici a rozměr instance v závislosti na zadané změně kroku plátna.

    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.IMovable

    getPosition, moveDown, moveRight, setPosition, setX, setY
  • 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 čáru NamedColor.BLACK.
    • xEnd

      protected int xEnd
      Bodová x-ová souřadnice konce.
    • yEnd

      protected int yEnd
      Bodová y-ová souřadnice konce.
  • Constructor Details

    • Line

      public Line()
      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, Končit bude ve středu plátna.
    • Line

      public Line​(int x, int y, int xEnd, int yEnd)
      Připraví novou instanci se zadanou pozicí a rozměry a implicitní barvou.
      Parameters:
      x - Vodorovná (x-ová) souřadnice instance (jejího počátku), x=0 má levý okraj plátna, souřadnice roste doprava
      y - Svislá (y-ová) souřadnice instance (jejího počátku), y=0 má horní okraj plátna, souřadnice roste dolů
      xEnd - x-ová souřadnice koncového bodu instance
      yEnd - y-ová souřadnice koncového bodu instance
    • Line

      public Line​(Position start, Position end)
      Připraví instanci se zadanou pozicí a velikostí a implicitní barvou. Pozice instance je definována pozicí jejího počátečního bodu.
      Parameters:
      start - Pozice počátečního bodu
      end - Pozice koncového bodu
    • Line

      public Line​(Position start, Position end, NamedColor color)
      Připraví instanci se zadanou pozicí, velikostí a barvou. Pozice instance je definována pozicí jejího počátečního bodu.
      Parameters:
      start - Pozice počátečního bodu
      end - Pozice koncového bodu
      color - Barva instance
    • Line

      public Line​(int x, int y, int xEnd, int yEnd, NamedColor color)
      Připraví novou instanci se zadanou pozicí, rozměry a barvou.
      Parameters:
      x - Vodorovná (x-ová) souřadnice instance (jejího počátku), x=0 má levý okraj plátna, souřadnice roste doprava
      y - Svislá (y-ová) souřadnice instance (jejího počátku), y=0 má horní okraj plátna, souřadnice roste dolů
      xEnd - x-ová souřadnice koncového bodu instance
      yEnd - y-ová souřadnice koncového bodu instance
      color - Barva vytvářené instance
  • Method Details

    • getColor

      public NamedColor getColor()
      Vrátí aktuální barvu instance.
      Specified by:
      getColor in interface IColorable
      Returns:
      Aktuální barva instance
    • setColor

      public 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ů
    • getEndX

      public int getEndX()
      Vrátí x-ovou souřadnici koncového bodu instance.
      Returns:
      Aktuální vodorovná (x-ová) souřadnice koncového bodu instance, x=0 má levý okraj plátna, souřadnice roste doprava
    • getEndY

      public int getEndY()
      Vrátí y-ovou souřadnici koncového bodu instance.
      Returns:
      Aktuální svislá (y-ová) souřadnice koncového bodu instance, y=0 má horní okraj plátna, souřadnice roste dolů
    • getEndPosition

      public Position getEndPosition()
      Vrátí pozici koncového bodu instance.
      Returns:
      Instance třídy Position s aktuální pozicí koncového bodu
    • setEndPosition

      public void setEndPosition​(Position endPosition)
      Nastaví pozici koncového bodu instance.
      Parameters:
      endPosition - Pozice koncového bodu.
    • setEndPosition

      public void setEndPosition​(int xEnd, int yEnd)
      Nastaví pozici koncového bodu instance.
      Parameters:
      xEnd - Vodorovná souřadnice koncového bodu.
      yEnd - Svislá souřadnice koncového bodu.
    • connect

      public void connect​(int xStart, int yStart, int xEnd, int yEnd)
      Přesune instanci tak, aby spojila zadané body.
      Parameters:
      xStart - Vodorovná (x-ová) souřadnice instance počátku
      yStart - Svislá (y-ová) souřadnice instance počátku
      xEnd - x-ová souřadnice koncového bodu
      yEnd - y-ová souřadnice koncového bodu
    • copy

      public Line copy()
      Vrátí kopii daného tvaru, tj. stejný tvar, stejně velký, stejně umístěný a se stejnou barvou.
      Specified by:
      copy in interface ICopyable
      Returns:
      Požadovaná kopie
    • forToString

      public java.lang.String forToString()
      Vrací charakteristiky dané instance do jejího podpisu.
      Overrides:
      forToString in class AMovable
      Returns:
      String s charakteristikami dané instance
    • 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
    • stepChanged

      public void stepChanged​(int oldStep, int newStep)
      Změní pozici a rozměr instance v závislosti na zadané změně kroku plátna.
      Specified by:
      stepChanged in interface IAdaptable
      Parameters:
      oldStep - Původní velikost kroku.
      newStep - Nově nastavená velikost kroku.