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 |