Kanzi 3.9.10
PropertyTypeChangeFlag Enum Reference

Each property type can have one or more change flags that indicate the effects of changing the value of that property. More...

Inheritance diagram for PropertyTypeChangeFlag:
[legend]

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.
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ PropertyTypeChangeFlag() [1/2]

Constructs a PropertyTypeChangeFlag of an integer value.

Parameters
valueInteger value to convert to enumeration constant.

◆ PropertyTypeChangeFlag() [2/2]

Constructs a copy of a PropertyTypeChangeFlag object.

Parameters
enum_PropertyTypeChangeFlag to be copy constructed.

Member Function Documentation

◆ getValue()

int getValue ( )

Returns the integer value of the enumeration constant.

Returns
Integer value.

Implements Enum.

◆ swigToEnum()

static PropertyTypeChangeFlag swigToEnum ( int swigValue)
static

Converts an integer value to the matching enumeration constant.

Used internally by SWIG generated code.

Parameters
swigValueInteger value to convert to enumeration constant.
Returns
Enumeration constant matching the integer value.

◆ swigValue()

final int swigValue ( )

Returns the integer value of the enumeration constant.

Used internally by SWIG generated code.

Returns
Integer value.

◆ toEnum()

static PropertyTypeChangeFlag toEnum ( int value)
static

Converts an integer value to the matching enumeration constant.

Parameters
valueInteger value to convert to enumeration constant.
Returns
Enumeration constant matching the integer value.

Member Data Documentation

◆ PropertyTypeChangeFlagArrange

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

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

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

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

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

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