|
Deki 1.3.0
Modular C++ 2D engine for embedded displays and desktop
|
Compact field descriptor — the ONE piece of reflection that exists on every platform, embedded included. More...
#include <DekiProperty.h>
Public Attributes | |
| uint32_t | nameHash |
| uint16_t | offset |
| uint8_t | type |
| uint8_t | enumSize |
Compact field descriptor — the ONE piece of reflection that exists on every platform, embedded included.
DekiPropertyInfo (below) is the editor's rich metadata: display names, tooltips, ranges, enum value names. It is compiled only under DEKI_EDITOR and costs far too much flash for a device build. But a device still needs to answer "where does field X of component Y live, and what type is it" for data-driven systems (a state machine writing a property, a tween driving a field). That is exactly this struct: 8 bytes per field, in flash.
Codegen emits one flattened table per concrete component (own + inherited fields) and registers it with ComponentRegistry::RegisterFields on ALL platforms. Look one up with ComponentRegistry::FindField(typeId, nameHash).
| uint32_t DekiFieldRef::nameHash |
| uint16_t DekiFieldRef::offset |
| uint8_t DekiFieldRef::type |
| uint8_t DekiFieldRef::enumSize |