DEKI/ENGINE docs
Deki 0.19.0
Modular C++ 2D engine for embedded displays and desktop
Loading...
Searching...
No Matches
PropertyRef.h File Reference

Classes

struct  Deki::PropertyRef
 A picked field of a component on an object. More...
struct  Deki::PropertyBinding
 A resolved PropertyRef: where the field lives and what it is. More...

Namespaces

namespace  Deki

Enumerations

enum class  Deki::TransformField : uint8_t {
  Deki::None = 0 , Deki::X , Deki::Y , Deki::Position ,
  Deki::Rotation , Deki::ScaleX , Deki::ScaleY , Deki::Scale ,
  Deki::Active , Deki::Z , Deki::RotationX , Deki::RotationY ,
  Deki::ScaleZ
}
 A field of the object's own transform, addressable like a component field. More...

Functions

const FieldRef * Deki::DekiVariableFieldRef (PropertyType type)
 A field descriptor for a standalone value of type, at offset 0, or nullptr for a type with no literal form.
const FieldRef * Deki::TransformFields (int &outCount)
 The transform's field table, for pickers and binding.
const char *const * Deki::TransformFieldNames (int &outCount)
 Transform field names, in the same order as TransformFields.
bool Deki::BindPropertyRef (Object *object, const PropertyRef &ref, PropertyBinding &out, const char **outError=nullptr)
 Resolves ref on object, which the caller has already found by name.
bool Deki::ParsePropertyLiteral (const FieldRef &info, const char *text, double &out, double &out2)
 Parses a literal by the bound field's type.
bool Deki::ParsePropertyLiteral (const FieldRef &info, const char *text, double &out)
 For targets that are not Vector2.
double Deki::ReadBoundProperty (const PropertyBinding &binding)
 The bound target's current value (the first axis for Vector2).
double Deki::ReadBoundProperty2 (const PropertyBinding &binding)
 The bound target's second axis, or 0 when it is not a Vector2.
void Deki::WriteBoundNumbers (const PropertyBinding &binding, double v, double v2)
 Writes v and v2 to the bound target instead of the parsed literal.
void Deki::WriteBoundProperty (const PropertyBinding &binding, const std::string &text)
 Writes the parsed literal, or text for String fields, into the field.
int Deki::CompareBoundProperty (const PropertyBinding &binding, const std::string &text)
 Compares the field's current value with the parsed literal, or with text for String fields.

Variables

constexpr const char * Deki::kTransformRefComponent = "Transform"
 The component name a reference stores to mean "the object's transform".
constexpr const char * Deki::kVariableRefComponent = "Variable"
 The component name a reference stores to mean "a variable of this graph".