Package eu.pedu.lib20s.canvasmanager
Class Rectangle
java.lang.Object
eu.pedu.lib20s.geom.ANamed
eu.pedu.lib20s.geom.AMovable
eu.pedu.lib20s.geom.AChangeable
eu.pedu.lib20s.geom.AShape
eu.pedu.lib20s.canvasmanager.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 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 obdélníkNamedColor.RED
. -
Constructor Summary
Constructors Constructor Description Rectangle()
Připraví novou instanci s implicitním umístěním, rozměry a barvou.Rectangle(int x, int y, int width, int height)
Připraví novou instanci se zadanou pozicí a rozměry a implicitní barvou.Rectangle(int x, int y, int width, int height, NamedColor color)
Připraví novou instanci se zadanou pozicí, rozměry a barvou.Rectangle(Area area, NamedColor color)
Připraví novou instanci vyplňující zadanou oblast a mající zadanou barvu.Rectangle(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 Rectangle
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 dodaného kreslítka vykreslí obraz své instance.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 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface eu.pedu.lib20s.geom.IMovable
getPosition, getX, getY, moveDown, moveRight, setPosition, setX, setY
-
Field Details
-
DEFAULT_COLOR
Počáteční barva nakreslené instance v případě, kdy uživatel žádnou požadovanou barvu nezadá - pro obdélníkNamedColor.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 dopravay
- Svislá (y-ová) souřadnice instance, y=0 má horní okraj plátna, souřadnice roste dolůwidth
- Šířka vytvářené instance, šířka >= 0height
- Výška vytvářené instance, výška >= 0
-
Rectangle
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 dopravay
- Svislá (y-ová) souřadnice instance, y=0 má horní okraj plátna, souřadnice roste dolůwidth
- Šířka vytvářené instance, šířka > 0height
- Výška vytvářené instance, výška > 0color
- Barva vytvářené instance
-
Rectangle
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é instancesize
- Rozměr vytvářené instancecolor
- Barva vytvářené instance
-
Rectangle
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é instancecolor
- Barva vytvářené instance
-
-
Method Details
-
getColor
Vrátí aktuální barvu instance.- Specified by:
getColor
in interfaceIColorable
- Returns:
- Instance třídy
NamedColor
definující aktuálně nastavenou barvu
-
setColor
Nastaví novou barvu instance.- Specified by:
setColor
in interfaceIColorable
- 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 interfaceIMovable
- Overrides:
setPosition
in classAMovable
- Parameters:
x
- Nově nastavovaná vodorovná (x-ová) souřadnice instance, x=0 má levý okraj plátna, souřadnice roste dopravay
- 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 interfaceIResizable
- Overrides:
setSize
in classAChangeable
- Parameters:
width
- Nově nastavovaná šířka; šířka >= 0height
- Nově nastavovaná výška; výška >= 0
-
copy
Vrátí kopii dané instance, tj. stejně velkou a stejně umístěnou instanci stejné barvy. -
paint
Prostřednictvím dodaného kreslítka vykreslí obraz své instance.- Specified by:
paint
in interfaceICMPaintable
- 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 classAChangeable
- Returns:
- String s charakteristikami dané instance
-