Dokumentace třídy Grendel::Base::Canvas

Kreslící plocha. Aplikace může využívat více pláten, ale každý objekt plátna (např. tvar může příslušet jen k jedinému plátnu). Pro vytváření pláten použijte továrnu CanvasFactory. ...

Seznam všech členů.

Veřejné metody

void Remember (ICanvasObject newCanvasObject)
 Registrace objektu plátna. Každý objekt plátna musí být registrován (tj. musí volat resp. musí být pro něj volána tato metoda). Typicky se tak děje v konstruktoru.
void Forget (ICanvasObject fadingObject)
 Odregistrování objektu plátna (objekt je parametrem metody). Objekt musí být přirozeně předtím zaregistrován (viz Canvas.Remember).
void Display (double animationInterval)
 Zobrazuje plátno v okně (pokud již neexistuje) a startuje animaci. Zbytek aplikace je prováděn v rámci událostní smyčky, tj. volání této metody nikdy nekončí Veškeré další aktivity programu musí být vykonávány jako reakce na myší a animační události.
void Display ()
 / Zobrazuje plátno v okně (pokud již neexistuje) a startuje animaci s animačním intervalem 0,1 vteřiny. Zbytek aplikace je prováděn v rámci událostní smyčky, tj. volání této metody nikdy nekončí Veškeré další aktivity programu musí být vykonávány jako reakce na myší a animační události.
IBitmap LoadBitmap (Stream bitmapStream)
 Načítá bitmapu ze datového proudu (tj. například ze souboru). Podporované formáty závisí na použité knihovně, podpora formátů JPG resp. PNG je však všeobecná.
double TextHeight (string text, Font font)
 Výška textu zobrazeného příslušným řezem písma v pixelech.
double TextWidth (string text, Font f)
 Šířka textu zobrazeného příslušným řezem písma v pixelech.
void DrawLine (IShape shape, Position startPointLocation, Position endPointLocation, double lineWidth, Color color)
 Kreslí na plátno úsečku z bodu startPointLocation do bodu endPointPointLocation. Úsečka musí být kreslena v rámci metody IShape.Painting() určitého tvaru. Tento tvar musí být předán jako první parametr. Pozice jsou relativní ke vztažnému bodu tvaru.
void DrawLine (IShape shape, Position startPointLocation, Position endPointLocation, Color color)
 Zkrácená verze volání Canvas.DrawLine(IShape, Position, Position, int, Color) s šířkou rovnou jednomu pixelu.
void DrawCircle (IShape shape, Position centerLocation, double r, double lineWidth, Color color)
 Kreslí na plátno kružnici ze středem na pozici centerLocation a poloměrem r. Kružnice musí být kreslena v rámci metody IShape.Painting() určitého tvaru. Tento tvar musí být předán jako první parametr. Pozice jsou relativní ke vztažnému bodu tvaru.
void DrawText (IShape shape, Position topLeftLocation, string text, Font font, Color color)
 Kreslí na plátno text daným fontem a danou barvou. Text musí být kreslen v rámci metody IShape.Painting() určitého tvaru. Tento tvar musí být předán jako první parametr. Pozice jsou relativní ke vztažnému bodu tvaru.
void DrawText (IShape shape, Position topLeftLocation, string text)
void DrawRectangle (IShape shape, Position topLeftLocation, Position bottomRightLocation, double width, Color color)
void DrawRectangle (IShape shape, Position topLeftLocation, Position bottomRigthLocation, Color color)
 Zkrácená verze metody Canvas.DrawRectangle(IShape, Position, Position, double, Color) s šířkou linek jeden pixel.
void DrawFilledTriangle (IShape shape, Position p1Location, Position p2Location, Position p3Location, Color color)
 Kreslí vyplněný trojúhelník (vrcholy zadány jednotlivě). Trojúhelník.
void DrawFilledTriangle (IShape shape, Position[] cornerLocations, Color color)
 Kreslí vyplněný trojúhelník (vrcholy zadány v poli). Trojúhelník.
void DrawBitmap (IShape shape, Position topLeftLocation, IBitmap bitmap)
 Kreslí bitmapu. Objekt bitmapy lze získat voláním metody Canvas.LoadBitmap(Stream). Bitmapa.
void DrawBezierCurve (IShape shape, Position p0, Position p1, Position p2, Position p3, double widthOfCurve, Color color)
 Kreslí beziérovou kubiku (křivku) určenou čtyřmi body. Křivka.
IEnumerator< T > ObjectsOfType< T > ()
void AddEventListener (IEventListener listener)
 registruje naslouchače myších událostí (Canvas.MouseEventTarget)
void RemoveEventListener (IEventListener listener)
 odregistruje naslouchače myších událostí (Canvas.MouseEventTarget)

Chráněné metody

virtual void Repainting ()
virtual void MouseEventDispatcher (MouseButtons buttons, Position absolutePosition)
virtual void Animation ()

Vlastnosti

int Width [get]
int Height [get]
double AnimationInterval [get]
int Frame [get]
MouseEventTarget MouseEventTarget [get, set]
IEnumerator< ICanvasObjectCanvasObjects [get]
IEnumerator< IShapeShapes [get]


Detailní popis

Kreslící plocha. Aplikace může využívat více pláten, ale každý objekt plátna (např. tvar může příslušet jen k jedinému plátnu). Pro vytváření pláten použijte továrnu CanvasFactory.

Definice je uvedena na řádku 90 v souboru Canvas.cs.


Dokumentace k metodám

void Grendel::Base::Canvas::Remember ( ICanvasObject  newCanvasObject  )  [inline]

Registrace objektu plátna. Každý objekt plátna musí být registrován (tj. musí volat resp. musí být pro něj volána tato metoda). Typicky se tak děje v konstruktoru.

Definice je uvedena na řádku 174 v souboru Canvas.cs.

void Grendel::Base::Canvas::Forget ( ICanvasObject  fadingObject  )  [inline]

Odregistrování objektu plátna (objekt je parametrem metody). Objekt musí být přirozeně předtím zaregistrován (viz Canvas.Remember).

Definice je uvedena na řádku 191 v souboru Canvas.cs.

void Grendel::Base::Canvas::Display ( double  animationInterval  )  [inline]

Zobrazuje plátno v okně (pokud již neexistuje) a startuje animaci. Zbytek aplikace je prováděn v rámci událostní smyčky, tj. volání této metody nikdy nekončí Veškeré další aktivity programu musí být vykonávány jako reakce na myší a animační události.

Parametry:
animationInterval animační interval ve vteřinách. Hodnoty pod 0.1 sekundy nejsou příliš využitelné (doba překreslení může být vyšší). Animaci lze potlačit použitím extrémně dlouhého animačního intervalu (např. double.MaxValue).

Definice je uvedena na řádku 213 v souboru Canvas.cs.

void Grendel::Base::Canvas::Display (  )  [inline]

/ Zobrazuje plátno v okně (pokud již neexistuje) a startuje animaci s animačním intervalem 0,1 vteřiny. Zbytek aplikace je prováděn v rámci událostní smyčky, tj. volání této metody nikdy nekončí Veškeré další aktivity programu musí být vykonávány jako reakce na myší a animační události.

Definice je uvedena na řádku 228 v souboru Canvas.cs.

virtual void Grendel::Base::Canvas::Repainting (  )  [inline, protected, virtual]

Definice je uvedena na řádku 232 v souboru Canvas.cs.

IBitmap Grendel::Base::Canvas::LoadBitmap ( Stream  bitmapStream  )  [inline]

Načítá bitmapu ze datového proudu (tj. například ze souboru). Podporované formáty závisí na použité knihovně, podpora formátů JPG resp. PNG je však všeobecná.

Definice je uvedena na řádku 243 v souboru Canvas.cs.

double Grendel::Base::Canvas::TextHeight ( string  text,
 Font  font 
) [inline]

Výška textu zobrazeného příslušným řezem písma v pixelech.

Definice je uvedena na řádku 263 v souboru Canvas.cs.

double Grendel::Base::Canvas::TextWidth ( string  text,
 Font  f 
) [inline]

Šířka textu zobrazeného příslušným řezem písma v pixelech.

Definice je uvedena na řádku 270 v souboru Canvas.cs.

void Grendel::Base::Canvas::DrawLine ( IShape  shape,
Position  startPointLocation,
Position  endPointLocation,
double  lineWidth,
Color  color 
) [inline]

Kreslí na plátno úsečku z bodu startPointLocation do bodu endPointPointLocation. Úsečka musí být kreslena v rámci metody IShape.Painting() určitého tvaru. Tento tvar musí být předán jako první parametr. Pozice jsou relativní ke vztažnému bodu tvaru.

Definice je uvedena na řádku 279 v souboru Canvas.cs.

void Grendel::Base::Canvas::DrawLine ( IShape  shape,
Position  startPointLocation,
Position  endPointLocation,
Color  color 
) [inline]

Zkrácená verze volání Canvas.DrawLine(IShape, Position, Position, int, Color) s šířkou rovnou jednomu pixelu.

Definice je uvedena na řádku 292 v souboru Canvas.cs.

void Grendel::Base::Canvas::DrawCircle ( IShape  shape,
Position  centerLocation,
double  r,
double  lineWidth,
Color  color 
) [inline]

Kreslí na plátno kružnici ze středem na pozici centerLocation a poloměrem r. Kružnice musí být kreslena v rámci metody IShape.Painting() určitého tvaru. Tento tvar musí být předán jako první parametr. Pozice jsou relativní ke vztažnému bodu tvaru.

Definice je uvedena na řádku 302 v souboru Canvas.cs.

void Grendel::Base::Canvas::DrawText ( IShape  shape,
Position  topLeftLocation,
string  text,
Font  font,
Color  color 
) [inline]

Kreslí na plátno text daným fontem a danou barvou. Text musí být kreslen v rámci metody IShape.Painting() určitého tvaru. Tento tvar musí být předán jako první parametr. Pozice jsou relativní ke vztažnému bodu tvaru.

Definice je uvedena na řádku 315 v souboru Canvas.cs.

void Grendel::Base::Canvas::DrawText ( IShape  shape,
Position  topLeftLocation,
string  text 
) [inline]

Mírně zjednodušená verze metody Canvas.DrawText(IShape, Position, string, Font, Color). Kreslí text strojopisem a černou barvou.

Definice je uvedena na řádku 329 v souboru Canvas.cs.

void Grendel::Base::Canvas::DrawRectangle ( IShape  shape,
Position  topLeftLocation,
Position  bottomRightLocation,
double  width,
Color  color 
) [inline]

Kreslí obdélník mezi určenými pozicemi. Na rozdíl od kresby pomocí čtyř úseček zajišťuje hladké navázání stran. Obdélník musí být kreslen v rámci metody IShape.Painting() určitého tvaru. Tento tvar musí být předán jako první parametr. Pozice jsou relativní ke vztažnému bodu tvaru.

Definice je uvedena na řádku 339 v souboru Canvas.cs.

void Grendel::Base::Canvas::DrawRectangle ( IShape  shape,
Position  topLeftLocation,
Position  bottomRigthLocation,
Color  color 
) [inline]

Zkrácená verze metody Canvas.DrawRectangle(IShape, Position, Position, double, Color) s šířkou linek jeden pixel.

Definice je uvedena na řádku 355 v souboru Canvas.cs.

void Grendel::Base::Canvas::DrawFilledTriangle ( IShape  shape,
Position  p1Location,
Position  p2Location,
Position  p3Location,
Color  color 
) [inline]

Kreslí vyplněný trojúhelník (vrcholy zadány jednotlivě). Trojúhelník.

musí být kreslen v rámci metody IShape.Painting() určitého tvaru. Tento tvar musí být předán jako první parametr. Pozice jsou relativní ke vztažnému bodu tvaru.

Definice je uvedena na řádku 365 v souboru Canvas.cs.

void Grendel::Base::Canvas::DrawFilledTriangle ( IShape  shape,
Position[]  cornerLocations,
Color  color 
) [inline]

Kreslí vyplněný trojúhelník (vrcholy zadány v poli). Trojúhelník.

musí být kreslen v rámci metody IShape.Painting() určitého tvaru. Tento tvar musí být předán jako první parametr. Pozice jsou relativní ke vztažnému bodu tvaru.

Definice je uvedena na řádku 380 v souboru Canvas.cs.

void Grendel::Base::Canvas::DrawBitmap ( IShape  shape,
Position  topLeftLocation,
IBitmap  bitmap 
) [inline]

Kreslí bitmapu. Objekt bitmapy lze získat voláním metody Canvas.LoadBitmap(Stream). Bitmapa.

musí být kreslena v rámci metody IShape.Painting() určitého tvaru. Tento tvar musí být předán jako první parametr. Pozice jsou relativní ke vztažnému bodu tvaru.

Definice je uvedena na řádku 392 v souboru Canvas.cs.

void Grendel::Base::Canvas::DrawBezierCurve ( IShape  shape,
Position  p0,
Position  p1,
Position  p2,
Position  p3,
double  widthOfCurve,
Color  color 
) [inline]

Kreslí beziérovou kubiku (křivku) určenou čtyřmi body. Křivka.

musí být kreslena v rámci metody IShape.Painting() určitého tvaru. Tento tvar musí být předán jako první parametr. Pozice jsou relativní ke vztažnému bodu tvaru.

Definice je uvedena na řádku 404 v souboru Canvas.cs.

IEnumerator<T> Grendel::Base::Canvas::ObjectsOfType< T > (  )  [inline]

vrací iterátor určený pro procházení všech objektů určitého (pod)typu T na plátně. Procházení se děje přes kopii seznamu (nemůže nastat kolize, ale výčet nemusí být aktuální).

Omezení typů (Type Constraints)
T :ICanvasObject 

virtual void Grendel::Base::Canvas::MouseEventDispatcher ( MouseButtons  buttons,
Position  absolutePosition 
) [inline, protected, virtual]

Definice je uvedena na řádku 496 v souboru Canvas.cs.

virtual void Grendel::Base::Canvas::Animation (  )  [inline, protected, virtual]

Definice je uvedena na řádku 516 v souboru Canvas.cs.

void Grendel::Base::Canvas::AddEventListener ( IEventListener  listener  )  [inline]

registruje naslouchače myších událostí (Canvas.MouseEventTarget)

Definice je uvedena na řádku 531 v souboru Canvas.cs.

void Grendel::Base::Canvas::RemoveEventListener ( IEventListener  listener  )  [inline]

odregistruje naslouchače myších událostí (Canvas.MouseEventTarget)

Parametry:
listener [IEventListener] listener, which does not already want to receive events.

Definice je uvedena na řádku 541 v souboru Canvas.cs.


Dokumentace k vlastnosti

int Grendel::Base::Canvas::Width [get]

šířka plátna (v pixelech)

Definice je uvedena na řádku 104 v souboru Canvas.cs.

int Grendel::Base::Canvas::Height [get]

šířka plátna (v pixelech)

Definice je uvedena na řádku 113 v souboru Canvas.cs.

double Grendel::Base::Canvas::AnimationInterval [get]

animační interval (v sekundách). Nelze jej změnit (počáteční se nastavuje v metodě Canvas.Display())

Definice je uvedena na řádku 123 v souboru Canvas.cs.

int Grendel::Base::Canvas::Frame [get]

ičíslo aktuálního animačného snímku (je inkrementován od nuly)

Definice je uvedena na řádku 142 v souboru Canvas.cs.

MouseEventTarget Grendel::Base::Canvas::MouseEventTarget [get, set]

aktuální nastavení doručování událostí myši Viz T:MouseEventTarget

Definice je uvedena na řádku 152 v souboru Canvas.cs.

IEnumerator<ICanvasObject> Grendel::Base::Canvas::CanvasObjects [get]

vrací iterátor určený pro procházení všech objektů na plátně. Procházení se děje přes kopii seznamu (nemůže nastat kolize, ale výčet nemusí být aktuální).

Definice je uvedena na řádku 417 v souboru Canvas.cs.

IEnumerator<IShape> Grendel::Base::Canvas::Shapes [get]

vrací iterátor určený pro procházení všech viditelných tvarů na plátně. Procházení se děje přes kopii seznamu (nemůže nastat kolize, ale výčet nemusí být aktuální).

Definice je uvedena na řádku 437 v souboru Canvas.cs.


Dokumentace pro tuto třídu byla generována z následujícího souboru:

Generováno Sun Jul 12 20:34:42 2009 pro projekt Grafická knihovna GRENDEL programem  doxygen 1.5.5