Blender  V2.93
RNA_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 /* Use a define instead of `#pragma once` because of `BKE_addon.h`, `ED_object.h` & others. */
22 #ifndef __RNA_TYPES_H__
23 #define __RNA_TYPES_H__
24 
25 #include "../blenlib/BLI_sys_types.h"
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
31 struct BlenderRNA;
32 struct FunctionRNA;
33 struct ID;
34 struct Main;
35 struct ParameterList;
36 struct PropertyRNA;
37 struct ReportList;
38 struct StructRNA;
39 struct bContext;
40 
49 typedef struct PointerRNA {
50  struct ID *owner_id;
51  struct StructRNA *type;
52  void *data;
54 
55 typedef struct PropertyPointerRNA {
57  struct PropertyRNA *prop;
59 
63 typedef struct PathResolvedRNA {
64  struct PointerRNA ptr;
65  struct PropertyRNA *prop;
69 
70 /* Property */
71 
72 typedef enum PropertyType {
74  PROP_INT = 1,
77  PROP_ENUM = 4,
81 
82 /* also update rna_property_subtype_unit when you change this */
83 typedef enum PropertyUnit {
84  PROP_UNIT_NONE = (0 << 16),
85  PROP_UNIT_LENGTH = (1 << 16), /* m */
86  PROP_UNIT_AREA = (2 << 16), /* m^2 */
87  PROP_UNIT_VOLUME = (3 << 16), /* m^3 */
88  PROP_UNIT_MASS = (4 << 16), /* kg */
89  PROP_UNIT_ROTATION = (5 << 16), /* radians */
90  PROP_UNIT_TIME = (6 << 16), /* frame */
91  PROP_UNIT_VELOCITY = (7 << 16), /* m/s */
92  PROP_UNIT_ACCELERATION = (8 << 16), /* m/(s^2) */
93  PROP_UNIT_CAMERA = (9 << 16), /* mm */
94  PROP_UNIT_POWER = (10 << 16), /* W */
95  PROP_UNIT_TEMPERATURE = (11 << 16), /* C */
97 
98 #define RNA_SUBTYPE_UNIT(subtype) ((subtype)&0x00FF0000)
99 #define RNA_SUBTYPE_VALUE(subtype) ((subtype) & ~0x00FF0000)
100 #define RNA_SUBTYPE_UNIT_VALUE(subtype) ((subtype) >> 16)
101 
102 #define RNA_ENUM_BITFLAG_SIZE 32
103 
104 #define RNA_TRANSLATION_PREC_DEFAULT 5
105 
106 #define RNA_STACK_ARRAY 32
107 
112 typedef enum PropertySubType {
114 
115  /* strings */
121  /* 5 was used by "PROP_TRANSLATE" sub-type, which is now a flag. */
124 
125  /* numbers */
137 
138  /* number arrays */
148  PROP_XYZ = 29,
154 
155  /* booleans */
158 
161 
162  /* temperature */
165 
166 /* Make sure enums are updated with these */
167 /* HIGHEST FLAG IN USE: 1 << 31
168  * FREE FLAGS: 2, 9, 11, 13, 14, 15, 30 */
169 typedef enum PropertyFlag {
175  PROP_EDITABLE = (1 << 0),
181  PROP_LIB_EXCEPTION = (1 << 16),
188  PROP_ANIMATABLE = (1 << 1),
195  PROP_TEXTEDIT_UPDATE = (1u << 31),
196 
197  /* icon */
199  PROP_ICONS_REVERSE = (1 << 8),
200 
202  PROP_HIDDEN = (1 << 19),
204  PROP_SKIP_SAVE = (1 << 28),
205 
206  /* numbers */
207 
209  PROP_PROPORTIONAL = (1 << 26),
210 
211  /* pointers */
212  PROP_ID_REFCOUNT = (1 << 6),
213 
218  PROP_ID_SELF_CHECK = (1 << 20),
225  PROP_NEVER_NULL = (1 << 18),
232  PROP_NEVER_UNLINK = (1 << 25),
233 
243 
251  PROP_ENUM_FLAG = (1 << 21),
252 
253  /* need context for update function */
254  PROP_CONTEXT_UPDATE = (1 << 22),
256 
257  /* registering */
258  PROP_REGISTER = (1 << 4),
260 
270  PROP_THICK_WRAP = (1 << 23),
271 
273  PROP_IDPROPERTY = (1 << 10),
275  PROP_DYNAMIC = (1 << 17),
277  PROP_ENUM_NO_CONTEXT = (1 << 24),
280 
286  PROP_NO_DEG_UPDATE = (1 << 30),
288 
295 typedef enum PropertyOverrideFlag {
298 
306 
318 
319  /*** Collections-related ***/
320 
323 
331 
336 typedef enum ParameterFlag {
337  PARM_REQUIRED = (1 << 0),
338  PARM_OUTPUT = (1 << 1),
339  PARM_RNAPTR = (1 << 2),
349 
351 struct Link;
352 typedef int (*IteratorSkipFunc)(struct CollectionPropertyIterator *iter, void *data);
353 
354 typedef struct ListBaseIterator {
355  struct Link *link;
356  int flag;
359 
360 typedef struct ArrayIterator {
361  char *ptr;
363  char *endptr;
365  void *free_ptr;
366  int itemsize;
367 
372  int length;
373 
381 
382 typedef struct CountIterator {
383  void *ptr;
384  int item;
386 
388  /* internal */
391  struct PropertyRNA *prop;
392  union {
396  void *custom;
397  } internal;
398  int idprop;
399  int level;
400 
401  /* external */
403  int valid;
405 
406 typedef struct CollectionPointerLink {
410 
412 typedef struct CollectionListBase {
415 
416 typedef enum RawPropertyType {
418  PROP_RAW_INT, /* XXX - abused for types that are not set, eg. MFace.verts, needs fixing. */
425 
426 typedef struct RawArray {
427  void *array;
429  int len;
430  int stride;
432 
437 typedef struct EnumPropertyItem {
439  int value;
446  const char *identifier;
448  int icon;
450  const char *name;
452  const char *description;
454 
455 /* extended versions with PropertyRNA argument */
456 typedef bool (*BooleanPropertyGetFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop);
457 typedef void (*BooleanPropertySetFunc)(struct PointerRNA *ptr,
458  struct PropertyRNA *prop,
459  bool value);
461  struct PropertyRNA *prop,
462  bool *values);
464  struct PropertyRNA *prop,
465  const bool *values);
466 typedef int (*IntPropertyGetFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop);
467 typedef void (*IntPropertySetFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop, int value);
468 typedef void (*IntArrayPropertyGetFunc)(struct PointerRNA *ptr,
469  struct PropertyRNA *prop,
470  int *values);
471 typedef void (*IntArrayPropertySetFunc)(struct PointerRNA *ptr,
472  struct PropertyRNA *prop,
473  const int *values);
474 typedef void (*IntPropertyRangeFunc)(struct PointerRNA *ptr,
475  struct PropertyRNA *prop,
476  int *min,
477  int *max,
478  int *softmin,
479  int *softmax);
480 typedef float (*FloatPropertyGetFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop);
481 typedef void (*FloatPropertySetFunc)(struct PointerRNA *ptr,
482  struct PropertyRNA *prop,
483  float value);
484 typedef void (*FloatArrayPropertyGetFunc)(struct PointerRNA *ptr,
485  struct PropertyRNA *prop,
486  float *values);
487 typedef void (*FloatArrayPropertySetFunc)(struct PointerRNA *ptr,
488  struct PropertyRNA *prop,
489  const float *values);
490 typedef void (*FloatPropertyRangeFunc)(struct PointerRNA *ptr,
491  struct PropertyRNA *prop,
492  float *min,
493  float *max,
494  float *softmin,
495  float *softmax);
496 typedef void (*StringPropertyGetFunc)(struct PointerRNA *ptr,
497  struct PropertyRNA *prop,
498  char *value);
499 typedef int (*StringPropertyLengthFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop);
500 typedef void (*StringPropertySetFunc)(struct PointerRNA *ptr,
501  struct PropertyRNA *prop,
502  const char *value);
503 typedef int (*EnumPropertyGetFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop);
504 typedef void (*EnumPropertySetFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop, int value);
505 /* same as PropEnumItemFunc */
506 typedef const EnumPropertyItem *(*EnumPropertyItemFunc)(struct bContext *C,
507  PointerRNA *ptr,
508  struct PropertyRNA *prop,
509  bool *r_free);
510 
511 typedef struct PropertyRNA PropertyRNA;
512 
513 /* Parameter List */
514 
515 typedef struct ParameterList {
517  void *data;
518 
520  struct FunctionRNA *func;
521 
524 
527 
528 typedef struct ParameterIterator {
530  /* PointerRNA funcptr; */ /*UNUSED*/
531  void *data;
532  int size, offset;
533 
535  int valid;
537 
539 typedef struct ParameterDynAlloc {
542  void *array;
544 
545 /* Function */
546 
560 typedef enum FunctionFlag {
565  FUNC_USE_SELF_ID = (1 << 11),
566 
571  FUNC_NO_SELF = (1 << 0),
573  FUNC_USE_SELF_TYPE = (1 << 1),
574 
575  /* Pass Main, bContext and/or ReportList. */
576  FUNC_USE_MAIN = (1 << 2),
577  FUNC_USE_CONTEXT = (1 << 3),
578  FUNC_USE_REPORTS = (1 << 4),
579 
580  /***** Registering of Python subclasses. *****/
585  FUNC_REGISTER = (1 << 5),
593  FUNC_ALLOW_WRITE = (1 << 12),
594 
595  /***** Internal flags. *****/
597  FUNC_BUILTIN = (1 << 7),
599  FUNC_EXPORT = (1 << 8),
601  FUNC_RUNTIME = (1 << 9),
606  FUNC_FREE_POINTERS = (1 << 10),
608 
609 typedef void (*CallFunc)(struct bContext *C,
610  struct ReportList *reports,
611  PointerRNA *ptr,
612  ParameterList *parms);
613 
614 typedef struct FunctionRNA FunctionRNA;
615 
616 /* Struct */
617 
618 typedef enum StructFlag {
620  STRUCT_ID = (1 << 0),
621  STRUCT_ID_REFCOUNT = (1 << 1),
623  STRUCT_UNDO = (1 << 2),
624 
625  /* internal flags */
626  STRUCT_RUNTIME = (1 << 3),
627  /* STRUCT_GENERATED = (1 << 4), */ /* UNUSED */
646 
647 typedef int (*StructValidateFunc)(struct PointerRNA *ptr, void *data, int *have_function);
648 typedef int (*StructCallbackFunc)(struct bContext *C,
649  struct PointerRNA *ptr,
650  struct FunctionRNA *func,
651  ParameterList *list);
652 typedef void (*StructFreeFunc)(void *data);
653 typedef struct StructRNA *(*StructRegisterFunc)(struct Main *bmain,
654  struct ReportList *reports,
655  void *data,
656  const char *identifier,
657  StructValidateFunc validate,
658  StructCallbackFunc call,
660 
661 typedef void (*StructUnregisterFunc)(struct Main *bmain, struct StructRNA *type);
662 typedef void **(*StructInstanceFunc)(PointerRNA *ptr);
663 
664 typedef struct StructRNA StructRNA;
665 
671 typedef struct BlenderRNA BlenderRNA;
672 
679 typedef struct ExtensionRNA {
680  void *data;
685 
686 #ifdef __cplusplus
687 }
688 #endif
689 
690 #endif /* __RNA_TYPES_H__ */
typedef float(TangentPoint)[2]
void BLI_kdtree_nd_() free(KDTree *tree)
Definition: kdtree_impl.h:116
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
ParameterFlag
Definition: RNA_types.h:336
@ PARM_RNAPTR
Definition: RNA_types.h:339
@ PARM_PYFUNC_OPTIONAL
Definition: RNA_types.h:347
@ PARM_REQUIRED
Definition: RNA_types.h:337
@ PARM_OUTPUT
Definition: RNA_types.h:338
struct ParameterList ParameterList
int(* EnumPropertyGetFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop)
Definition: RNA_types.h:503
void(* StructFreeFunc)(void *data)
Definition: RNA_types.h:652
struct ListBaseIterator ListBaseIterator
int(* StructValidateFunc)(struct PointerRNA *ptr, void *data, int *have_function)
Definition: RNA_types.h:647
FunctionFlag
Definition: RNA_types.h:560
@ FUNC_USE_REPORTS
Definition: RNA_types.h:578
@ FUNC_USE_SELF_TYPE
Definition: RNA_types.h:573
@ FUNC_BUILTIN
Definition: RNA_types.h:597
@ FUNC_FREE_POINTERS
Definition: RNA_types.h:606
@ FUNC_NO_SELF
Definition: RNA_types.h:571
@ FUNC_REGISTER
Definition: RNA_types.h:585
@ FUNC_USE_MAIN
Definition: RNA_types.h:576
@ FUNC_EXPORT
Definition: RNA_types.h:599
@ FUNC_RUNTIME
Definition: RNA_types.h:601
@ FUNC_USE_CONTEXT
Definition: RNA_types.h:577
@ FUNC_USE_SELF_ID
Definition: RNA_types.h:565
@ FUNC_REGISTER_OPTIONAL
Definition: RNA_types.h:587
@ FUNC_ALLOW_WRITE
Definition: RNA_types.h:593
struct ParameterIterator ParameterIterator
float(* FloatPropertyGetFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop)
Definition: RNA_types.h:480
struct CountIterator CountIterator
StructFlag
Definition: RNA_types.h:618
@ STRUCT_ID_REFCOUNT
Definition: RNA_types.h:621
@ STRUCT_RUNTIME
Definition: RNA_types.h:626
@ STRUCT_FREE_POINTERS
Definition: RNA_types.h:628
@ STRUCT_NO_CONTEXT_WITHOUT_OWNER_ID
Definition: RNA_types.h:644
@ STRUCT_PUBLIC_NAMESPACE
Definition: RNA_types.h:636
@ STRUCT_ID
Definition: RNA_types.h:620
@ STRUCT_NO_DATABLOCK_IDPROPERTIES
Definition: RNA_types.h:632
@ STRUCT_CONTAINS_DATABLOCK_IDPROPERTIES
Definition: RNA_types.h:634
@ STRUCT_NO_IDPROPERTIES
Definition: RNA_types.h:630
@ STRUCT_PUBLIC_NAMESPACE_INHERIT
Definition: RNA_types.h:638
@ STRUCT_UNDO
Definition: RNA_types.h:623
struct PathResolvedRNA PathResolvedRNA
int(* StructCallbackFunc)(struct bContext *C, struct PointerRNA *ptr, struct FunctionRNA *func, ParameterList *list)
Definition: RNA_types.h:648
void(* IntPropertySetFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop, int value)
Definition: RNA_types.h:467
void(* EnumPropertySetFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop, int value)
Definition: RNA_types.h:504
struct ExtensionRNA ExtensionRNA
void(* IntPropertyRangeFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop, int *min, int *max, int *softmin, int *softmax)
Definition: RNA_types.h:474
void(* IntArrayPropertyGetFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop, int *values)
Definition: RNA_types.h:468
void(* FloatPropertySetFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop, float value)
Definition: RNA_types.h:481
struct ArrayIterator ArrayIterator
PropertyType
Definition: RNA_types.h:72
@ PROP_FLOAT
Definition: RNA_types.h:75
@ PROP_BOOLEAN
Definition: RNA_types.h:73
@ PROP_ENUM
Definition: RNA_types.h:77
@ PROP_INT
Definition: RNA_types.h:74
@ PROP_STRING
Definition: RNA_types.h:76
@ PROP_POINTER
Definition: RNA_types.h:78
@ PROP_COLLECTION
Definition: RNA_types.h:79
struct ParameterDynAlloc ParameterDynAlloc
struct CollectionPointerLink CollectionPointerLink
struct PointerRNA PointerRNA
PropertyUnit
Definition: RNA_types.h:83
@ PROP_UNIT_VOLUME
Definition: RNA_types.h:87
@ PROP_UNIT_POWER
Definition: RNA_types.h:94
@ PROP_UNIT_ROTATION
Definition: RNA_types.h:89
@ PROP_UNIT_VELOCITY
Definition: RNA_types.h:91
@ PROP_UNIT_LENGTH
Definition: RNA_types.h:85
@ PROP_UNIT_NONE
Definition: RNA_types.h:84
@ PROP_UNIT_ACCELERATION
Definition: RNA_types.h:92
@ PROP_UNIT_AREA
Definition: RNA_types.h:86
@ PROP_UNIT_TIME
Definition: RNA_types.h:90
@ PROP_UNIT_CAMERA
Definition: RNA_types.h:93
@ PROP_UNIT_TEMPERATURE
Definition: RNA_types.h:95
@ PROP_UNIT_MASS
Definition: RNA_types.h:88
void(* CallFunc)(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, ParameterList *parms)
Definition: RNA_types.h:609
struct EnumPropertyItem EnumPropertyItem
void(* FloatPropertyRangeFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop, float *min, float *max, float *softmin, float *softmax)
Definition: RNA_types.h:490
void(* BooleanArrayPropertySetFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop, const bool *values)
Definition: RNA_types.h:463
void(* FloatArrayPropertySetFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop, const float *values)
Definition: RNA_types.h:487
bool(* BooleanPropertyGetFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop)
Definition: RNA_types.h:456
void(* BooleanArrayPropertyGetFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop, bool *values)
Definition: RNA_types.h:460
void(* StringPropertyGetFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop, char *value)
Definition: RNA_types.h:496
struct CollectionListBase CollectionListBase
void(* StringPropertySetFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop, const char *value)
Definition: RNA_types.h:500
PropertyOverrideFlag
Definition: RNA_types.h:295
@ PROPOVERRIDE_OVERRIDABLE_LIBRARY
Definition: RNA_types.h:297
@ PROPOVERRIDE_NO_COMPARISON
Definition: RNA_types.h:305
@ PROPOVERRIDE_IGNORE
Definition: RNA_types.h:317
@ PROPOVERRIDE_LIBRARY_INSERTION
Definition: RNA_types.h:322
@ PROPOVERRIDE_NO_PROP_NAME
Definition: RNA_types.h:329
void(* IntArrayPropertySetFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop, const int *values)
Definition: RNA_types.h:471
void(* StructUnregisterFunc)(struct Main *bmain, struct StructRNA *type)
Definition: RNA_types.h:661
int(* StringPropertyLengthFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop)
Definition: RNA_types.h:499
struct PropertyPointerRNA PropertyPointerRNA
int(* IntPropertyGetFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop)
Definition: RNA_types.h:466
struct RawArray RawArray
RawPropertyType
Definition: RNA_types.h:416
@ PROP_RAW_INT
Definition: RNA_types.h:418
@ PROP_RAW_UNSET
Definition: RNA_types.h:417
@ PROP_RAW_BOOLEAN
Definition: RNA_types.h:421
@ PROP_RAW_CHAR
Definition: RNA_types.h:420
@ PROP_RAW_FLOAT
Definition: RNA_types.h:423
@ PROP_RAW_DOUBLE
Definition: RNA_types.h:422
@ PROP_RAW_SHORT
Definition: RNA_types.h:419
PropertyFlag
Definition: RNA_types.h:169
@ PROP_THICK_WRAP
Definition: RNA_types.h:270
@ PROP_DYNAMIC
Definition: RNA_types.h:275
@ PROP_CONTEXT_UPDATE
Definition: RNA_types.h:254
@ PROP_ANIMATABLE
Definition: RNA_types.h:188
@ PROP_PROPORTIONAL
Definition: RNA_types.h:209
@ PROP_NEVER_UNLINK
Definition: RNA_types.h:232
@ PROP_EDITABLE
Definition: RNA_types.h:175
@ PROP_ENUM_FLAG
Definition: RNA_types.h:251
@ PROP_LIB_EXCEPTION
Definition: RNA_types.h:181
@ PROP_CONTEXT_PROPERTY_UPDATE
Definition: RNA_types.h:255
@ PROP_REGISTER_OPTIONAL
Definition: RNA_types.h:259
@ PROP_ENUM_NO_CONTEXT
Definition: RNA_types.h:277
@ PROP_NEVER_NULL
Definition: RNA_types.h:225
@ PROP_NO_DEG_UPDATE
Definition: RNA_types.h:286
@ PROP_ICONS_CONSECUTIVE
Definition: RNA_types.h:198
@ PROP_ENUM_NO_TRANSLATE
Definition: RNA_types.h:279
@ PROP_REGISTER
Definition: RNA_types.h:258
@ PROP_PTR_NO_OWNERSHIP
Definition: RNA_types.h:242
@ PROP_ICONS_REVERSE
Definition: RNA_types.h:199
@ PROP_SKIP_SAVE
Definition: RNA_types.h:204
@ PROP_ID_SELF_CHECK
Definition: RNA_types.h:218
@ PROP_TEXTEDIT_UPDATE
Definition: RNA_types.h:195
@ PROP_HIDDEN
Definition: RNA_types.h:202
@ PROP_ID_REFCOUNT
Definition: RNA_types.h:212
@ PROP_IDPROPERTY
Definition: RNA_types.h:273
int(* IteratorSkipFunc)(struct CollectionPropertyIterator *iter, void *data)
Definition: RNA_types.h:352
void(* FloatArrayPropertyGetFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop, float *values)
Definition: RNA_types.h:484
void(* BooleanPropertySetFunc)(struct PointerRNA *ptr, struct PropertyRNA *prop, bool value)
Definition: RNA_types.h:457
struct CollectionPropertyIterator CollectionPropertyIterator
PropertySubType
Definition: RNA_types.h:112
@ PROP_TIME
Definition: RNA_types.h:133
@ PROP_MATRIX
Definition: RNA_types.h:144
@ PROP_DIRECTION
Definition: RNA_types.h:141
@ PROP_XYZ
Definition: RNA_types.h:148
@ PROP_DISTANCE
Definition: RNA_types.h:135
@ PROP_ACCELERATION
Definition: RNA_types.h:143
@ PROP_TEMPERATURE
Definition: RNA_types.h:163
@ PROP_BYTESTRING
Definition: RNA_types.h:120
@ PROP_POWER
Definition: RNA_types.h:160
@ PROP_LAYER_MEMBER
Definition: RNA_types.h:157
@ PROP_FILENAME
Definition: RNA_types.h:118
@ PROP_PASSWORD
Definition: RNA_types.h:123
@ PROP_COLOR
Definition: RNA_types.h:139
@ PROP_PIXEL
Definition: RNA_types.h:128
@ PROP_ANGLE
Definition: RNA_types.h:132
@ PROP_DISTANCE_CAMERA
Definition: RNA_types.h:136
@ PROP_AXISANGLE
Definition: RNA_types.h:147
@ PROP_EULER
Definition: RNA_types.h:145
@ PROP_COORDS
Definition: RNA_types.h:153
@ PROP_NONE
Definition: RNA_types.h:113
@ PROP_DIRPATH
Definition: RNA_types.h:117
@ PROP_PERCENTAGE
Definition: RNA_types.h:130
@ PROP_FACTOR
Definition: RNA_types.h:131
@ PROP_COLOR_GAMMA
Definition: RNA_types.h:151
@ PROP_TRANSLATION
Definition: RNA_types.h:140
@ PROP_XYZ_LENGTH
Definition: RNA_types.h:149
@ PROP_UNSIGNED
Definition: RNA_types.h:129
@ PROP_LAYER
Definition: RNA_types.h:156
@ PROP_QUATERNION
Definition: RNA_types.h:146
@ PROP_FILEPATH
Definition: RNA_types.h:116
@ PROP_VELOCITY
Definition: RNA_types.h:142
#define C
Definition: RandGen.cpp:39
#define min(a, b)
Definition: sort.c:51
_W64 int intptr_t
Definition: stdint.h:121
void * free_ptr
Definition: RNA_types.h:365
char * ptr
Definition: RNA_types.h:361
IteratorSkipFunc skip
Definition: RNA_types.h:379
char * endptr
Definition: RNA_types.h:363
struct CollectionPointerLink * last
Definition: RNA_types.h:413
struct CollectionPointerLink * first
Definition: RNA_types.h:413
ListBaseIterator listbase
Definition: RNA_types.h:394
struct PropertyRNA * prop
Definition: RNA_types.h:391
void * ptr
Definition: RNA_types.h:383
const char * identifier
Definition: RNA_types.h:446
const char * name
Definition: RNA_types.h:450
const char * description
Definition: RNA_types.h:452
StructRNA * srna
Definition: RNA_types.h:681
StructCallbackFunc call
Definition: RNA_types.h:682
void * data
Definition: RNA_types.h:680
StructFreeFunc free
Definition: RNA_types.h:683
Definition: DNA_ID.h:273
struct Link * link
Definition: RNA_types.h:355
IteratorSkipFunc skip
Definition: RNA_types.h:357
Definition: BKE_main.h:116
intptr_t array_tot
Definition: RNA_types.h:541
PropertyRNA * parm
Definition: RNA_types.h:534
struct ParameterList * parms
Definition: RNA_types.h:529
void * data
Definition: RNA_types.h:517
struct FunctionRNA * func
Definition: RNA_types.h:520
struct PropertyRNA * prop
Definition: RNA_types.h:65
struct PointerRNA ptr
Definition: RNA_types.h:64
struct StructRNA * type
Definition: RNA_types.h:51
void * data
Definition: RNA_types.h:52
struct ID * owner_id
Definition: RNA_types.h:50
struct PropertyRNA * prop
Definition: RNA_types.h:57
PointerRNA ptr
Definition: RNA_types.h:56
RawPropertyType type
Definition: RNA_types.h:428
int len
Definition: RNA_types.h:429
void * array
Definition: RNA_types.h:427
int stride
Definition: RNA_types.h:430
float max
PointerRNA * ptr
Definition: wm_files.c:3157