41 #ifndef SWORD25_RENDEROBJECT_H 42 #define SWORD25_RENDEROBJECT_H 44 #include "sword25/kernel/common.h" 45 #include "sword25/kernel/persistable.h" 46 #include "common/rect.h" 47 #include "sword25/gfx/graphicengine.h" 48 #include "sword25/gfx/renderobjectptr.h" 50 #include "common/list.h" 55 class RenderObjectManager;
56 class RenderObjectQueue;
60 class AnimationTemplate;
212 virtual ~RenderObject();
247 virtual void setPos(
int x,
int y);
252 virtual void setX(
int x);
257 virtual void setY(
int y);
267 virtual void setZ(
int z);
309 int getAbsoluteZ()
const {
357 _refreshForced =
true;
367 int getVersion()
const {
371 bool isSolid()
const {
412 static int _nextGlobalVersion;
503 void calcAbsolutePos(int32 &x, int32 &y, int32 &z)
const;
507 int32 calcAbsoluteX()
const;
511 int32 calcAbsoluteY()
const;
513 int32 calcAbsoluteZ()
const;
518 void sortRenderObjects();
522 void validateObject();
529 void updateAbsolutePos();
534 void signalChildChange() {
535 _childChanged =
true;
void forceRefresh()
Stellt sicher, dass das Objekt im nächsten Frame neu gezeichnet wird.
Definition: renderobject.h:356
int getHeight() const
Gibt die Höhe des Objektes zurück.
Definition: renderobject.h:322
bool _visible
Ist true, wenn das Objekt sichtbar ist.
Definition: renderobject.h:399
Ein unbekannter Objekttyp. Diesen Typ sollte kein Renderobjekt annehmen.
Definition: renderobject.h:89
Ein Image. Siehe BS_Bitmap.
Definition: renderobject.h:80
RenderObjectPtr< Panel > toPanel()
Castet das Objekt zu einem BS_Panel-Objekt wenn zulässig.
Definition: renderobject.h:175
virtual void setY(int y)
Setzt die Position des Objektes auf der Y-Achse.
Das Wurzelobjekt. Siehe BS_RenderObjectManager.
Definition: renderobject.h:78
TYPES _type
Der Objekttyp.
Definition: renderobject.h:401
bool _childChanged
Ist true, wenn sich ein Kinderobjekt verändert hat.
Definition: renderobject.h:400
bool getInitSuccess() const
Gibt zurück, ob das Objekt erfolgreich initialisiert wurde.
Definition: renderobject.h:343
RenderObjectPtr< Bitmap > addDynamicBitmap(uint width, uint height)
Erzeugt ein veränderbares Bitmap als Kinderobjekt des Renderobjektes.
int32 _width
Die Breite des Objektes.
Definition: renderobject.h:397
int32 _absoluteY
Die absolute Y-Position des Objektes.
Definition: renderobject.h:395
Definition: renderobjectptr.h:46
RenderObjectPtr< Animation > toAnimation()
Castet das Objekt zu einem BS_Animation-Objekt wenn zulässig.
Definition: renderobject.h:164
TYPES
Definition: renderobject.h:76
RENDEROBJECT_LIST _children
Die Liste der Kinderobjekte nach der Renderreihenfolge geordnet.
Definition: renderobject.h:459
virtual int getY() const
Gibt die Position des Objektes auf der Y-Achse relativ zum Elternobjekt zurück.
Definition: renderobject.h:283
RenderObjectPtr< Animation > addAnimation(const Common::String &fileName)
Erzeugt eine Animation auf Basis einer Animationsdatei als Kinderobjekt des Renderobjektes.
int32 _x
Die X-Position des Objektes relativ zum Eltern-Objekt.
Definition: renderobject.h:391
bool updateObjectState()
Bereitet das Objekt und alle seine Unterobjekte auf einen Rendervorgang vor. Hierbei werden alle Dirt...
RenderObject(RenderObjectPtr< RenderObject > pParent, TYPES type, uint handle=0)
Erzeugt ein neues BS_RenderObject.
int32 _absoluteX
Die absolute X-Position des Objektes.
Definition: renderobject.h:394
int getWidth() const
Gibt die Breite des Objektes zurück.
Definition: renderobject.h:316
Eine farbige Fläche. Siehe BS_Panel.
Definition: renderobject.h:85
Definition: microtiles.h:38
bool _initSuccess
Ist true, wenn Objekt erfolgreich intialisiert werden konnte.
Definition: renderobject.h:402
RenderObjectPtr< RenderObject > _parentPtr
Ein Pointer auf das Elternobjekt.
Definition: renderobject.h:457
Diese Klasse ist für die Verwaltung von BS_RenderObjects zuständig.
Definition: renderobjectmanager.h:78
TYPES getType() const
Gibt den Typ des Objektes zurück.
Definition: renderobject.h:336
uint32 getHandle() const
Gibt das Handle des Objekte zurück.
Definition: renderobject.h:362
bool isVisible() const
Gibt den Sichtbarkeitszustand des Objektes zurück.
Definition: renderobject.h:330
RenderObjectPtr< Panel > addPanel(int width, int height, uint color=BS_RGB(0, 0, 0))
Erzeugt ein neues Farbpanel als Kinderobjekt des Renderobjektes.
const Common::Rect & getBbox() const
Gibt die Bounding-Box des Objektes zurück.
Definition: renderobject.h:350
RenderObjectPtr< Bitmap > addBitmap(const Common::String &fileName)
Erzeugt ein Bitmap als Kinderobjekt des Renderobjektes.
virtual int getAbsoluteY() const
Gibt die absolute Position des Objektes auf der Y-Achse zurück.
Definition: renderobject.h:295
bool addObject(RenderObjectPtr< RenderObject > pObject)
Fügt dem Objekt ein neues Kinderobjekt hinzu.
int32 _y
Die Y-Position des Objektes relativ zum Eltern-Objekt.
Definition: renderobject.h:392
bool render(RectangleList *updateRects, const Common::Array< int > &updateRectsMinZ)
Rendert des Objekt und alle seine Unterobjekte.
virtual int getAbsoluteX() const
Gibt die absolute Position des Objektes auf der X-Achse zurück.
Definition: renderobject.h:289
int32 _height
Die Höhe des Objektes.
Definition: renderobject.h:398
RenderObjectManager * _managerPtr
Ein Pointer auf den BS_RenderObjektManager, der das Objekt verwaltet.
Definition: renderobject.h:420
RenderObjectPtr< Text > toText()
Castet das Object zu einem BS_Text-Objekt wenn zulässig.
Definition: renderobject.h:186
virtual void setZ(int z)
Setzt den Z-Wert des Objektes.
Ein Text. Siehe BS_Text.
Definition: renderobject.h:87
virtual void setPos(int x, int y)
Setzt die Position des Objektes.
Definition: animationtemplate.h:46
Eine Animation. Siehe BS_Animation.
Definition: renderobject.h:83
virtual void setX(int x)
Setzt die Position des Objektes auf der X-Achse.
void deleteAllChildren()
Löscht alle Kinderobjekte.
virtual bool doRender(RectangleList *updateRects)=0
Einschubmethode, die den tatsächlichen Redervorgang durchführt.
virtual void setVisible(bool visible)
Setzt die Sichtbarkeit eine Objektes.
RenderObjectPtr< Bitmap > toBitmap()
Castet das Objekt zu einem BS_Bitmap-Objekt wenn zulässig.
Definition: renderobject.h:153
Definition: list_intern.h:51
RenderObjectManager * getManager() const
Gibt einen Pointer auf den BS_RenderObjektManager zurück, der das Objekt verwaltet.
Definition: renderobject.h:464
Dieses ist die Klasse die sämtliche sichtbaren Objekte beschreibt.
Definition: renderobject.h:72
int32 _z
Der Z-Wert des Objektes relativ zum Eltern-Objekt.
Definition: renderobject.h:393
virtual int getX() const
Gibt die Position des Objektes auf der X-Achse relativ zum Elternobjekt zurück.
Definition: renderobject.h:277
int getZ() const
Gibt den Z-Wert des Objektes relativ zum Elternobjekt zurück.
Definition: renderobject.h:305
RenderObjectPtr< Text > addText(const Common::String &font, const Common::String &text="")
Erzeugt ein Textobjekt als Kinderobjekt des Renderobjektes.
Common::Rect _bbox
Die Bounding-Box des Objektes in Bildschirmkoordinaten.
Definition: renderobject.h:403
Definition: outputpersistenceblock.h:39
Definition: renderobjectmanager.h:66