Blender V4.3
RNA_types.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
9/* Use a define instead of `#pragma once` because of `BKE_addon.h`, `ED_object.hh` & others. */
10#ifndef __RNA_TYPES_H__
11#define __RNA_TYPES_H__
12
13#include <optional>
14#include <string>
15
20
21struct BlenderRNA;
22struct FunctionRNA;
23struct ID;
24struct Main;
25struct ParameterList;
26struct PropertyRNA;
27struct ReportList;
28struct StructRNA;
29struct bContext;
30
44
45constexpr PointerRNA PointerRNA_NULL{nullptr, nullptr, nullptr};
46
51
61
62/* Property */
63
73
74/* also update rna_property_subtype_unit when you change this */
76 PROP_UNIT_NONE = (0 << 16),
77 PROP_UNIT_LENGTH = (1 << 16), /* m */
78 PROP_UNIT_AREA = (2 << 16), /* m^2 */
79 PROP_UNIT_VOLUME = (3 << 16), /* m^3 */
80 PROP_UNIT_MASS = (4 << 16), /* kg */
81 PROP_UNIT_ROTATION = (5 << 16), /* radians */
82 PROP_UNIT_TIME = (6 << 16), /* frame */
83 PROP_UNIT_TIME_ABSOLUTE = (7 << 16), /* time in seconds (independent of scene) */
84 PROP_UNIT_VELOCITY = (8 << 16), /* m/s */
85 PROP_UNIT_ACCELERATION = (9 << 16), /* m/(s^2) */
86 PROP_UNIT_CAMERA = (10 << 16), /* mm */
87 PROP_UNIT_POWER = (11 << 16), /* W */
88 PROP_UNIT_TEMPERATURE = (12 << 16), /* C */
89 PROP_UNIT_WAVELENGTH = (13 << 16), /* `nm` (independent of scene). */
90 PROP_UNIT_COLOR_TEMPERATURE = (14 << 16), /* K */
91 PROP_UNIT_FREQUENCY = (15 << 16), /* Hz */
92};
94
95
120
121#define RNA_SUBTYPE_UNIT(subtype) ((subtype) & 0x00FF0000)
122#define RNA_SUBTYPE_VALUE(subtype) ((subtype) & ~0x00FF0000)
123#define RNA_SUBTYPE_UNIT_VALUE(subtype) ((subtype) >> 16)
124
125#define RNA_ENUM_BITFLAG_SIZE 32
126
127#define RNA_TRANSLATION_PREC_DEFAULT 5
128
129#define RNA_STACK_ARRAY 32
130
197
198/* Make sure enums are updated with these */
199/* HIGHEST FLAG IN USE: 1u << 31
200 * FREE FLAGS: 13, 14, 15. */
207 PROP_EDITABLE = (1 << 0),
220 PROP_ANIMATABLE = (1 << 1),
228
229 /* icon */
232
239 PROP_HIDDEN = (1 << 19),
245 PROP_SKIP_SAVE = (1 << 28),
246
247 /* numbers */
248
250 PROP_PROPORTIONAL = (1 << 26),
251
252 /* pointers */
254
266 PROP_NEVER_NULL = (1 << 18),
273 PROP_NEVER_UNLINK = (1 << 25),
274
285
293 PROP_ENUM_FLAG = (1 << 21),
294
295 /* need context for update function */
298
299 /* registering */
300 PROP_REGISTER = (1 << 4),
302
312 PROP_THICK_WRAP = (1 << 23),
313
315 PROP_IDPROPERTY = (1 << 10),
317 PROP_DYNAMIC = (1 << 17),
322
329
335
341
343 PROP_SKIP_PRESET = (1 << 11),
344};
346
347
356
364
376
377 /*** Collections-related ***/
378
381
389};
391
397 PARM_REQUIRED = (1 << 0),
398 PARM_OUTPUT = (1 << 1),
399 PARM_RNAPTR = (1 << 2),
408};
410
412struct Link;
413using IteratorSkipFunc = bool (*)(CollectionPropertyIterator *iter, void *data);
414
420
422 char *ptr;
424 char *endptr;
426 void *free_ptr;
428
434
441};
442
444 void *ptr;
445 int item;
446};
447
466
470
485
492
499 int value;
506 const char *identifier;
508 int icon;
510 const char *name;
512 const char *description;
513};
514
522#define RNA_ENUM_ITEM_HEADING(name, description) \
523 { \
524 0, "", 0, name, description \
525 }
526
528#define RNA_ENUM_ITEM_SEPR \
529 { \
530 0, "", 0, NULL, NULL \
531 }
532
534#define RNA_ENUM_ITEM_SEPR_COLUMN RNA_ENUM_ITEM_HEADING("", NULL)
535
536/* extended versions with PropertyRNA argument */
538using BooleanPropertySetFunc = void (*)(PointerRNA *ptr, PropertyRNA *prop, bool value);
539using BooleanArrayPropertyGetFunc = void (*)(PointerRNA *ptr, PropertyRNA *prop, bool *values);
541 PropertyRNA *prop,
542 const bool *values);
544using IntPropertySetFunc = void (*)(PointerRNA *ptr, PropertyRNA *prop, int value);
545using IntArrayPropertyGetFunc = void (*)(PointerRNA *ptr, PropertyRNA *prop, int *values);
546using IntArrayPropertySetFunc = void (*)(PointerRNA *ptr, PropertyRNA *prop, const int *values);
548 void (*)(PointerRNA *ptr, PropertyRNA *prop, int *min, int *max, int *softmin, int *softmax);
550using FloatPropertySetFunc = void (*)(PointerRNA *ptr, PropertyRNA *prop, float value);
551using FloatArrayPropertyGetFunc = void (*)(PointerRNA *ptr, PropertyRNA *prop, float *values);
553 PropertyRNA *prop,
554 const float *values);
555using FloatPropertyRangeFunc = void (*)(
556 PointerRNA *ptr, PropertyRNA *prop, float *min, float *max, float *softmin, float *softmax);
557using StringPropertyGetFunc = void (*)(PointerRNA *ptr, PropertyRNA *prop, char *value);
559using StringPropertySetFunc = void (*)(PointerRNA *ptr, PropertyRNA *prop, const char *value);
560
563 std::string text;
565 std::optional<std::string> info;
566 /* Optional icon instead of #ICON_NONE. */
567 std::optional<int> icon_id;
568};
569
587
588
599 void (*)(const bContext *C,
601 PropertyRNA *prop,
602 const char *edit_text,
603 blender::FunctionRef<void(StringPropertySearchVisitParams)> visit_fn);
604
606using EnumPropertySetFunc = void (*)(PointerRNA *ptr, PropertyRNA *prop, int value);
607/* same as PropEnumItemFunc */
610 PropertyRNA *prop,
611 bool *r_free);
612
613struct PropertyRNA;
614
615/* Parameter List */
616
619 void *data;
620
623
626
627 int arg_count, ret_count;
628};
629
632 // PointerRNA funcptr; /* UNUSED */
633 void *data;
635
637 bool valid;
638};
639
646
647/* Function */
648
667 FUNC_USE_SELF_ID = (1 << 11),
668
673 FUNC_NO_SELF = (1 << 0),
676
677 /* Pass Main, bContext and/or ReportList. */
678 FUNC_USE_MAIN = (1 << 2),
681
682 /***** Registering of Python subclasses. *****/
687 FUNC_REGISTER = (1 << 5),
695 FUNC_ALLOW_WRITE = (1 << 12),
696
697 /***** Internal flags. *****/
699 FUNC_BUILTIN = (1 << 7),
701 FUNC_EXPORT = (1 << 8),
703 FUNC_RUNTIME = (1 << 9),
709};
710
711using CallFunc = void (*)(bContext *C, ReportList *reports, PointerRNA *ptr, ParameterList *parms);
712
713struct FunctionRNA;
714
715/* Struct */
716
719 STRUCT_ID = (1 << 0),
722 STRUCT_UNDO = (1 << 2),
723
724 /* internal flags */
725 STRUCT_RUNTIME = (1 << 3),
726 /* STRUCT_GENERATED = (1 << 4), */ /* UNUSED */
744};
745
746using StructValidateFunc = int (*)(PointerRNA *ptr, void *data, bool *have_function);
749 FunctionRNA *func,
750 ParameterList *list);
751using StructFreeFunc = void (*)(void *data);
753 ReportList *reports,
754 void *data,
755 const char *identifier,
756 StructValidateFunc validate,
760using StructUnregisterFunc = bool (*)(Main *bmain, StructRNA *type);
761using StructInstanceFunc = void **(*)(PointerRNA *ptr);
762
763struct StructRNA;
764
770struct BlenderRNA;
771
784
785/* Primitive types. */
786
788 const char *value;
789};
790
792 int value;
793};
794
796 float value;
797};
798
800 bool value;
801};
802
803#endif /* __RNA_TYPES_H__ */
void BLI_kdtree_nd_ free(KDTree *tree)
#define ENUM_OPERATORS(_type, _max)
ParameterFlag
Definition RNA_types.hh:396
@ PARM_RNAPTR
Definition RNA_types.hh:399
@ PARM_PYFUNC_OPTIONAL
Definition RNA_types.hh:407
@ PARM_REQUIRED
Definition RNA_types.hh:397
@ PARM_OUTPUT
Definition RNA_types.hh:398
int(*)(PointerRNA *ptr, PropertyRNA *prop) EnumPropertyGetFunc
Definition RNA_types.hh:605
bool(*)(CollectionPropertyIterator *iter, void *data) IteratorSkipFunc
Definition RNA_types.hh:413
void(*)(PointerRNA *ptr, PropertyRNA *prop, char *value) StringPropertyGetFunc
Definition RNA_types.hh:557
void(*)(PointerRNA *ptr, PropertyRNA *prop, bool *values) BooleanArrayPropertyGetFunc
Definition RNA_types.hh:539
PropertyScaleType
Definition RNA_types.hh:106
@ PROP_SCALE_LOG
Definition RNA_types.hh:113
@ PROP_SCALE_LINEAR
Definition RNA_types.hh:108
@ PROP_SCALE_CUBIC
Definition RNA_types.hh:118
void(*)(PointerRNA *ptr, PropertyRNA *prop, const bool *values) BooleanArrayPropertySetFunc
Definition RNA_types.hh:540
FunctionFlag
Definition RNA_types.hh:662
@ FUNC_USE_REPORTS
Definition RNA_types.hh:680
@ FUNC_USE_SELF_TYPE
Definition RNA_types.hh:675
@ FUNC_BUILTIN
Definition RNA_types.hh:699
@ FUNC_FREE_POINTERS
Definition RNA_types.hh:708
@ FUNC_NO_SELF
Definition RNA_types.hh:673
@ FUNC_REGISTER
Definition RNA_types.hh:687
@ FUNC_USE_MAIN
Definition RNA_types.hh:678
@ FUNC_EXPORT
Definition RNA_types.hh:701
@ FUNC_RUNTIME
Definition RNA_types.hh:703
@ FUNC_USE_CONTEXT
Definition RNA_types.hh:679
@ FUNC_USE_SELF_ID
Definition RNA_types.hh:667
@ FUNC_REGISTER_OPTIONAL
Definition RNA_types.hh:689
@ FUNC_ALLOW_WRITE
Definition RNA_types.hh:695
int(*)(PointerRNA *ptr, PropertyRNA *prop) StringPropertyLengthFunc
Definition RNA_types.hh:558
StructFlag
Definition RNA_types.hh:717
@ STRUCT_ID_REFCOUNT
Definition RNA_types.hh:720
@ STRUCT_RUNTIME
Definition RNA_types.hh:725
@ STRUCT_FREE_POINTERS
Definition RNA_types.hh:727
@ STRUCT_NO_CONTEXT_WITHOUT_OWNER_ID
Definition RNA_types.hh:743
@ STRUCT_PUBLIC_NAMESPACE
Definition RNA_types.hh:735
@ STRUCT_ID
Definition RNA_types.hh:719
@ STRUCT_NO_DATABLOCK_IDPROPERTIES
Definition RNA_types.hh:731
@ STRUCT_CONTAINS_DATABLOCK_IDPROPERTIES
Definition RNA_types.hh:733
@ STRUCT_NO_IDPROPERTIES
Definition RNA_types.hh:729
@ STRUCT_PUBLIC_NAMESPACE_INHERIT
Definition RNA_types.hh:737
@ STRUCT_UNDO
Definition RNA_types.hh:722
void(*)(PointerRNA *ptr, PropertyRNA *prop, float *values) FloatArrayPropertyGetFunc
Definition RNA_types.hh:551
void(*)(PointerRNA *ptr, PropertyRNA *prop, const char *value) StringPropertySetFunc
Definition RNA_types.hh:559
eStringPropertySearchFlag
Definition RNA_types.hh:570
@ PROP_STRING_SEARCH_SUGGESTION
Definition RNA_types.hh:584
@ PROP_STRING_SEARCH_SORT
Definition RNA_types.hh:577
@ PROP_STRING_SEARCH_SUPPORTED
Definition RNA_types.hh:575
void(*)(PointerRNA *ptr, PropertyRNA *prop, int *values) IntArrayPropertyGetFunc
Definition RNA_types.hh:545
int(*)(PointerRNA *ptr, void *data, bool *have_function) StructValidateFunc
Definition RNA_types.hh:746
void(*)(PointerRNA *ptr, PropertyRNA *prop, int value) EnumPropertySetFunc
Definition RNA_types.hh:606
void(*)(PointerRNA *ptr, PropertyRNA *prop, const int *values) IntArrayPropertySetFunc
Definition RNA_types.hh:546
PropertyType
Definition RNA_types.hh:64
@ PROP_FLOAT
Definition RNA_types.hh:67
@ PROP_BOOLEAN
Definition RNA_types.hh:65
@ PROP_ENUM
Definition RNA_types.hh:69
@ PROP_INT
Definition RNA_types.hh:66
@ PROP_STRING
Definition RNA_types.hh:68
@ PROP_POINTER
Definition RNA_types.hh:70
@ PROP_COLLECTION
Definition RNA_types.hh:71
void(*)(PointerRNA *ptr, PropertyRNA *prop, int *min, int *max, int *softmin, int *softmax) IntPropertyRangeFunc
Definition RNA_types.hh:547
bool(*)(Main *bmain, StructRNA *type) StructUnregisterFunc
Definition RNA_types.hh:760
void(*)(const bContext *C, PointerRNA *ptr, PropertyRNA *prop, const char *edit_text, blender::FunctionRef< void(StringPropertySearchVisitParams)> visit_fn) StringPropertySearchFunc
Definition RNA_types.hh:598
void(*)(void *data) StructFreeFunc
Definition RNA_types.hh:751
bool(*)(PointerRNA *ptr, PropertyRNA *prop) BooleanPropertyGetFunc
Definition RNA_types.hh:537
void **(*)(PointerRNA *ptr) StructInstanceFunc
Definition RNA_types.hh:761
PropertyUnit
Definition RNA_types.hh:75
@ PROP_UNIT_VOLUME
Definition RNA_types.hh:79
@ PROP_UNIT_POWER
Definition RNA_types.hh:87
@ PROP_UNIT_ROTATION
Definition RNA_types.hh:81
@ PROP_UNIT_FREQUENCY
Definition RNA_types.hh:91
@ PROP_UNIT_WAVELENGTH
Definition RNA_types.hh:89
@ PROP_UNIT_VELOCITY
Definition RNA_types.hh:84
@ PROP_UNIT_LENGTH
Definition RNA_types.hh:77
@ PROP_UNIT_NONE
Definition RNA_types.hh:76
@ PROP_UNIT_ACCELERATION
Definition RNA_types.hh:85
@ PROP_UNIT_AREA
Definition RNA_types.hh:78
@ PROP_UNIT_TIME
Definition RNA_types.hh:82
@ PROP_UNIT_CAMERA
Definition RNA_types.hh:86
@ PROP_UNIT_TEMPERATURE
Definition RNA_types.hh:88
@ PROP_UNIT_MASS
Definition RNA_types.hh:80
@ PROP_UNIT_TIME_ABSOLUTE
Definition RNA_types.hh:83
@ PROP_UNIT_COLOR_TEMPERATURE
Definition RNA_types.hh:90
StructRNA *(*)(Main *bmain, ReportList *reports, void *data, const char *identifier, StructValidateFunc validate, StructCallbackFunc call, StructFreeFunc free) StructRegisterFunc
Definition RNA_types.hh:752
int(*)(bContext *C, PointerRNA *ptr, FunctionRNA *func, ParameterList *list) StructCallbackFunc
Definition RNA_types.hh:747
float(*)(PointerRNA *ptr, PropertyRNA *prop) FloatPropertyGetFunc
Definition RNA_types.hh:549
int(*)(PointerRNA *ptr, PropertyRNA *prop) IntPropertyGetFunc
Definition RNA_types.hh:543
void(*)(PointerRNA *ptr, PropertyRNA *prop, float value) FloatPropertySetFunc
Definition RNA_types.hh:550
PropertyOverrideFlag
Definition RNA_types.hh:353
@ PROPOVERRIDE_OVERRIDABLE_LIBRARY
Definition RNA_types.hh:355
@ PROPOVERRIDE_NO_COMPARISON
Definition RNA_types.hh:363
@ PROPOVERRIDE_IGNORE
Definition RNA_types.hh:375
@ PROPOVERRIDE_LIBRARY_INSERTION
Definition RNA_types.hh:380
@ PROPOVERRIDE_NO_PROP_NAME
Definition RNA_types.hh:388
void(*)( PointerRNA *ptr, PropertyRNA *prop, float *min, float *max, float *softmin, float *softmax) FloatPropertyRangeFunc
Definition RNA_types.hh:555
void(*)(PointerRNA *ptr, PropertyRNA *prop, int value) IntPropertySetFunc
Definition RNA_types.hh:544
void(*)(bContext *C, ReportList *reports, PointerRNA *ptr, ParameterList *parms) CallFunc
Definition RNA_types.hh:711
RawPropertyType
Definition RNA_types.hh:471
@ PROP_RAW_INT8
Definition RNA_types.hh:483
@ PROP_RAW_UINT64
Definition RNA_types.hh:482
@ PROP_RAW_INT
Definition RNA_types.hh:473
@ PROP_RAW_INT64
Definition RNA_types.hh:481
@ PROP_RAW_UNSET
Definition RNA_types.hh:472
@ PROP_RAW_BOOLEAN
Definition RNA_types.hh:476
@ PROP_RAW_CHAR
Definition RNA_types.hh:475
@ PROP_RAW_FLOAT
Definition RNA_types.hh:478
@ PROP_RAW_DOUBLE
Definition RNA_types.hh:477
@ PROP_RAW_UINT8
Definition RNA_types.hh:479
@ PROP_RAW_UINT16
Definition RNA_types.hh:480
@ PROP_RAW_SHORT
Definition RNA_types.hh:474
PropertyFlag
Definition RNA_types.hh:201
@ PROP_THICK_WRAP
Definition RNA_types.hh:312
@ PROP_PATH_OUTPUT
Definition RNA_types.hh:340
@ PROP_DYNAMIC
Definition RNA_types.hh:317
@ PROP_CONTEXT_UPDATE
Definition RNA_types.hh:296
@ PROP_ANIMATABLE
Definition RNA_types.hh:220
@ PROP_PROPORTIONAL
Definition RNA_types.hh:250
@ PROP_NEVER_UNLINK
Definition RNA_types.hh:273
@ PROP_EDITABLE
Definition RNA_types.hh:207
@ PROP_ENUM_FLAG
Definition RNA_types.hh:293
@ PROP_LIB_EXCEPTION
Definition RNA_types.hh:213
@ PROP_CONTEXT_PROPERTY_UPDATE
Definition RNA_types.hh:297
@ PROP_REGISTER_OPTIONAL
Definition RNA_types.hh:301
@ PROP_ENUM_NO_CONTEXT
Definition RNA_types.hh:319
@ PROP_NEVER_NULL
Definition RNA_types.hh:266
@ PROP_NO_DEG_UPDATE
Definition RNA_types.hh:328
@ PROP_ICONS_CONSECUTIVE
Definition RNA_types.hh:230
@ PROP_ENUM_NO_TRANSLATE
Definition RNA_types.hh:321
@ PROP_REGISTER
Definition RNA_types.hh:300
@ PROP_PTR_NO_OWNERSHIP
Definition RNA_types.hh:284
@ PROP_ICONS_REVERSE
Definition RNA_types.hh:231
@ PROP_DEG_SYNC_ONLY
Definition RNA_types.hh:334
@ PROP_SKIP_SAVE
Definition RNA_types.hh:245
@ PROP_ID_SELF_CHECK
Definition RNA_types.hh:259
@ PROP_SKIP_PRESET
Definition RNA_types.hh:343
@ PROP_TEXTEDIT_UPDATE
Definition RNA_types.hh:227
@ PROP_HIDDEN
Definition RNA_types.hh:239
@ PROP_ID_REFCOUNT
Definition RNA_types.hh:253
@ PROP_IDPROPERTY
Definition RNA_types.hh:315
const EnumPropertyItem *(*)(bContext *C, PointerRNA *ptr, PropertyRNA *prop, bool *r_free) EnumPropertyItemFunc
Definition RNA_types.hh:608
void(*)(PointerRNA *ptr, PropertyRNA *prop, bool value) BooleanPropertySetFunc
Definition RNA_types.hh:538
void(*)(PointerRNA *ptr, PropertyRNA *prop, const float *values) FloatArrayPropertySetFunc
Definition RNA_types.hh:552
PropertySubType
Definition RNA_types.hh:135
@ PROP_TIME
Definition RNA_types.hh:156
@ PROP_MATRIX
Definition RNA_types.hh:168
@ PROP_DIRECTION
Definition RNA_types.hh:165
@ PROP_XYZ
Definition RNA_types.hh:172
@ PROP_DISTANCE
Definition RNA_types.hh:159
@ PROP_ACCELERATION
Definition RNA_types.hh:167
@ PROP_TEMPERATURE
Definition RNA_types.hh:187
@ PROP_BYTESTRING
Definition RNA_types.hh:143
@ PROP_POWER
Definition RNA_types.hh:184
@ PROP_LAYER_MEMBER
Definition RNA_types.hh:181
@ PROP_FILENAME
Definition RNA_types.hh:141
@ PROP_PASSWORD
Definition RNA_types.hh:146
@ PROP_COLOR
Definition RNA_types.hh:163
@ PROP_PIXEL
Definition RNA_types.hh:151
@ PROP_ANGLE
Definition RNA_types.hh:155
@ PROP_TIME_ABSOLUTE
Definition RNA_types.hh:157
@ PROP_DISTANCE_CAMERA
Definition RNA_types.hh:160
@ PROP_AXISANGLE
Definition RNA_types.hh:171
@ PROP_EULER
Definition RNA_types.hh:169
@ PROP_COORDS
Definition RNA_types.hh:177
@ PROP_COLOR_TEMPERATURE
Definition RNA_types.hh:193
@ PROP_NONE
Definition RNA_types.hh:136
@ PROP_DIRPATH
Definition RNA_types.hh:140
@ PROP_PERCENTAGE
Definition RNA_types.hh:153
@ PROP_FREQUENCY
Definition RNA_types.hh:195
@ PROP_FACTOR
Definition RNA_types.hh:154
@ PROP_COLOR_GAMMA
Definition RNA_types.hh:175
@ PROP_TRANSLATION
Definition RNA_types.hh:164
@ PROP_XYZ_LENGTH
Definition RNA_types.hh:173
@ PROP_UNSIGNED
Definition RNA_types.hh:152
@ PROP_LAYER
Definition RNA_types.hh:180
@ PROP_QUATERNION
Definition RNA_types.hh:170
@ PROP_FILEPATH
Definition RNA_types.hh:139
@ PROP_VELOCITY
Definition RNA_types.hh:166
@ PROP_WAVELENGTH
Definition RNA_types.hh:190
constexpr PointerRNA PointerRNA_NULL
Definition RNA_types.hh:45
#define C
Definition RandGen.cpp:29
draw_view in_light_buf[] float
draw_view push_constant(Type::INT, "radiance_src") .push_constant(Type capture_info_buf storage_buf(1, Qualifier::READ, "ObjectBounds", "bounds_buf[]") .push_constant(Type draw_view int
#define min(a, b)
Definition sort.c:32
_W64 int intptr_t
Definition stdint.h:118
void * free_ptr
Definition RNA_types.hh:426
IteratorSkipFunc skip
Definition RNA_types.hh:440
ListBaseIterator listbase
Definition RNA_types.hh:455
union CollectionPropertyIterator::@1329 internal
blender::Vector< PointerRNA > items
Definition RNA_types.hh:468
const char * identifier
Definition RNA_types.hh:506
const char * name
Definition RNA_types.hh:510
const char * description
Definition RNA_types.hh:512
StructRNA * srna
Definition RNA_types.hh:780
StructCallbackFunc call
Definition RNA_types.hh:781
StructFreeFunc free
Definition RNA_types.hh:782
Definition DNA_ID.h:413
IteratorSkipFunc skip
Definition RNA_types.hh:418
ParameterList * parms
Definition RNA_types.hh:631
PropertyRNA * parm
Definition RNA_types.hh:636
FunctionRNA * func
Definition RNA_types.hh:622
PointerRNA ptr
Definition RNA_types.hh:56
PropertyRNA * prop
Definition RNA_types.hh:57
ID * owner_id
Definition RNA_types.hh:40
StructRNA * type
Definition RNA_types.hh:41
void * data
Definition RNA_types.hh:42
const char * value
Definition RNA_types.hh:788
PropertyRNA * prop
Definition RNA_types.hh:49
RawPropertyType type
Definition RNA_types.hh:488
void * array
Definition RNA_types.hh:487
std::optional< int > icon_id
Definition RNA_types.hh:567
std::optional< std::string > info
Definition RNA_types.hh:565
float max
PointerRNA * ptr
Definition wm_files.cc:4126