Each property type can have one or more change flags that indicate the effects of changing the value of that property. More...
Public Member Functions | |
PropertyTypeChangeFlag (int value) | |
Constructs a PropertyTypeChangeFlag of an integer value. | |
PropertyTypeChangeFlag (PropertyTypeChangeFlag enum_) | |
Constructs a copy of a PropertyTypeChangeFlag object. | |
int | getValue () |
Returns the integer value of the enumeration constant. | |
final int | swigValue () |
Returns the integer value of the enumeration constant. | |
Static Public Member Functions | |
static PropertyTypeChangeFlag | swigToEnum (int swigValue) |
Converts an integer value to the matching enumeration constant. | |
static PropertyTypeChangeFlag | toEnum (int value) |
Converts an integer value to the matching enumeration constant. | |
Public Attributes | |
PropertyTypeChangeFlagArrange =(8) | |
Use this flag for a property type that affects the need to arrange the layout of a node. | |
PropertyTypeChangeFlagConstraint =(262144) | |
Property type with this flag informs that constraints are in use. | |
PropertyTypeChangeFlagDraw =(32) | |
Use this flag for a property type that affects the drawing of a node. | |
PropertyTypeChangeFlagFinalTransformation =(2) | |
Use this flag for a property type that affects the final transformation of a node and its descendants. | |
PropertyTypeChangeFlagMeasure =(4) | |
Use this flag for a property type that affects the size of the node as reported by the node itself, or the size and position of the node with respect to other nodes. | |
PropertyTypeChangeFlagParentMeasure =(128) | |
Use this flag for a property type that affects the layout of the parent node of a node. | |
PropertyTypeChangeFlagRender =(16) | |
Use this flag for a property type that changes the rendering parameters of a 2D node but does not affect the layout. | |
Each property type can have one or more change flags that indicate the effects of changing the value of that property.
For example, when the Text property of a Text Block node changes, Kanzi must recalculate the layout of that Text Block,
which is why the TextConcept::TextProperty has the PropertyTypeChangeFlagMeasure.
PropertyTypeChangeFlag | ( | int | value | ) |
Constructs a PropertyTypeChangeFlag of an integer value.
value | Integer value to convert to enumeration constant. |
Constructs a copy of a PropertyTypeChangeFlag object.
enum_ | PropertyTypeChangeFlag to be copy constructed. |
int getValue | ( | ) |
|
static |
Converts an integer value to the matching enumeration constant.
Used internally by SWIG generated code.
swigValue | Integer value to convert to enumeration constant. |
Returns the integer value of the enumeration constant.
Used internally by SWIG generated code.
|
static |
Converts an integer value to the matching enumeration constant.
value | Integer value to convert to enumeration constant. |
PropertyTypeChangeFlagArrange =(8) |
Use this flag for a property type that affects the need to arrange the layout of a node.
For a 2D node, this flag causes Kanzi to:
Run Node2D::arrange on the node and its descendants.
Run Node2D::updateRender on the node and its descendants. If the transform of a node changed, Node2D::updateRender recalculates the transformation.
Draw all nodes.
For a 3D node, this flag causes Kanzi to:
Run Node3D::arrange on the node and its descendants.
Recalculate the transformations of the node and its descendants.
Draw all nodes.
All property types that have the PropertyTypeChangeFlagMeasure set, run the arrange phase on those nodes whose measurements changed.
PropertyTypeChangeFlagDraw =(32) |
Use this flag for a property type that affects the drawing of a node.
This flag causes Kanzi to draw all nodes.
For example, most material properties use this flag.
PropertyTypeChangeFlagFinalTransformation =(2) |
Use this flag for a property type that affects the final transformation of a node and its descendants.
For a 2D node, this flag causes Kanzi to:
Run Node2D::updateRender on the node and its descendants. This updates the transformation of the nodes.
Draw all nodes.
For a 3D node, this flag causes Kanzi to:
Update the transformation of the node and its descendants.
Draw all nodes.
For example, Node::ActualWidthProperty, Node2D::RenderTransformationProperty, and Node3D::RenderTransformationProperty
use this flag.
PropertyTypeChangeFlagMeasure =(4) |
Use this flag for a property type that affects the size of the node as reported by the node itself,
or the size and position of the node with respect to other nodes.
For a 2D node, this flag causes Kanzi to:
Run Node2D::measure on the node.
If the measured size of the node changed, run Node2D::measure on the parent of the node.
If the measured size of the parent node changed, run Node2D::measure on the parent of the parent node, and so on.
Run Node2D::arrange and Node2D::updateRender on the node, all the changed ancestor nodes, and their descendants.
If the transform of a node changed, Node2D::updateRender recalculates the transformations.
Draw all nodes.
For a 3D node, this flag causes Kanzi to:
Run Node3D::measure on the node.
If the measured size of the node changed, run Node3D::measure on the parent of the node.
If the measured size of the parent node changed, run Node3D::measure on the parent of the parent node, and so on.
Run Node3D::arrange on the node, all the changed ancestor nodes, and their descendants.
Recalculate the transformations of the nodes.
Draw all nodes.
For example, properties that set the size, margins, padding, and alignment of a node, use this flag.
PropertyTypeChangeFlagParentMeasure =(128) |
Use this flag for a property type that affects the layout of the parent node of a node.
This flag causes Kanzi to set the PropertyTypeChangeFlagMeasure flag on the parent of the node.
For example, the DockLayoutConcept::SideProperty, GridLayoutConcept::ColumnProperty, and GridLayoutConcept::RowProperty
use this flag.
PropertyTypeChangeFlagRender =(16) |
Use this flag for a property type that changes the rendering parameters of a 2D node but does not affect the layout.
For a 2D node, this flag causes Kanzi to:
Run Node2D::updateRender on the node and its descendants. If the transform of a node changed, Node2D::updateRender recalculates the transformation.
Draw all nodes.
For a property type that changes the rendering parameters of a 3D node but does not affect the layout, use PropertyTypeChangeFlagDraw instead of PropertyTypeChangeFlagRender.
For example, these properties use the PropertyTypeChangeFlagRender flag:
Node2D::RenderTransformationProperty and Node3D::RenderTransformationProperty
Brush properties
Properties of 2D effects, such as BlurEffect2D and MaskEffect2D