Scaleform::Render::ContextImpl::Context
class Context;
Context is a thread-safe rendering support system that manages lifetime of a rendering tree which can be modified in one thread while being used for rendering in another. The rendering tree consists of Entry derived nodes that hold rendering information and references to other nodes.
The main feature of the context is its ability to take a snapshot of the rendering tree by calling Context::Capture(). This method is typically called by the Advance thread after it is done modifying the tree nodes. After the first Capture has taken place, the rendering thread can get access to the last captured snapshot by calling NextCapture(), after which point it can traverse the tree and use it for rendering. In the mean time, the Advance thread is free to proceed modifying the rendering tree for the next frame capture. Since the Context maintains multiple logically independent snapshots of the tree, both threads can work without interfering with each other.
Enumeration |
Description |
The mode of the capture on the rendering frame. |
Method |
Description |
Forces the Display thread to release its data and destroys the snapshots. | |
Adds a notification object that will be called when Capture and NextCapture events take place (possibly on different threads). | |
Context constructor. | |
Captures the state of the render nodes so that further modifications don't affect the displayed graph. | |
Creates and initializes a context entry node in the display/rendering tree. | |
Forces update of cache nodes in order to use changed textures. | |
Returns the largest FrameId that was finalized. | |
Returns the id of the current frame, incremented by each Capture call. | |
Obtains the memory heap allocated for render context threads. | |
HasCapture flag is set if Capture was called at least once on the rendering tree. | |
Returns true if the current modifiable state of the Context has changes. | |
Returns true once Shutdown operation has finished, allowing context to be destroyed without blocking in the destructor. | |
Captures the items from Display. | |
Propagates the changed entries up the parent chains and by default is called automatically from within Capture. | |
Removes a notification object that was called when Capture and NextCapture events took place (possibly on different threads). | |
Called from the Advance thread and begins the shutdown procedure on a rendering context. | |
Called once an application stops rendering this particular context. | |
Sets the thread Id that is expected to call capture. | |
Notifies the context that a DrawableImage has been updated, and thus, HasChanges should report true when next queried. |
Render_Context.h