Graphics::RenderQueue Class Reference
Top-level manager to queue objects for rendering to a specific target. More...
#include <RenderQueue.h>
Inheritance diagram for Graphics::RenderQueue:
Collaboration diagram for Graphics::RenderQueue:
Public Types | |
using | Completed = Delegate< void(Object *object)> |
Public Member Functions | |
RenderQueue (RenderTarget &target, uint8_t surfaceCount=2, size_t bufferSize=0) | |
Constructor. More... | |
template<typename T > | |
void | render (T *object, const Location &location, typename T::Callback callback=nullptr, uint16_t delayMs=0) |
Add object to the render queue and start rendering if it isn't already. More... | |
template<typename T > | |
void | render (T *object, typename T::Callback callback=nullptr, uint16_t delayMs=0) |
bool | isActive () const |
Detailed Description
Top-level manager to queue objects for rendering to a specific target.
Use this to render single objects, typically Scenes or Drawings
Member Typedef Documentation
◆ Completed
using Graphics::RenderQueue::Completed = Delegate<void(Object* object)> |
Constructor & Destructor Documentation
◆ RenderQueue()
|
inline |
Constructor.
- Parameters
-
target Where to render scenes bufferSize Size of each allocated surface buffer. Specify 0 to use default. surfaceCount Number of surfaces to allocate
Surfaces are created by the target display device.
For minimum RAM usage use a single surface.
For best performance use two, so one can be prepared whilst the other is being written to the screen.
The RenderQueue owns these surfaces.
Member Function Documentation
◆ isActive()
|
inline |
◆ render() [1/2]
template<typename T >
|
inline |
Add object to the render queue and start rendering if it isn't already.
- Parameters
-
object Scene, Drawing, etc. to render location Where to draw the object callback Optional callback to invoke when render is complete delayMs Delay between render completion and callback
◆ render() [2/2]
template<typename T >
|
inline |
The documentation for this class was generated from the following file: