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.