GlRenderValueBinding is a binding from shaders/materials into values in GlRenderState.
More...
#include <kanzi/core.ui/platform/graphics_backend/gl/gl_render_value_binding.hpp>
|
void | addPropertyListener (Node *node, GlRenderState &renderState, PropertyDataType dataType, AbstractPropertyType propertyType, ShaderProgram::UniformTransformation transformation) |
| Add a listener for given property. More...
|
|
void | applyBlendMode (GlRenderState &renderState, PropertyObject *object, Material &material) |
| Applies the blend mode. More...
|
|
void | attach (Material &material, Node *node, bool readBlendModeFromNode, GlRenderState &renderState) |
| Attaches to a material and a node. More...
|
|
void | attach (Material &material, Node *node, GlRenderState &renderState) |
| Attaches to a material and a node. More...
|
|
optional< int > | getBlendModeOverride () const |
| Gets the blend mode override. More...
|
|
optional< int > | getBlendModeValue (PropertyObject *object, Material &material) const |
| Gets the blend mode value to apply. More...
|
|
bool | getOpaquenessHint () const |
| Gets the opaqueness hint. More...
|
|
bool | getTranslucencyHint () const |
| Gets the translucency hint. More...
|
|
void | invalidate () |
| Invalidates the state of the notification handler. More...
|
|
void | setAllPropertiesDirty () |
| Flag all properties as being dirty and needing an update. More...
|
|
void | setBlendModeOverride (optional< int > blendMode) |
| Sets the blend mode override. More...
|
|
void | setOpaquenessHint (bool value) |
| Sets the opaqueness hint. More...
|
|
void | setTranslucencyHint (bool value) |
| Sets the translucency hint. More...
|
|
void | update (GlRenderState &renderState, PropertyObject *object, Material &material) |
| Apply changes into render state. More...
|
|
GlRenderValueBinding is a binding from shaders/materials into values in GlRenderState.
- Since
- Kanzi 3.9.7 removed applyBlendMode(). Use getBlendModeValue() instead.
-
Kanzi 3.9.9 removed setBlendModeFallback().
Add a listener for given property.
- Parameters
-
node | Node on which to listen for property changes. |
renderState | Render state to update when the property changes. |
dataType | Data type of the render value. |
propertyType | Property type to listen. |
transformation | Shader transformation for uniform values. |
- Since
- Kanzi 3.9.7 added
dataType
.
void kanzi::GlRenderValueBinding::attach |
( |
Material & |
material, |
|
|
Node * |
node, |
|
|
bool |
readBlendModeFromNode, |
|
|
GlRenderState & |
renderState |
|
) |
| |
Attaches to a material and a node.
When used with 2D nodes, the blend mode control is not necessarily attached to the node. This is the case when the blend mode is determined manually.
- Parameters
-
material | Material to use. |
node | Node to listen property changes on or nullptr. |
readBlendModeFromNode | If you want to read the blend mode from the node, set to true. |
renderState | The render state to update on changes. |
- Since
- Kanzi 3.9.1
Attaches to a material and a node.
Reading the blend mode from the node is enabled.
- Parameters
-
material | Material to use. |
node | Node to listen property changes on or nullptr. |
renderState | The render state to update on changes. |
Apply changes into render state.
- Parameters
-
renderState | Render state to write changes to. |
object | Fallback property object for property value. |
material | Fallback material for property value. |
- Since
- Kanzi 3.9.1 data type of
object
parameter changed from Object* to PropertyObject*.
void kanzi::GlRenderValueBinding::invalidate |
( |
| ) |
|
Invalidates the state of the notification handler.
Use this function to invalidate a node that you destroyed before destroying the GlRenderValueBinding.
void kanzi::GlRenderValueBinding::setAllPropertiesDirty |
( |
| ) |
|
Flag all properties as being dirty and needing an update.
optional<int> kanzi::GlRenderValueBinding::getBlendModeValue |
( |
PropertyObject * |
object, |
|
|
Material & |
material |
|
) |
| const |
Gets the blend mode value to apply.
Kanzi uses this function internally by calling it in applyBlendMode(). You can use this function in tests.
- Parameters
-
object | Object to use for acquiring the property. |
material | Current material. |
- Since
- Kanzi 3.9.7
-
Kanzi 3.9.9 made the function const.
Applies the blend mode.
- Parameters
-
renderState | The render state to which to write. |
object | Object to use for acquiring the property. |
material | Current material. |
- Since
- Kanzi 3.9.1
void kanzi::GlRenderValueBinding::setBlendModeOverride |
( |
optional< int > |
blendMode | ) |
|
|
inline |
Sets the blend mode override.
This should be the blend mode as determined by the layout system, originally coming from node.
- Parameters
-
blendMode | Blend mode override or nullopt to disable. |
- Since
- Kanzi 3.9.1
optional<int> kanzi::GlRenderValueBinding::getBlendModeOverride |
( |
| ) |
const |
|
inline |
Gets the blend mode override.
This function is intended for tests.
- Returns
- Blend mode override.
- Since
- Kanzi 3.9.9
void kanzi::GlRenderValueBinding::setTranslucencyHint |
( |
bool |
value | ) |
|
|
inline |
Sets the translucency hint.
Translucency hint should be set by the brush depending on the content requirements.
- Parameters
-
value | Translucency hint value. |
- Since
- Kanzi 3.9.9
bool kanzi::GlRenderValueBinding::getTranslucencyHint |
( |
| ) |
const |
|
inline |
Gets the translucency hint.
This function is intended for tests.
- Returns
- Translucency hint value.
- Since
- Kanzi 3.9.9
void kanzi::GlRenderValueBinding::setOpaquenessHint |
( |
bool |
value | ) |
|
|
inline |
Sets the opaqueness hint.
Should be set if external factors allow for opaque rendering.
- Parameters
-
value | Opaqueness hint value. |
- Since
- Kanzi 3.9.9
bool kanzi::GlRenderValueBinding::getOpaquenessHint |
( |
| ) |
const |
|
inline |
Gets the opaqueness hint.
This function is intended for tests.
- Returns
- Opaqueness hint value.
- Since
- Kanzi 3.9.9
The documentation for this struct was generated from the following file: