Expression binding operation. More...
#include <kanzi/core.ui/binding/expression_binding_processor.hpp>
Public Attributes | |
BindingExpressionFunction | expressionFunction |
Operation function pointer. More... | |
KzuExpressionValidatorOperation | expressionOperation |
Id of expression operation. More... | |
PropertyField | firstArgumentField |
Field of first argument. More... | |
BindingExpressionArgumentType | firstArgumentRegister |
First argument of the operation. More... | |
PropertyField | outputField |
Field of output where result of the operation should be written. More... | |
unsigned int | outputRegisterIndex |
Index of output register where result of the operation should be written. More... | |
PropertyField | secondArgumentField |
Field of second argument. More... | |
BindingExpressionArgumentType | secondArgumentRegister |
Second argument of the operation. More... | |
PropertyField | thirdArgumentField |
Field of third argument. More... | |
BindingExpressionArgumentType | thirdArgumentRegister |
Third argument of the operation. More... | |
Expression binding operation.
Expression bindings execute an arbitrary number of operations that you define using expression binding operation codes. Expression binding operations are similar to regular assembler instructions and consist of:
The output parameter is always a temporary register, because constant, object property source, and data source registers are not modified by expressions.
An expression binding operation:
Animation operations are a special case. The operation code itself, when greater or equal to animation operation code ID, specifies which animation binding processor (by index) to use. This is because BindingExpressionOpCode is a minimal struct with no internal state, while an animation processor must refer to an animation resource. The binding runtime owns the animation binding processors.
|
inlineexplicit |
Empty constructor.
All fields set to 0. The opcode is invalid.
|
inlineexplicit |
Constructor (all parameters).
argument1 | First argument register. |
field1 | First argument field. |
argument2 | Second argument register. |
field2 | Second argument field. |
argument3 | Third argument register. |
field3 | Third argument field. |
operation | Expression operation. |
outputIndex | Output temporary register index. |
outputField | Output field. |
|
inlineexplicit |
Constructor (two parameters).
argument1 | First argument register. |
field1 | First argument field. |
argument2 | Second argument register. |
field2 | Second argument field. |
operation | Expression operation. |
outputIndex | Output temporary register index. |
outputField | Output field. |
|
inlineexplicit |
Constructor (one parameters).
argument1 | First argument register. |
field1 | First argument field. |
operation | Expression operation. |
outputIndex | Output temporary register index. |
outputField | Output field. |
|
inlineexplicit |
Constructor (instruction processor).
Register settings should have been set to the operation processor itself.
operation | Expression operation. |
BindingExpressionArgumentType kanzi::BindingExpressionOpCode::firstArgumentRegister |
First argument of the operation.
PropertyField kanzi::BindingExpressionOpCode::firstArgumentField |
Field of first argument.
BindingExpressionArgumentType kanzi::BindingExpressionOpCode::secondArgumentRegister |
Second argument of the operation.
PropertyField kanzi::BindingExpressionOpCode::secondArgumentField |
Field of second argument.
BindingExpressionArgumentType kanzi::BindingExpressionOpCode::thirdArgumentRegister |
Third argument of the operation.
PropertyField kanzi::BindingExpressionOpCode::thirdArgumentField |
Field of third argument.
KzuExpressionValidatorOperation kanzi::BindingExpressionOpCode::expressionOperation |
Id of expression operation.
unsigned int kanzi::BindingExpressionOpCode::outputRegisterIndex |
Index of output register where result of the operation should be written.
PropertyField kanzi::BindingExpressionOpCode::outputField |
Field of output where result of the operation should be written.
BindingExpressionFunction kanzi::BindingExpressionOpCode::expressionFunction |
Operation function pointer.