ScummVM API documentation
Sword25::RenderObjectManager Class Reference

Diese Klasse ist für die Verwaltung von BS_RenderObjects zuständig. More...

#include <renderobjectmanager.h>

Inheritance diagram for Sword25::RenderObjectManager:
Sword25::Persistable

Public Member Functions

 RenderObjectManager (int width, int height, int framebufferCount)
 Erzeugt ein neues BS_RenderObjectManager-Objekt. More...
 
void startFrame ()
 Initialisiert den Manager für einen neuen Frame. More...
 
bool render ()
 Rendert alle Objekte die sich während des letzten Aufrufes von Render() verändert haben. More...
 
RenderObjectPtr< RenderObjectgetTreeRoot ()
 Gibt einen Pointer auf die Wurzel des Objektbaumes zurück.
 
void attatchTimedRenderObject (RenderObjectPtr< TimedRenderObject > pRenderObject)
 Fügt ein BS_TimedRenderObject in die Liste der zeitabhängigen Render-Objekte. More...
 
void detatchTimedRenderObject (RenderObjectPtr< TimedRenderObject > pRenderObject)
 Entfernt ein BS_TimedRenderObject aus der Liste für zeitabhängige Render-Objekte.
 
bool persist (OutputPersistenceBlock &writer) override
 
bool unpersist (InputPersistenceBlock &reader) override
 

Detailed Description

Diese Klasse ist für die Verwaltung von BS_RenderObjects zuständig.

Sie sorgt dafür, dass die BS_RenderObjects in der richtigen Reihenfolge gerendert werden und ermöglicht den Zugriff auf die BS_RenderObjects über einen String.

Constructor & Destructor Documentation

◆ RenderObjectManager()

Sword25::RenderObjectManager::RenderObjectManager ( int  width,
int  height,
int  framebufferCount 
)

Erzeugt ein neues BS_RenderObjectManager-Objekt.

Parameters
Widthdie horizontale Bildschirmauflösung in Pixeln
Heightdie vertikale Bildschirmauflösung in Pixeln
DieAnzahl an Framebuffern, die eingesetzt wird (Backbuffer + Primary).

Member Function Documentation

◆ startFrame()

void Sword25::RenderObjectManager::startFrame ( )

Initialisiert den Manager für einen neuen Frame.

Remarks
Alle Veränderungen an Objekten müssen nach einem Aufruf dieser Methode geschehen, damit sichergestellt ist, dass diese visuell umgesetzt werden.
Mit dem Aufruf dieser Methode werden die Rückgabewerte von GetUpdateRects() und GetUpdateRectCount() auf ihre Startwerte zurückgesetzt. Wenn man also mit diesen Werten arbeiten möchten, muss man dies nach einem Aufruf von Render() und vor einem Aufruf von StartFrame() tun.

◆ render()

bool Sword25::RenderObjectManager::render ( )

Rendert alle Objekte die sich während des letzten Aufrufes von Render() verändert haben.

Returns
Gibt false zurück, falls das Rendern fehlgeschlagen ist.

◆ attatchTimedRenderObject()

void Sword25::RenderObjectManager::attatchTimedRenderObject ( RenderObjectPtr< TimedRenderObject pRenderObject)

Fügt ein BS_TimedRenderObject in die Liste der zeitabhängigen Render-Objekte.

Alle Objekte die sich in dieser Liste befinden werden vor jedem Frame über die seit dem letzten Frame vergangene Zeit informiert, so dass sich ihren Zustand zeitabhängig verändern können.

Parameters
RenderObjectdas einzufügende BS_TimedRenderObject

The documentation for this class was generated from the following file: