Kanzi  3.9.6
Kanzi Engine API
kanzi::TypedRenderStatePropertyNotificationHandler< T > Class Template Reference

Specialized property state and value container for render state. More...

#include <kanzi/core.ui/platform/graphics_backend/gl/render_state_property_notification_handler.hpp>

Inheritance diagram for kanzi::TypedRenderStatePropertyNotificationHandler< T >:
[legend]

Public Member Functions

 TypedRenderStatePropertyNotificationHandler ()
 Empty constructor. More...
 
 TypedRenderStatePropertyNotificationHandler (AbstractPropertyType propertyType, Node *node)
 Constructor Has no handle. More...
 
 TypedRenderStatePropertyNotificationHandler (AbstractPropertyType propertyType, Node *node, GlRenderState::HandleType handle, ShaderProgram::UniformTransformation transformation)
 Constructor. More...
 
- Public Member Functions inherited from kanzi::RenderStatePropertyNotificationHandler
int getHandle () const
 Access handle. More...
 
void update (GlRenderState &renderState, PropertyObject *object, Material &material)
 Update render state with new values acquirable from this. More...
 
- Public Member Functions inherited from kanzi::RenderValuePropertyNotificationHandlerBase
bool isDirty () const
 Is the container dirty? More...
 
RenderValuePropertyNotificationHandlerBaseoperator= (RenderValuePropertyNotificationHandlerBase &&other)
 Assignment operator. More...
 
void setDirty (bool enabled)
 Set dirty flag state. More...
 
- Public Member Functions inherited from kanzi::NodePropertyNotificationHandler
NodegetNode () const
 Access the node. More...
 
void invalidate ()
 Invalidates the state of the notification handler. More...
 
bool isValid () const
 Tell if this notification handler is valid. More...
 
- Public Member Functions inherited from kanzi::AbstractPropertyNotificationHandler
AbstractPropertyType getPropertyType () const
 Get the property type this handler is listening. More...
 

Static Public Member Functions

static RenderStatePropertyNotificationHandlerPtr create (AbstractPropertyType propertyType, Node *node, GlRenderState::HandleType handle, ShaderProgram::UniformTransformation transformation)
 Create a new render state property notification handler. More...
 

Protected Member Functions

void updateOverride (GlRenderState &renderState, PropertyObject *object, Material &material) override
 RenderStatePropertyNotificationHandler::updateOverride() implementation. More...
 
- Protected Member Functions inherited from kanzi::RenderStatePropertyNotificationHandler
 RenderStatePropertyNotificationHandler ()
 Empty constructor. More...
 
 RenderStatePropertyNotificationHandler (AbstractPropertyType propertyType, Node *node)
 Constructor Has no handle. More...
 
 RenderStatePropertyNotificationHandler (AbstractPropertyType propertyType, Node *node, GlRenderState::HandleType handle, ShaderProgram::UniformTransformation transformation)
 Constructor. More...
 
- Protected Member Functions inherited from kanzi::RenderValuePropertyNotificationHandlerBase
ShaderProgram::UniformTransformation getTransformation () const
 Gets the uniform transformation. More...
 
void onPropertyChanged (PropertyNotificationReason) override
 AbstractPropertyNotificationHandler::onPropertyChanged() implementation. More...
 
 RenderValuePropertyNotificationHandlerBase ()
 Empty constructor. More...
 
 RenderValuePropertyNotificationHandlerBase (AbstractPropertyType propertyType, Node *node)
 Constructor. More...
 
 RenderValuePropertyNotificationHandlerBase (AbstractPropertyType propertyType, Node *node, ShaderProgram::UniformTransformation transformation)
 Constructor. More...
 
 RenderValuePropertyNotificationHandlerBase (RenderValuePropertyNotificationHandlerBase &&other)
 Move constructor. More...
 
- Protected Member Functions inherited from kanzi::NodePropertyNotificationHandler
 NodePropertyNotificationHandler ()
 Empty constructor. More...
 
 NodePropertyNotificationHandler (const NodePropertyNotificationHandler &rhs)
 Copy constructor. More...
 
 NodePropertyNotificationHandler (AbstractPropertyType propertyType, Node *node)
 Constructor. More...
 
NodePropertyNotificationHandleroperator= (const NodePropertyNotificationHandler &rhs)
 Assignment operator. More...
 
 ~NodePropertyNotificationHandler () override
 Destructor. More...
 
- Protected Member Functions inherited from kanzi::AbstractPropertyNotificationHandler
 AbstractPropertyNotificationHandler ()
 Empty constructor. More...
 
 AbstractPropertyNotificationHandler (AbstractPropertyType propertyType)
 Constructor. More...
 
virtual ~AbstractPropertyNotificationHandler ()=default
 

Detailed Description

template<typename T>
class kanzi::TypedRenderStatePropertyNotificationHandler< T >

Specialized property state and value container for render state.

Constructor & Destructor Documentation

◆ TypedRenderStatePropertyNotificationHandler() [1/3]

Empty constructor.

◆ TypedRenderStatePropertyNotificationHandler() [2/3]

Constructor Has no handle.

Should only used for blend mode.

Parameters
propertyTypeProperty type to listen on.
nodeNode to listen for changes on.

◆ TypedRenderStatePropertyNotificationHandler() [3/3]

Constructor.

Parameters
propertyTypeProperty type to listen on.
nodeNode to listen for changes on.
handleHandle into the render state.
transformationUniform transformation.

Member Function Documentation

◆ create()

template<typename T >
static RenderStatePropertyNotificationHandlerPtr kanzi::TypedRenderStatePropertyNotificationHandler< T >::create ( AbstractPropertyType  propertyType,
Node node,
GlRenderState::HandleType  handle,
ShaderProgram::UniformTransformation  transformation 
)
inlinestatic

Create a new render state property notification handler.

Parameters
propertyTypeProperty type to listen on.
nodeNode to listen for changes on.
handleHandle into the render state.
transformationUniform transformation.

◆ updateOverride()

template<typename T >
void kanzi::TypedRenderStatePropertyNotificationHandler< T >::updateOverride ( GlRenderState renderState,
PropertyObject object,
Material material 
)
inlineoverrideprotectedvirtual

The documentation for this class was generated from the following file: