Package eu.pedu.lib20s.canvas
Class Ellipse
java.lang.Object
eu.pedu.lib20s.canvas.Ellipse
- All Implemented Interfaces:
ICanvasPaintable
,ICanvasShape
,IFlexible
,IChangeable
,IMovable
,IResizable
,IShape
,IColorable
,ICopyable
public class Ellipse extends java.lang.Object implements ICanvasShape, IColorable
Instance třídy
Elipsa
představují elipsy
určené pro práci na virtuálním plátně
při prvním seznámení s třídami a objekty
a 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 elipsuNamedColor.BLUE
.protected int
height
The instance height.protected int
width
The instance width. -
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.NamedColor
getColor()
Vrátí aktuální barvu instance.int
getHeight()
Vrátí výšku instance v bodech.java.lang.String
getName()
Vrátí název instance.int
getWidth()
Vrátí šířku instance v bodech.int
getX()
Vrátí x-ovou (vodorovnou) souřadnici pozice instance, tj. vodorovnou souřadnici levého horního rohu opsaného obdélníku.int
getY()
Vrátí y-ovou (svislou) souřadnici pozice instance, tj. svislou souřadnici levého horního rohu opsaného obdélníku.void
paint()
Zobrazí svoji instanci, tj.vykreslí její obraz na plátno.void
rubOut()
Smaže obraz své instance z plátna (nakreslí ji barvou pozadí plátna).void
setColor(NamedColor color)
Nastaví novou barvu instance.void
setName(java.lang.String name)
Nastaví nový název 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.java.lang.String
toString()
Vrátí textový podpis instance, tj. její řetězcovou reprezentaci.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, 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 elipsuNamedColor.BLUE
. -
width
protected int widthThe instance width. -
height
protected int heightThe instance height.
-
-
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 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
-
Ellipse
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 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
-
Ellipse
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é instancesize
- Rozměr vytvářené instancecolor
- Barva vytvářené instance
-
Ellipse
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é 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
-
getName
public java.lang.String getName()Vrátí název instance. Výchozí podoba názvu názvu sestává z názvu třídy následovaného znakem podtržení a ID instance. Název je ale možné kdykoliv změnit.- Returns:
- Název instance
-
setName
public void setName(java.lang.String name)Nastaví nový název instance.- Parameters:
name
- Nový název instance
-
getX
public int getX()Vrátí x-ovou (vodorovnou) souřadnici pozice instance, tj. vodorovnou souřadnici levého horního rohu opsaného obdélníku. -
getY
public int getY()Vrátí y-ovou (svislou) souřadnici pozice instance, tj. svislou souřadnici levého horního rohu opsaného obdélníku. -
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 interfaceIMovable
- 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ů
-
getWidth
public int getWidth()Vrátí šířku instance v bodech. Šířka instance jsou přitom definována jako šířka opsaného obdélníku.- Specified by:
getWidth
in interfaceIResizable
- Returns:
- Aktuální šířka instance v bodech
-
getHeight
public int getHeight()Vrátí výšku instance v bodech. Výška instance jsou přitom definována jako výška opsaného obdélníku.- Specified by:
getHeight
in interfaceIResizable
- Returns:
- Aktuální výška instance v bodech
-
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
- 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. -
toString
public java.lang.String toString()Vrátí textový podpis instance, tj. její řetězcovou reprezentaci. Používá se především při ladění.- Overrides:
toString
in classjava.lang.Object
- Returns:
- Název instance následovaný jejími souřadnicemi, rozměry a barvou
-
paint
public void paint()Zobrazí svoji instanci, tj.vykreslí její obraz na plátno.- Specified by:
paint
in interfaceICanvasPaintable
-
rubOut
public final void rubOut()Smaže obraz své instance z plátna (nakreslí ji barvou pozadí plátna).- Specified by:
rubOut
in interfaceICanvasPaintable
-