Blender  V2.93
rna_internal_types.h
Go to the documentation of this file.
1 /*
2  * This program is free software; you can redistribute it and/or
3  * modify it under the terms of the GNU General Public License
4  * as published by the Free Software Foundation; either version 2
5  * of the License, or (at your option) any later version.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program; if not, write to the Free Software Foundation,
14  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15  */
16 
21 #pragma once
22 
23 #include "DNA_listBase.h"
24 
25 #include "RNA_types.h"
26 
27 struct BlenderRNA;
29 struct ContainerRNA;
30 struct FunctionRNA;
31 struct GHash;
32 struct IDOverrideLibrary;
34 struct IDProperty;
35 struct Main;
36 struct PointerRNA;
37 struct PropertyRNA;
38 struct ReportList;
39 struct Scene;
40 struct StructRNA;
41 struct bContext;
42 
43 typedef struct IDProperty IDProperty;
44 
45 /* store local properties here */
46 #define RNA_IDP_UI "_RNA_UI"
47 
48 /* Function Callbacks */
49 
50 typedef void (*UpdateFunc)(struct Main *main, struct Scene *scene, struct PointerRNA *ptr);
51 typedef void (*ContextPropUpdateFunc)(struct bContext *C,
52  struct PointerRNA *ptr,
53  struct PropertyRNA *prop);
54 typedef void (*ContextUpdateFunc)(struct bContext *C, struct PointerRNA *ptr);
55 typedef int (*EditableFunc)(struct PointerRNA *ptr, const char **r_info);
56 typedef int (*ItemEditableFunc)(struct PointerRNA *ptr, int index);
57 typedef struct IDProperty *(*IDPropertiesFunc)(struct PointerRNA *ptr, bool create);
58 typedef struct StructRNA *(*StructRefineFunc)(struct PointerRNA *ptr);
59 typedef char *(*StructPathFunc)(struct PointerRNA *ptr);
60 
62 typedef bool (*PropBooleanGetFunc)(struct PointerRNA *ptr);
63 typedef void (*PropBooleanSetFunc)(struct PointerRNA *ptr, bool value);
64 typedef void (*PropBooleanArrayGetFunc)(struct PointerRNA *ptr, bool *values);
65 typedef void (*PropBooleanArraySetFunc)(struct PointerRNA *ptr, const bool *values);
66 typedef int (*PropIntGetFunc)(struct PointerRNA *ptr);
67 typedef void (*PropIntSetFunc)(struct PointerRNA *ptr, int value);
68 typedef void (*PropIntArrayGetFunc)(struct PointerRNA *ptr, int *values);
69 typedef void (*PropIntArraySetFunc)(struct PointerRNA *ptr, const int *values);
70 typedef void (*PropIntRangeFunc)(
71  struct PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax);
72 typedef float (*PropFloatGetFunc)(struct PointerRNA *ptr);
73 typedef void (*PropFloatSetFunc)(struct PointerRNA *ptr, float value);
74 typedef void (*PropFloatArrayGetFunc)(struct PointerRNA *ptr, float *values);
75 typedef void (*PropFloatArraySetFunc)(struct PointerRNA *ptr, const float *values);
76 typedef void (*PropFloatRangeFunc)(
77  struct PointerRNA *ptr, float *min, float *max, float *softmin, float *softmax);
78 typedef void (*PropStringGetFunc)(struct PointerRNA *ptr, char *value);
79 typedef int (*PropStringLengthFunc)(struct PointerRNA *ptr);
80 typedef void (*PropStringSetFunc)(struct PointerRNA *ptr, const char *value);
81 typedef int (*PropEnumGetFunc)(struct PointerRNA *ptr);
82 typedef void (*PropEnumSetFunc)(struct PointerRNA *ptr, int value);
83 typedef const EnumPropertyItem *(*PropEnumItemFunc)(struct bContext *C,
84  struct PointerRNA *ptr,
85  struct PropertyRNA *prop,
86  bool *r_free);
88 typedef StructRNA *(*PropPointerTypeFunc)(struct PointerRNA *ptr);
89 typedef void (*PropPointerSetFunc)(struct PointerRNA *ptr,
90  const PointerRNA value,
91  struct ReportList *reports);
92 typedef bool (*PropPointerPollFunc)(struct PointerRNA *ptr, const PointerRNA value);
93 typedef bool (*PropPointerPollFuncPy)(struct PointerRNA *ptr,
94  const PointerRNA value,
95  const PropertyRNA *prop);
97  struct PointerRNA *ptr);
98 typedef void (*PropCollectionNextFunc)(struct CollectionPropertyIterator *iter);
99 typedef void (*PropCollectionEndFunc)(struct CollectionPropertyIterator *iter);
101 typedef int (*PropCollectionLengthFunc)(struct PointerRNA *ptr);
103  int key,
104  struct PointerRNA *r_ptr);
106  const char *key,
107  struct PointerRNA *r_ptr);
109  int key,
110  const struct PointerRNA *assign_ptr);
111 
112 /* extended versions with PropertyRNA argument */
113 typedef bool (*PropBooleanGetFuncEx)(struct PointerRNA *ptr, struct PropertyRNA *prop);
114 typedef void (*PropBooleanSetFuncEx)(struct PointerRNA *ptr, struct PropertyRNA *prop, bool value);
115 typedef void (*PropBooleanArrayGetFuncEx)(struct PointerRNA *ptr,
116  struct PropertyRNA *prop,
117  bool *values);
118 typedef void (*PropBooleanArraySetFuncEx)(struct PointerRNA *ptr,
119  struct PropertyRNA *prop,
120  const bool *values);
121 typedef int (*PropIntGetFuncEx)(struct PointerRNA *ptr, struct PropertyRNA *prop);
122 typedef void (*PropIntSetFuncEx)(struct PointerRNA *ptr, struct PropertyRNA *prop, int value);
123 typedef void (*PropIntArrayGetFuncEx)(struct PointerRNA *ptr,
124  struct PropertyRNA *prop,
125  int *values);
126 typedef void (*PropIntArraySetFuncEx)(struct PointerRNA *ptr,
127  struct PropertyRNA *prop,
128  const int *values);
129 typedef void (*PropIntRangeFuncEx)(struct PointerRNA *ptr,
130  struct PropertyRNA *prop,
131  int *min,
132  int *max,
133  int *softmin,
134  int *softmax);
135 typedef float (*PropFloatGetFuncEx)(struct PointerRNA *ptr, struct PropertyRNA *prop);
136 typedef void (*PropFloatSetFuncEx)(struct PointerRNA *ptr, struct PropertyRNA *prop, float value);
137 typedef void (*PropFloatArrayGetFuncEx)(struct PointerRNA *ptr,
138  struct PropertyRNA *prop,
139  float *values);
140 typedef void (*PropFloatArraySetFuncEx)(struct PointerRNA *ptr,
141  struct PropertyRNA *prop,
142  const float *values);
143 typedef void (*PropFloatRangeFuncEx)(struct PointerRNA *ptr,
144  struct PropertyRNA *prop,
145  float *min,
146  float *max,
147  float *softmin,
148  float *softmax);
149 typedef void (*PropStringGetFuncEx)(struct PointerRNA *ptr, struct PropertyRNA *prop, char *value);
150 typedef int (*PropStringLengthFuncEx)(struct PointerRNA *ptr, struct PropertyRNA *prop);
151 typedef void (*PropStringSetFuncEx)(struct PointerRNA *ptr,
152  struct PropertyRNA *prop,
153  const char *value);
154 typedef int (*PropEnumGetFuncEx)(struct PointerRNA *ptr, struct PropertyRNA *prop);
155 typedef void (*PropEnumSetFuncEx)(struct PointerRNA *ptr, struct PropertyRNA *prop, int value);
156 
157 /* Handling override operations, and also comparison. */
158 
160 typedef struct PropertyRNAOrID {
162 
183  const char *identifier;
184 
186  bool is_idprop;
190  bool is_set;
191 
192  bool is_array;
195 
205 typedef int (*RNAPropOverrideDiff)(struct Main *bmain,
206  struct PropertyRNAOrID *prop_a,
207  struct PropertyRNAOrID *prop_b,
208  const int mode,
209  struct IDOverrideLibrary *override,
210  const char *rna_path,
211  const size_t rna_path_len,
212  const int flags,
213  bool *r_override_changed);
214 
225 typedef bool (*RNAPropOverrideStore)(struct Main *bmain,
226  struct PointerRNA *ptr_local,
227  struct PointerRNA *ptr_reference,
228  struct PointerRNA *ptr_storage,
229  struct PropertyRNA *prop_local,
230  struct PropertyRNA *prop_reference,
231  struct PropertyRNA *prop_storage,
232  const int len_local,
233  const int len_reference,
234  const int len_storage,
236 
244 typedef bool (*RNAPropOverrideApply)(struct Main *bmain,
245  struct PointerRNA *ptr_dst,
246  struct PointerRNA *ptr_src,
247  struct PointerRNA *ptr_storage,
248  struct PropertyRNA *prop_dst,
249  struct PropertyRNA *prop_src,
250  struct PropertyRNA *prop_storage,
251  const int len_dst,
252  const int len_src,
253  const int len_storage,
254  struct PointerRNA *ptr_item_dst,
255  struct PointerRNA *ptr_item_src,
256  struct PointerRNA *ptr_item_storage,
258 
259 /* Container - generic abstracted container of RNA properties */
260 typedef struct ContainerRNA {
261  void *next, *prev;
262 
263  struct GHash *prophash;
266 
267 struct FunctionRNA {
268  /* structs are containers of properties */
270 
271  /* unique identifier, keep after 'cont' */
272  const char *identifier;
273  /* various options */
274  int flag;
275 
276  /* single line description, displayed in the tooltip for example */
277  const char *description;
278 
279  /* callback to execute the function */
281 
282  /* parameter for the return value
283  * note: this is only the C return value, rna functions can have multiple return values */
285 };
286 
287 struct PropertyRNA {
288  struct PropertyRNA *next, *prev;
289 
290  /* magic bytes to distinguish with IDProperty */
291  int magic;
292 
293  /* unique identifier */
294  const char *identifier;
295  /* various options */
296  int flag;
297  /* various override options */
299  /* Function parameters flags. */
301  /* Internal ("private") flags. */
303  /* The subset of StructRNA.prop_tag_defines values that applies to this property. */
304  short tags;
305 
306  /* user readable name */
307  const char *name;
308  /* single line description, displayed in the tooltip for example */
309  const char *description;
310  /* icon ID */
311  int icon;
312  /* context for translation */
313  const char *translation_context;
314 
315  /* property type as it appears to the outside */
317  /* subtype, 'interpretation' of the property */
319  /* if non-NULL, overrides arraylength. Must not return 0? */
321  /* dimension of array */
322  unsigned int arraydimension;
323  /* array lengths lengths for all dimensions (when arraydimension > 0) */
325  unsigned int totarraylength;
326 
327  /* callback for updates on change */
329  int noteflag;
330 
331  /* Callback for testing if editable. Its r_info parameter can be used to
332  * return info on editable state that might be shown to user. E.g. tooltips
333  * of disabled buttons can show reason why button is disabled using this. */
335  /* callback for testing if array-item editable (if applicable) */
337 
338  /* Override handling callbacks (diff is also used for comparison). */
342 
343  /* raw access */
346 
347  /* This is used for accessing props/functions of this property
348  * any property can have this but should only be used for collections and arrays
349  * since python will convert int/bool/pointer's */
350  struct StructRNA *srna; /* attributes attached directly to this collection */
351 
352  /* python handle to hold all callbacks
353  * (in a pointer array at the moment, may later be a tuple) */
354  void *py_data;
355 };
356 
357 /* internal flags WARNING! 16bits only! */
358 typedef enum PropertyFlagIntern {
364  /* Negative mirror of PROP_PTR_NO_OWNERSHIP, used to prevent automatically setting that one in
365  * makesrna when pointer is an ID... */
368 
369 /* Property Types */
370 
371 typedef struct BoolPropertyRNA {
373 
378 
383 
385  const bool *defaultarray;
387 
388 typedef struct IntPropertyRNA {
390 
396 
402 
405  int step;
406 
408  const int *defaultarray;
410 
411 typedef struct FloatPropertyRNA {
413 
419 
425 
426  float softmin, softmax;
427  float hardmin, hardmax;
428  float step;
430 
432  const float *defaultarray;
434 
435 typedef struct StringPropertyRNA {
437 
441 
445 
446  int maxlength; /* includes string terminator! */
447 
448  const char *defaultvalue;
450 
451 typedef struct EnumPropertyRNA {
453 
457 
460 
462  int totitem;
463 
465  const char *native_enum_type;
467 
468 typedef struct PointerPropertyRNA {
470 
476 
477  struct StructRNA *type;
479 
480 typedef struct CollectionPropertyRNA {
482 
485  PropCollectionEndFunc end; /* optional */
491 
492  struct StructRNA *item_type; /* the type of this item */
494 
495 /* changes to this struct require updating rna_generate_struct in makesrna.c */
496 struct StructRNA {
497  /* structs are containers of properties */
499 
500  /* unique identifier, keep after 'cont' */
501  const char *identifier;
502 
505  void *py_type;
507 
508  /* various options */
509  int flag;
510  /* Each StructRNA type can define own tags which properties can set
511  * (PropertyRNA.tags) for changed behavior based on struct-type. */
513 
514  /* user readable name */
515  const char *name;
516  /* single line description, displayed in the tooltip for example */
517  const char *description;
518  /* context for translation */
519  const char *translation_context;
520  /* icon ID */
521  int icon;
522 
523  /* property that defines the name */
525 
526  /* property to iterate over properties */
528 
529  /* struct this is derivedfrom */
530  struct StructRNA *base;
531 
532  /* only use for nested structs, where both the parent and child access
533  * the same C Struct but nesting is used for grouping properties.
534  * The parent property is used so we know NULL checks are not needed,
535  * and that this struct will never exist without its parent */
536  struct StructRNA *nested;
537 
538  /* function to give the more specific type */
540 
541  /* function to find path to this struct in an ID */
543 
544  /* function to register/unregister subclasses */
559 
560  /* callback to get id properties */
562 
563  /* functions of this struct */
565 };
566 
567 /* Blender RNA
568  *
569  * Root RNA data structure that lists all struct types. */
570 
571 struct BlenderRNA {
573  /* A map of structs: {StructRNA.identifier -> StructRNA}
574  * These are ensured to have unique names (with STRUCT_PUBLIC_NAMESPACE enabled). */
576  /* Needed because types with an empty identifier aren't included in 'structs_map'. */
577  unsigned int structs_len;
578 };
579 
580 #define CONTAINER_RNA_ID(cont) (*(const char **)(((ContainerRNA *)(cont)) + 1))
typedef float(TangentPoint)[2]
unsigned int uint
Definition: BLI_sys_types.h:83
These structs are the foundation for all linked lists in the library system.
#define RNA_MAX_ARRAY_DIMENSION
Definition: RNA_define.h:42
struct StructRNA *(* StructRegisterFunc)(struct Main *bmain, struct ReportList *reports, void *data, const char *identifier, StructValidateFunc validate, StructCallbackFunc call, StructFreeFunc free)
Definition: RNA_types.h:653
void **(* StructInstanceFunc)(PointerRNA *ptr)
Definition: RNA_types.h:662
PropertyType
Definition: RNA_types.h:72
struct PointerRNA PointerRNA
void(* CallFunc)(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, ParameterList *parms)
Definition: RNA_types.h:609
void(* StructUnregisterFunc)(struct Main *bmain, struct StructRNA *type)
Definition: RNA_types.h:661
RawPropertyType
Definition: RNA_types.h:416
PropertySubType
Definition: RNA_types.h:112
#define C
Definition: RandGen.cpp:39
SIMD_FORCE_INLINE btScalar length(const btQuaternion &q)
Return the length of a quaternion.
Definition: btQuaternion.h:895
Scene scene
int main(int argc, char **argv)
Definition: msgfmt.c:457
bool(* RNAPropOverrideStore)(struct Main *bmain, struct PointerRNA *ptr_local, struct PointerRNA *ptr_reference, struct PointerRNA *ptr_storage, struct PropertyRNA *prop_local, struct PropertyRNA *prop_reference, struct PropertyRNA *prop_storage, const int len_local, const int len_reference, const int len_storage, struct IDOverrideLibraryPropertyOperation *opop)
StructRNA *(* PropPointerTypeFunc)(struct PointerRNA *ptr)
void(* PropIntSetFunc)(struct PointerRNA *ptr, int value)
void(* UpdateFunc)(struct Main *main, struct Scene *scene, struct PointerRNA *ptr)
void(* PropBooleanArrayGetFunc)(struct PointerRNA *ptr, bool *values)
struct IntPropertyRNA IntPropertyRNA
void(* PropEnumSetFunc)(struct PointerRNA *ptr, int value)
bool(* RNAPropOverrideApply)(struct Main *bmain, struct PointerRNA *ptr_dst, struct PointerRNA *ptr_src, struct PointerRNA *ptr_storage, struct PropertyRNA *prop_dst, struct PropertyRNA *prop_src, struct PropertyRNA *prop_storage, const int len_dst, const int len_src, const int len_storage, struct PointerRNA *ptr_item_dst, struct PointerRNA *ptr_item_src, struct PointerRNA *ptr_item_storage, struct IDOverrideLibraryPropertyOperation *opop)
void(* PropStringSetFuncEx)(struct PointerRNA *ptr, struct PropertyRNA *prop, const char *value)
int(* PropIntGetFuncEx)(struct PointerRNA *ptr, struct PropertyRNA *prop)
void(* ContextUpdateFunc)(struct bContext *C, struct PointerRNA *ptr)
struct IDProperty *(* IDPropertiesFunc)(struct PointerRNA *ptr, bool create)
int(* PropCollectionAssignIntFunc)(struct PointerRNA *ptr, int key, const struct PointerRNA *assign_ptr)
void(* ContextPropUpdateFunc)(struct bContext *C, struct PointerRNA *ptr, struct PropertyRNA *prop)
void(* PropIntArrayGetFunc)(struct PointerRNA *ptr, int *values)
void(* PropIntArraySetFuncEx)(struct PointerRNA *ptr, struct PropertyRNA *prop, const int *values)
void(* PropFloatArrayGetFuncEx)(struct PointerRNA *ptr, struct PropertyRNA *prop, float *values)
void(* PropIntSetFuncEx)(struct PointerRNA *ptr, struct PropertyRNA *prop, int value)
PointerRNA(* PropCollectionGetFunc)(struct CollectionPropertyIterator *iter)
void(* PropBooleanSetFuncEx)(struct PointerRNA *ptr, struct PropertyRNA *prop, bool value)
void(* PropStringSetFunc)(struct PointerRNA *ptr, const char *value)
void(* PropFloatArraySetFuncEx)(struct PointerRNA *ptr, struct PropertyRNA *prop, const float *values)
bool(* PropBooleanGetFuncEx)(struct PointerRNA *ptr, struct PropertyRNA *prop)
char *(* StructPathFunc)(struct PointerRNA *ptr)
bool(* PropPointerPollFunc)(struct PointerRNA *ptr, const PointerRNA value)
PropertyFlagIntern
@ PROP_INTERN_BUILTIN
@ PROP_INTERN_RAW_ACCESS
@ PROP_INTERN_PTR_OWNERSHIP_FORCED
@ PROP_INTERN_FREE_POINTERS
@ PROP_INTERN_RAW_ARRAY
@ PROP_INTERN_RUNTIME
void(* PropFloatRangeFunc)(struct PointerRNA *ptr, float *min, float *max, float *softmin, float *softmax)
int(* PropStringLengthFunc)(struct PointerRNA *ptr)
float(* PropFloatGetFuncEx)(struct PointerRNA *ptr, struct PropertyRNA *prop)
void(* PropCollectionNextFunc)(struct CollectionPropertyIterator *iter)
struct StructRNA *(* StructRefineFunc)(struct PointerRNA *ptr)
int(* PropEnumGetFuncEx)(struct PointerRNA *ptr, struct PropertyRNA *prop)
int(* PropCollectionLengthFunc)(struct PointerRNA *ptr)
void(* PropPointerSetFunc)(struct PointerRNA *ptr, const PointerRNA value, struct ReportList *reports)
void(* PropEnumSetFuncEx)(struct PointerRNA *ptr, struct PropertyRNA *prop, int value)
int(* PropStringLengthFuncEx)(struct PointerRNA *ptr, struct PropertyRNA *prop)
struct PointerPropertyRNA PointerPropertyRNA
void(* PropFloatSetFunc)(struct PointerRNA *ptr, float value)
void(* PropBooleanArraySetFunc)(struct PointerRNA *ptr, const bool *values)
void(* PropIntArrayGetFuncEx)(struct PointerRNA *ptr, struct PropertyRNA *prop, int *values)
struct FloatPropertyRNA FloatPropertyRNA
void(* PropStringGetFunc)(struct PointerRNA *ptr, char *value)
const EnumPropertyItem *(* PropEnumItemFunc)(struct bContext *C, struct PointerRNA *ptr, struct PropertyRNA *prop, bool *r_free)
void(* PropIntArraySetFunc)(struct PointerRNA *ptr, const int *values)
bool(* PropBooleanGetFunc)(struct PointerRNA *ptr)
int(* ItemEditableFunc)(struct PointerRNA *ptr, int index)
void(* PropBooleanSetFunc)(struct PointerRNA *ptr, bool value)
struct PropertyRNAOrID PropertyRNAOrID
bool(* PropPointerPollFuncPy)(struct PointerRNA *ptr, const PointerRNA value, const PropertyRNA *prop)
void(* PropBooleanArrayGetFuncEx)(struct PointerRNA *ptr, struct PropertyRNA *prop, bool *values)
void(* PropFloatArraySetFunc)(struct PointerRNA *ptr, const float *values)
struct EnumPropertyRNA EnumPropertyRNA
struct CollectionPropertyRNA CollectionPropertyRNA
int(* PropEnumGetFunc)(struct PointerRNA *ptr)
PointerRNA(* PropPointerGetFunc)(struct PointerRNA *ptr)
void(* PropCollectionBeginFunc)(struct CollectionPropertyIterator *iter, struct PointerRNA *ptr)
void(* PropIntRangeFunc)(struct PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax)
int(* PropArrayLengthGetFunc)(struct PointerRNA *ptr, int length[RNA_MAX_ARRAY_DIMENSION])
struct ContainerRNA ContainerRNA
void(* PropCollectionEndFunc)(struct CollectionPropertyIterator *iter)
int(* PropCollectionLookupStringFunc)(struct PointerRNA *ptr, const char *key, struct PointerRNA *r_ptr)
struct BoolPropertyRNA BoolPropertyRNA
struct StringPropertyRNA StringPropertyRNA
int(* PropCollectionLookupIntFunc)(struct PointerRNA *ptr, int key, struct PointerRNA *r_ptr)
void(* PropIntRangeFuncEx)(struct PointerRNA *ptr, struct PropertyRNA *prop, int *min, int *max, int *softmin, int *softmax)
void(* PropFloatArrayGetFunc)(struct PointerRNA *ptr, float *values)
void(* PropFloatRangeFuncEx)(struct PointerRNA *ptr, struct PropertyRNA *prop, float *min, float *max, float *softmin, float *softmax)
int(* EditableFunc)(struct PointerRNA *ptr, const char **r_info)
float(* PropFloatGetFunc)(struct PointerRNA *ptr)
void(* PropFloatSetFuncEx)(struct PointerRNA *ptr, struct PropertyRNA *prop, float value)
int(* PropIntGetFunc)(struct PointerRNA *ptr)
void(* PropStringGetFuncEx)(struct PointerRNA *ptr, struct PropertyRNA *prop, char *value)
void(* PropBooleanArraySetFuncEx)(struct PointerRNA *ptr, struct PropertyRNA *prop, const bool *values)
int(* RNAPropOverrideDiff)(struct Main *bmain, struct PropertyRNAOrID *prop_a, struct PropertyRNAOrID *prop_b, const int mode, struct IDOverrideLibrary *override, const char *rna_path, const size_t rna_path_len, const int flags, bool *r_override_changed)
#define min(a, b)
Definition: sort.c:51
struct GHash * structs_map
unsigned int structs_len
PropBooleanArraySetFuncEx setarray_ex
PropBooleanArrayGetFuncEx getarray_ex
PropBooleanArraySetFunc setarray
const bool * defaultarray
PropBooleanSetFunc set
PropBooleanGetFunc get
PropBooleanSetFuncEx set_ex
PropBooleanGetFuncEx get_ex
PropBooleanArrayGetFunc getarray
PropCollectionNextFunc next
PropCollectionLookupStringFunc lookupstring
PropCollectionLengthFunc length
struct StructRNA * item_type
PropCollectionLookupIntFunc lookupint
PropCollectionBeginFunc begin
PropCollectionAssignIntFunc assignint
PropCollectionEndFunc end
PropCollectionGetFunc get
struct GHash * prophash
const EnumPropertyItem * item
PropEnumSetFuncEx set_ex
PropEnumGetFunc get
const char * native_enum_type
PropEnumItemFunc item_fn
PropEnumGetFuncEx get_ex
PropEnumSetFunc set
PropFloatSetFuncEx set_ex
PropFloatGetFunc get
PropFloatRangeFuncEx range_ex
PropFloatArrayGetFuncEx getarray_ex
PropFloatArraySetFuncEx setarray_ex
PropFloatArrayGetFunc getarray
PropFloatSetFunc set
const float * defaultarray
PropFloatRangeFunc range
PropFloatArraySetFunc setarray
PropFloatGetFuncEx get_ex
const char * identifier
PropertyRNA * c_ret
ContainerRNA cont
const char * description
PropIntRangeFuncEx range_ex
PropIntGetFunc get
PropIntArrayGetFunc getarray
const int * defaultarray
PropIntArrayGetFuncEx getarray_ex
PropIntRangeFunc range
PropIntArraySetFunc setarray
PropIntGetFuncEx get_ex
PropIntSetFunc set
PropertyRNA property
PropIntArraySetFuncEx setarray_ex
PropIntSetFuncEx set_ex
Definition: BKE_main.h:116
PropPointerTypeFunc type_fn
struct StructRNA * type
PropPointerGetFunc get
PropPointerPollFunc poll
PropPointerSetFunc set
const char * identifier
PropertyRNA * rawprop
PropertyRNA * rnaprop
ItemEditableFunc itemeditable
PropArrayLengthGetFunc getlength
const char * translation_context
RNAPropOverrideApply override_apply
unsigned int arraydimension
struct PropertyRNA * next
EditableFunc editable
RNAPropOverrideStore override_store
RNAPropOverrideDiff override_diff
struct StructRNA * srna
PropertySubType subtype
struct PropertyRNA * prev
unsigned int arraylength[RNA_MAX_ARRAY_DIMENSION]
const char * description
const char * name
unsigned int totarraylength
const char * identifier
RawPropertyType rawtype
PropertyType type
UpdateFunc update
PropStringSetFunc set
const char * defaultvalue
PropStringLengthFuncEx length_ex
PropStringLengthFunc length
PropStringGetFuncEx get_ex
PropStringSetFuncEx set_ex
PropStringGetFunc get
StructRegisterFunc reg
StructUnregisterFunc unreg
const char * name
const char * identifier
StructInstanceFunc instance
ContainerRNA cont
struct StructRNA * nested
const char * translation_context
const EnumPropertyItem * prop_tag_defines
PropertyRNA * nameproperty
const char * description
IDPropertiesFunc idproperties
struct StructRNA * base
PropertyRNA * iteratorproperty
ListBase functions
StructRefineFunc refine
StructPathFunc path
float max
PointerRNA * ptr
Definition: wm_files.c:3157