Composition manager. More...
#include <kanzi/resource/composition_manager.hpp>
Public Member Functions | |
CompositionManager (ResourceManager *resourceManager) | |
Constructor. More... | |
virtual | ~CompositionManager () |
Destructor. More... | |
virtual FramebufferSharedPtr | acquireTemporaryCompositionTarget (unsigned int width, unsigned int height, bool alpha, bool depth, bool stencil) |
Request a frame buffer. More... | |
FramebufferSharedPtr | createPersistentCompositionTarget (unsigned int widht, unsigned int height, bool alpha, bool depth, bool stencil) |
Create a framebuffer. More... | |
virtual void | releaseTemporaryCompositionTarget (FramebufferSharedPtr framebuffer) |
Release an earlier framebuffer. More... | |
ResourceManager * | getResourceManager () const |
Access resource manager owning this composition manager. More... | |
void | purge () |
Purge all allocated temporary composition targets. More... | |
Static Public Member Functions | |
static bool | framebufferMatches (const Framebuffer &framebuffer, unsigned int width, unsigned int height, bool alpha, bool depth, bool stencil, float downScaleLimit=0.25f) |
Check if a given framebuffer is an acceptable match for given requirements. More... | |
Composition manager.
Used for storing and managing composition targets and keeping track of their use. The rationale is to minimize memory used by composition targets.
|
inlineexplicit |
Constructor.
resourceManager | Resource manager owning this composition manager. |
|
inlinevirtual |
Destructor.
|
virtual |
Request a frame buffer.
width | Requested width. |
height | Requested height. |
alpha | Is alpha channel requested? |
depth | Is depth buffer requested? |
stencil | Is stencil buffer requested? |
FramebufferSharedPtr kanzi::CompositionManager::createPersistentCompositionTarget | ( | unsigned int | widht, |
unsigned int | height, | ||
bool | alpha, | ||
bool | depth, | ||
bool | stencil | ||
) |
Create a framebuffer.
width | Requested width. |
height | Requested height. |
alpha | Alpha channel requirement. |
depth | Depth buffer requirement. |
stencil | Stencil buffer requirement. |
|
virtual |
Release an earlier framebuffer.
This, released framebuffer may be re-used by successive requests.
framebuffer | Framebuffer to release. |
|
inline |
Access resource manager owning this composition manager.
|
static |
Check if a given framebuffer is an acceptable match for given requirements.
framebuffer | Framebuffer to test. |
width | Requested width. |
height | Requested height. |
alpha | Alpha channel requirement. |
depth | Depth buffer requirement. |
stencil | Stencil buffer requirement. |
void kanzi::CompositionManager::purge | ( | ) |
Purge all allocated temporary composition targets.