diff options
Diffstat (limited to 'source/blender/makesdna/DNA_ID.h')
-rw-r--r-- | source/blender/makesdna/DNA_ID.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/source/blender/makesdna/DNA_ID.h b/source/blender/makesdna/DNA_ID.h index 10a5a0f1c47..5b7c99f2545 100644 --- a/source/blender/makesdna/DNA_ID.h +++ b/source/blender/makesdna/DNA_ID.h @@ -59,6 +59,58 @@ typedef struct DrawDataList { struct DrawData *first, *last; } DrawDataList; +typedef struct IDPropertyUIData { + /** Tooltip / property description pointer. Owned by the IDProperty. */ + char *description; + /** RNA subtype, used for every type except string properties (PropertySubType). */ + int rna_subtype; + + char _pad[4]; +} IDPropertyUIData; + +/* IDP_UI_DATA_TYPE_INT */ +typedef struct IDPropertyUIDataInt { + IDPropertyUIData base; + int *default_array; /* Only for array properties. */ + int default_array_len; + char _pad[4]; + + int min; + int max; + int soft_min; + int soft_max; + int step; + int default_value; +} IDPropertyUIDataInt; + +/* IDP_UI_DATA_TYPE_FLOAT */ +typedef struct IDPropertyUIDataFloat { + IDPropertyUIData base; + double *default_array; /* Only for array properties. */ + int default_array_len; + char _pad[4]; + + float step; + int precision; + + double min; + double max; + double soft_min; + double soft_max; + double default_value; +} IDPropertyUIDataFloat; + +/* IDP_UI_DATA_TYPE_STRING */ +typedef struct IDPropertyUIDataString { + IDPropertyUIData base; + char *default_value; +} IDPropertyUIDataString; + +/* IDP_UI_DATA_TYPE_ID */ +typedef struct IDPropertyUIDataID { + IDPropertyUIData base; +} IDPropertyUIDataID; + typedef struct IDPropertyData { void *pointer; ListBase group; @@ -87,6 +139,8 @@ typedef struct IDProperty { /* totallen is total length of allocated array/string, including a buffer. * Note that the buffering is mild; the code comes from python's list implementation. */ int totallen; + + IDPropertyUIData *ui_data; } IDProperty; #define MAX_IDPROP_NAME 64 |