Dieses ist die Klasse die sämtliche sichtbaren Objekte beschreibt. More...
#include <renderobject.h>
Public Types | |
| enum | TYPES { TYPE_ROOT, TYPE_STATICBITMAP, TYPE_DYNAMICBITMAP, TYPE_ANIMATION, TYPE_PANEL, TYPE_TEXT, TYPE_UNKNOWN } |
Public Member Functions | |
| RenderObjectPtr< Bitmap > | addBitmap (const Common::String &fileName) |
| Erzeugt ein Bitmap als Kinderobjekt des Renderobjektes. More... | |
| RenderObjectPtr< Bitmap > | addDynamicBitmap (uint width, uint height) |
| Erzeugt ein veränderbares Bitmap als Kinderobjekt des Renderobjektes. More... | |
| RenderObjectPtr< Animation > | addAnimation (const Common::String &fileName) |
| Erzeugt eine Animation auf Basis einer Animationsdatei als Kinderobjekt des Renderobjektes. More... | |
| RenderObjectPtr< Animation > | addAnimation (const AnimationTemplate &animationTemplate) |
| Erzeugt eine Animation auf Basis eines Animationstemplate als Kinderobjekt des Renderobjektes. More... | |
| RenderObjectPtr< Panel > | addPanel (int width, int height, uint color=BS_RGB(0, 0, 0)) |
| Erzeugt ein neues Farbpanel als Kinderobjekt des Renderobjektes. More... | |
| RenderObjectPtr< Text > | addText (const Common::String &font, const Common::String &text="") |
| Erzeugt ein Textobjekt als Kinderobjekt des Renderobjektes. More... | |
| RenderObjectPtr< Bitmap > | toBitmap () |
| Castet das Objekt zu einem BS_Bitmap-Objekt wenn zulässig. More... | |
| RenderObjectPtr< Animation > | toAnimation () |
| Castet das Objekt zu einem BS_Animation-Objekt wenn zulässig. More... | |
| RenderObjectPtr< Panel > | toPanel () |
| Castet das Objekt zu einem BS_Panel-Objekt wenn zulässig. More... | |
| RenderObjectPtr< Text > | toText () |
| Castet das Object zu einem BS_Text-Objekt wenn zulässig. More... | |
| RenderObject (RenderObjectPtr< RenderObject > pParent, TYPES type, uint handle=0) | |
| Erzeugt ein neues BS_RenderObject. More... | |
| void | preRender (RenderObjectQueue *renderQueue) |
| bool | render (RectangleList *updateRects, const Common::Array< int > &updateRectsMinZ) |
| Rendert des Objekt und alle seine Unterobjekte. More... | |
| bool | updateObjectState () |
| Bereitet das Objekt und alle seine Unterobjekte auf einen Rendervorgang vor. Hierbei werden alle Dirty-Rectangles berechnet und die Renderreihenfolge aktualisiert. More... | |
| void | deleteAllChildren () |
| Löscht alle Kinderobjekte. | |
| virtual void | setPos (int x, int y) |
| Setzt die Position des Objektes. More... | |
| virtual void | setX (int x) |
| Setzt die Position des Objektes auf der X-Achse. More... | |
| virtual void | setY (int y) |
| Setzt die Position des Objektes auf der Y-Achse. More... | |
| virtual void | setZ (int z) |
| Setzt den Z-Wert des Objektes. More... | |
| virtual void | setVisible (bool visible) |
| Setzt die Sichtbarkeit eine Objektes. More... | |
| virtual int | getX () const |
| Gibt die Position des Objektes auf der X-Achse relativ zum Elternobjekt zurück. | |
| virtual int | getY () const |
| Gibt die Position des Objektes auf der Y-Achse relativ zum Elternobjekt zurück. | |
| virtual int | getAbsoluteX () const |
| Gibt die absolute Position des Objektes auf der X-Achse zurück. | |
| virtual int | getAbsoluteY () const |
| Gibt die absolute Position des Objektes auf der Y-Achse zurück. | |
| int | getZ () const |
| Gibt den Z-Wert des Objektes relativ zum Elternobjekt zurück. More... | |
| int | getAbsoluteZ () const |
| int | getWidth () const |
| Gibt die Breite des Objektes zurück. | |
| int | getHeight () const |
| Gibt die Höhe des Objektes zurück. | |
| bool | isVisible () const |
| Gibt den Sichtbarkeitszustand des Objektes zurück. More... | |
| TYPES | getType () const |
| Gibt den Typ des Objektes zurück. | |
| bool | getInitSuccess () const |
| Gibt zurück, ob das Objekt erfolgreich initialisiert wurde. More... | |
| const Common::Rect & | getBbox () const |
| Gibt die Bounding-Box des Objektes zurück. More... | |
| void | forceRefresh () |
| Stellt sicher, dass das Objekt im nächsten Frame neu gezeichnet wird. | |
| uint32 | getHandle () const |
| Gibt das Handle des Objekte zurück. | |
| int | getVersion () const |
| bool | isSolid () const |
| virtual bool | persist (OutputPersistenceBlock &writer) |
| virtual bool | unpersist (InputPersistenceBlock &reader) |
| bool | persistChildren (OutputPersistenceBlock &writer) |
| bool | unpersistChildren (InputPersistenceBlock &reader) |
| RenderObjectPtr< RenderObject > | recreatePersistedRenderObject (InputPersistenceBlock &reader) |
Protected Types | |
| typedef Common::List< RenderObjectPtr< RenderObject > > | RENDEROBJECT_LIST |
| typedef Common::List< RenderObjectPtr< RenderObject > >::iterator | RENDEROBJECT_ITER |
Protected Member Functions | |
| virtual bool | doRender (RectangleList *updateRects)=0 |
| Einschubmethode, die den tatsächlichen Redervorgang durchführt. More... | |
| RenderObjectManager * | getManager () const |
| Gibt einen Pointer auf den BS_RenderObjektManager zurück, der das Objekt verwaltet. | |
| bool | addObject (RenderObjectPtr< RenderObject > pObject) |
| Fügt dem Objekt ein neues Kinderobjekt hinzu. More... | |
Protected Attributes | |
| int32 | _x |
| Die X-Position des Objektes relativ zum Eltern-Objekt. | |
| int32 | _y |
| Die Y-Position des Objektes relativ zum Eltern-Objekt. | |
| int32 | _z |
| Der Z-Wert des Objektes relativ zum Eltern-Objekt. | |
| int32 | _absoluteX |
| Die absolute X-Position des Objektes. | |
| int32 | _absoluteY |
| Die absolute Y-Position des Objektes. | |
| int32 | _absoluteZ |
| int32 | _width |
| Die Breite des Objektes. | |
| int32 | _height |
| Die Höhe des Objektes. | |
| bool | _visible |
| Ist true, wenn das Objekt sichtbar ist. | |
| bool | _childChanged |
| Ist true, wenn sich ein Kinderobjekt verändert hat. | |
| TYPES | _type |
| Der Objekttyp. | |
| bool | _initSuccess |
| Ist true, wenn Objekt erfolgreich intialisiert werden konnte. | |
| Common::Rect | _bbox |
| Die Bounding-Box des Objektes in Bildschirmkoordinaten. | |
| Common::Rect | _oldBbox |
| int32 | _oldX |
| int32 | _oldY |
| int32 | _oldZ |
| bool | _oldVisible |
| int32 | _version |
| bool | _isSolid |
| RenderObjectManager * | _managerPtr |
| Ein Pointer auf den BS_RenderObjektManager, der das Objekt verwaltet. | |
| RenderObjectPtr< RenderObject > | _parentPtr |
| Ein Pointer auf das Elternobjekt. | |
| RENDEROBJECT_LIST | _children |
| Die Liste der Kinderobjekte nach der Renderreihenfolge geordnet. | |
Static Protected Attributes | |
| static int | _nextGlobalVersion |
Dieses ist die Klasse die sämtliche sichtbaren Objekte beschreibt.
Alle anderen sichtbaren Objekte müssen von ihr abgeleitet werden. Diese Klasse erledigt Aufgaben wie: minimales Neuzeichnen, Renderreihenfolge, Objekthierachie. Alle BS_RenderObject Instanzen werden von einem BS_RenderObjektManager in einem Baum verwaltet.
| Enumerator | |
|---|---|
| TYPE_ROOT | Das Wurzelobjekt. Siehe BS_RenderObjectManager. |
| TYPE_STATICBITMAP | Ein Image. Siehe BS_Bitmap. |
| TYPE_ANIMATION | Eine Animation. Siehe BS_Animation. |
| TYPE_PANEL | Eine farbige Fläche. Siehe BS_Panel. |
| TYPE_TEXT | Ein Text. Siehe BS_Text. |
| TYPE_UNKNOWN | Ein unbekannter Objekttyp. Diesen Typ sollte kein Renderobjekt annehmen. |
| Sword25::RenderObject::RenderObject | ( | RenderObjectPtr< RenderObject > | pParent, |
| TYPES | type, | ||
| uint | handle = 0 |
||
| ) |
Erzeugt ein neues BS_RenderObject.
| pKernel | ein Pointer auf den Kernel |
| pParent | ein Pointer auf das Elternobjekt des neuen Objektes im Objektbaum. Der Pointer darf nicht NULL sein. |
| Type | der Objekttyp Der Typ BS_RenderObject::TYPE_ROOT ist nicht zulässig. Wurzelknoten müssen mit dem alternativen Konstruktor erzeugt werden. |
| Handle | das Handle, welches dem Objekt zugewiesen werden soll. Dieser Parameter erzwingt ein bestimmtes Handle für das neue Objekt, oder wählt automatisch ein Handle, wenn der Parameter 0 ist. Ist das gewünschte Handle bereits vergeben, gibt GetInitSuccess() false zurück. Der Standardwert ist 0. |
| RenderObjectPtr<Bitmap> Sword25::RenderObject::addBitmap | ( | const Common::String & | fileName | ) |
Erzeugt ein Bitmap als Kinderobjekt des Renderobjektes.
| FileName | der Dateiname der Quellbilddatei |
| RenderObjectPtr<Bitmap> Sword25::RenderObject::addDynamicBitmap | ( | uint | width, |
| uint | height | ||
| ) |
Erzeugt ein veränderbares Bitmap als Kinderobjekt des Renderobjektes.
| Width | die Breite des Bitmaps |
| Height | die Höhe des Bitmaps |
| RenderObjectPtr<Animation> Sword25::RenderObject::addAnimation | ( | const Common::String & | fileName | ) |
Erzeugt eine Animation auf Basis einer Animationsdatei als Kinderobjekt des Renderobjektes.
| FileName | der Dateiname der Quelldatei |
| RenderObjectPtr<Animation> Sword25::RenderObject::addAnimation | ( | const AnimationTemplate & | animationTemplate | ) |
Erzeugt eine Animation auf Basis eines Animationstemplate als Kinderobjekt des Renderobjektes.
| pAnimationTemplate | ein Pointer auf das Animationstemplate |
| RenderObjectPtr<Panel> Sword25::RenderObject::addPanel | ( | int | width, |
| int | height, | ||
| uint | color = BS_RGB(0, 0, 0) |
||
| ) |
Erzeugt ein neues Farbpanel als Kinderobjekt des Renderobjektes.
| Width | die Breite des Panels |
| Height | die Höhe des Panels |
| Color | die Farbe des Panels. Der Standardwert ist Schwarz (BS_RGB(0, 0, 0)). |
| RenderObjectPtr<Text> Sword25::RenderObject::addText | ( | const Common::String & | font, |
| const Common::String & | text = "" |
||
| ) |
Erzeugt ein Textobjekt als Kinderobjekt des Renderobjektes.
| Font | der Dateiname des zu verwendenen Fonts |
| Text | der anzuzeigende Text. Der Standardwert ist "". |
|
inline |
Castet das Objekt zu einem BS_Bitmap-Objekt wenn zulässig.
|
inline |
Castet das Objekt zu einem BS_Animation-Objekt wenn zulässig.
|
inline |
Castet das Objekt zu einem BS_Panel-Objekt wenn zulässig.
|
inline |
Castet das Object zu einem BS_Text-Objekt wenn zulässig.
| bool Sword25::RenderObject::render | ( | RectangleList * | updateRects, |
| const Common::Array< int > & | updateRectsMinZ | ||
| ) |
Rendert des Objekt und alle seine Unterobjekte.
| bool Sword25::RenderObject::updateObjectState | ( | ) |
Bereitet das Objekt und alle seine Unterobjekte auf einen Rendervorgang vor. Hierbei werden alle Dirty-Rectangles berechnet und die Renderreihenfolge aktualisiert.
|
virtual |
Setzt die Position des Objektes.
| X | die neue X-Koordinate des Objektes relativ zum Elternobjekt. |
| Y | die neue Y-Koordinate des Objektes relativ zum Elternobjekt. |
Reimplemented in Sword25::Animation.
|
virtual |
Setzt die Position des Objektes auf der X-Achse.
| X | die neue X-Koordinate des Objektes relativ zum Elternobjekt. |
Reimplemented in Sword25::Animation.
|
virtual |
Setzt die Position des Objektes auf der Y-Achse.
| Y | die neue Y-Koordinate des Objektes relativ zum Elternobjekt. |
Reimplemented in Sword25::Animation.
|
virtual |
Setzt den Z-Wert des Objektes.
| Z | der neue Z-Wert des Objektes relativ zum Elternobjekt Negative Z-Werte sind nicht zulässig. |
|
virtual |
Setzt die Sichtbarkeit eine Objektes.
| Visible | der neue Sichtbarkeits-Zustand des Objektes true entspricht sichtbar, false entspricht unsichtbar. |
|
inline |
Gibt den Z-Wert des Objektes relativ zum Elternobjekt zurück.
|
inline |
Gibt den Sichtbarkeitszustand des Objektes zurück.
|
inline |
Gibt zurück, ob das Objekt erfolgreich initialisiert wurde.
|
inline |
Gibt die Bounding-Box des Objektes zurück.
|
protectedpure virtual |
Einschubmethode, die den tatsächlichen Redervorgang durchführt.
Diese Methode wird von Render() aufgerufen um das Objekt darzustellen. Diese Methode sollte von allen Klassen implementiert werden, die von BS_RederObject erben, um das Zeichnen umzusetzen.
Implemented in Sword25::Animation, Sword25::Text, Sword25::StaticBitmap, Sword25::Panel, Sword25::DynamicBitmap, and Sword25::RootRenderObject.
|
protected |
Fügt dem Objekt ein neues Kinderobjekt hinzu.
| pObject | ein Pointer auf das einzufügende Objekt |