Render value updater for render state. More...
#include <kanzi/core.ui/platform/graphics_backend/gl/render_state_property_notification_handler.hpp>
Public Member Functions | |
int | getHandle () const |
Access handle. | |
bool | isDirty () const |
Returns whether the container is dirty. | |
void | setDirty (bool enabled) |
Sets the dirty flag state. | |
void | update (GlRenderState &renderState, PropertyObject *object, Material &material) |
Update render state with new values acquirable from this. | |
Public Member Functions inherited from kanzi::NodePropertyNotificationHandler | |
Node * | getNode () const |
Access the node. | |
void | invalidate () |
Invalidates the state of the notification handler. | |
bool | isValid () const |
Tell if this notification handler is valid. | |
Public Member Functions inherited from kanzi::AbstractPropertyNotificationHandler | |
AbstractPropertyType | getPropertyType () const |
Get the property type this handler is listening. | |
Protected Attributes | |
bool | m_dirty |
Indicates whether this property is dirty and needs updating. | |
GlRenderState::HandleType | m_handle |
Handle into the render state. | |
ShaderProgram::UniformTransformation | m_transformation |
Shader transformation. | |
Render value updater for render state.
This is an abstract class that is inherited and specialized by property value type.
|
explicitprotecteddefault |
Empty constructor.
|
inlineexplicitprotected |
Constructor Has no handle.
Should only used for blend mode.
propertyType | Property type to listen on. |
node | Node to listen for changes on. |
|
inlineexplicitprotected |
Constructor.
propertyType | Property type to listen on. |
node | Node to listen for changes on. |
handle | Handle into the render state. |
transformation | Uniform transformation. |
void kanzi::RenderStatePropertyNotificationHandler::update | ( | GlRenderState & | renderState, |
PropertyObject * | object, | ||
Material & | material ) |
Update render state with new values acquirable from this.
Do not update if dirty flag has not been set (property is not marked as dirty).
renderState | Render state to update. |
object | Fallback object for property value. Can be 0. |
material | Fallback material for property value. |
object
parameter changed from Object* to PropertyObject*.
|
inline |
Access handle.
|
inline |
Returns whether the container is dirty.
Sets the dirty flag state.
enabled | The state of the dirty flag. |
|
inlineprotected |
Gets the uniform transformation.
|
protectedpure virtual |
Perform type-specific update.
renderState | Render state to update. |
object | Fallback object for property value, may be 0 for no object. |
material | Fallback material for property value. |
object
parameter changed from Object* to PropertyObject*. Implemented in kanzi::TypedRenderStatePropertyNotificationHandler< T >, kanzi::BlendModeRenderStatePropertyNotificationHandler, and kanzi::TypedRenderStateRangePropertyNotificationHandler< T >.
|
overrideprotectedvirtual |
AbstractPropertyNotificationHandler::onPropertyChanged() implementation.
Implements kanzi::AbstractPropertyNotificationHandler.
|
protected |
Handle into the render state.
|
protected |
Shader transformation.
|
protected |
Indicates whether this property is dirty and needs updating.