Blender V2.61 - r43446
Classes | Defines | Typedefs | Enumerations

RNA_types.h File Reference

#include "BLO_sys_types.h"

Go to the source code of this file.

Classes

struct  PointerRNA
struct  PropertyPointerRNA
struct  CollectionPropertyIterator
struct  CollectionPointerLink
struct  RawArray
struct  EnumPropertyItem
struct  ParameterList
struct  ParameterIterator
struct  ParameterDynAlloc
struct  ExtensionRNA

Defines

#define RNA_SUBTYPE_UNIT(subtype)   ((subtype) & 0x00FF0000)
#define RNA_SUBTYPE_VALUE(subtype)   ((subtype) & ~0x00FF0000)
#define RNA_SUBTYPE_UNIT_VALUE(subtype)   ((subtype)>>16)
#define RNA_ENUM_BITFLAG_SIZE   32

Typedefs

typedef struct PointerRNA PointerRNA
typedef struct PropertyPointerRNA PropertyPointerRNA
typedef enum PropertyType PropertyType
typedef enum PropertyUnit PropertyUnit
typedef enum PropertySubType PropertySubType
typedef enum PropertyFlag PropertyFlag
typedef struct
CollectionPropertyIterator 
CollectionPropertyIterator
typedef struct
CollectionPointerLink 
CollectionPointerLink
typedef enum RawPropertyType RawPropertyType
typedef struct RawArray RawArray
typedef struct EnumPropertyItem EnumPropertyItem
typedef EnumPropertyItem *(* EnumPropertyItemFunc )(struct bContext *C, PointerRNA *ptr, struct PropertyRNA *prop, int *free)
typedef struct PropertyRNA PropertyRNA
typedef struct ParameterList ParameterList
typedef struct ParameterIterator ParameterIterator
typedef struct ParameterDynAlloc ParameterDynAlloc
typedef enum FunctionFlag FunctionFlag
typedef void(* CallFunc )(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, ParameterList *parms)
typedef struct FunctionRNA FunctionRNA
typedef enum StructFlag StructFlag
typedef int(* StructValidateFunc )(struct PointerRNA *ptr, void *data, int *have_function)
typedef int(* StructCallbackFunc )(struct bContext *C, struct PointerRNA *ptr, struct FunctionRNA *func, ParameterList *list)
typedef void(* StructFreeFunc )(void *data)
typedef struct StructRNA *(* StructRegisterFunc )(struct Main *bmain, struct ReportList *reports, void *data, const char *identifier, StructValidateFunc validate, StructCallbackFunc call, StructFreeFunc free)
typedef void(* StructUnregisterFunc )(struct Main *bmain, struct StructRNA *type)
typedef void **(* StructInstanceFunc )(PointerRNA *ptr)
typedef struct StructRNA StructRNA
typedef struct BlenderRNA BlenderRNA
typedef struct ExtensionRNA ExtensionRNA

Enumerations

enum  PropertyType {
  PROP_BOOLEAN = 0, PROP_INT = 1, PROP_FLOAT = 2, PROP_STRING = 3,
  PROP_ENUM = 4, PROP_POINTER = 5, PROP_COLLECTION = 6
}
enum  PropertyUnit {
  PROP_UNIT_NONE = (0<<16), PROP_UNIT_LENGTH = (1<<16), PROP_UNIT_AREA = (2<<16), PROP_UNIT_VOLUME = (3<<16),
  PROP_UNIT_MASS = (4<<16), PROP_UNIT_ROTATION = (5<<16), PROP_UNIT_TIME = (6<<16), PROP_UNIT_VELOCITY = (7<<16),
  PROP_UNIT_ACCELERATION = (8<<16)
}
enum  PropertySubType {
  PROP_NONE = 0, PROP_FILEPATH = 1, PROP_DIRPATH = 2, PROP_FILENAME = 3,
  PROP_BYTESTRING = 4, PROP_TRANSLATE = 5, PROP_UNSIGNED = 13, PROP_PERCENTAGE = 14,
  PROP_FACTOR = 15, PROP_ANGLE = 16|PROP_UNIT_ROTATION, PROP_TIME = 17|PROP_UNIT_TIME, PROP_DISTANCE = 18|PROP_UNIT_LENGTH,
  PROP_COLOR = 20, PROP_TRANSLATION = 21|PROP_UNIT_LENGTH, PROP_DIRECTION = 22, PROP_VELOCITY = 23|PROP_UNIT_VELOCITY,
  PROP_ACCELERATION = 24|PROP_UNIT_ACCELERATION, PROP_MATRIX = 25, PROP_EULER = 26|PROP_UNIT_ROTATION, PROP_QUATERNION = 27,
  PROP_AXISANGLE = 28, PROP_XYZ = 29, PROP_XYZ_LENGTH = 29|PROP_UNIT_LENGTH, PROP_COLOR_GAMMA = 30,
  PROP_COORDS = 31, PROP_LAYER = 40, PROP_LAYER_MEMBER = 41
}
enum  PropertyFlag {
  PROP_EDITABLE = 1<<0, PROP_LIB_EXCEPTION = 1<<16, PROP_ANIMATABLE = 1<<1, PROP_ICONS_CONSECUTIVE = 1<<12,
  PROP_HIDDEN = 1<<19, PROP_SKIP_SAVE = 1<<28, PROP_REQUIRED = 1<<2, PROP_OUTPUT = 1<<3,
  PROP_RNAPTR = 1<<11, PROP_REGISTER = 1<<4, PROP_REGISTER_OPTIONAL = (1<<4)|(1<<5), PROP_ID_REFCOUNT = 1<<6,
  PROP_ID_SELF_CHECK = 1<<20, PROP_NEVER_NULL = 1<<18, PROP_NEVER_UNLINK = 1<<25, PROP_ENUM_FLAG = 1<<21,
  PROP_CONTEXT_UPDATE = 1<<22, PROP_CONTEXT_PROPERTY_UPDATE = (1<<22)|(1<<27), PROP_THICK_WRAP = 1<<23, PROP_NEVER_CLAMP = 1<<26,
  PROP_BUILTIN = 1<<7, PROP_EXPORT = 1<<8, PROP_RUNTIME = 1<<9, PROP_IDPROPERTY = 1<<10,
  PROP_RAW_ACCESS = 1<<13, PROP_RAW_ARRAY = 1<<14, PROP_FREE_POINTERS = 1<<15, PROP_DYNAMIC = 1<<17,
  PROP_ENUM_NO_CONTEXT = 1<<24
}
enum  RawPropertyType {
  PROP_RAW_UNSET = -1, PROP_RAW_INT, PROP_RAW_SHORT, PROP_RAW_CHAR,
  PROP_RAW_DOUBLE, PROP_RAW_FLOAT
}
enum  FunctionFlag {
  FUNC_NO_SELF = 1, FUNC_USE_MAIN = 2, FUNC_USE_CONTEXT = 4, FUNC_USE_REPORTS = 8,
  FUNC_USE_SELF_ID = 2048, FUNC_REGISTER = 16, FUNC_REGISTER_OPTIONAL = 16|32, FUNC_BUILTIN = 128,
  FUNC_EXPORT = 256, FUNC_RUNTIME = 512, FUNC_FREE_POINTERS = 1024
}
enum  StructFlag {
  STRUCT_ID = 1, STRUCT_ID_REFCOUNT = 2, STRUCT_UNDO = 4, STRUCT_RUNTIME = 8,
  STRUCT_GENERATED = 16, STRUCT_FREE_POINTERS = 32, STRUCT_NO_IDPROPERTIES = 64
}

Detailed Description

Definition in file RNA_types.h.


Define Documentation

#define RNA_ENUM_BITFLAG_SIZE   32

Definition at line 98 of file RNA_types.h.

Referenced by enum_items_from_py(), pyrna_enum_bitfield_to_py(), and pyrna_enum_to_py().

#define RNA_SUBTYPE_UNIT (   subtype)    ((subtype) & 0x00FF0000)
#define RNA_SUBTYPE_UNIT_VALUE (   subtype)    ((subtype)>>16)

Definition at line 96 of file RNA_types.h.

#define RNA_SUBTYPE_VALUE (   subtype)    ((subtype) & ~0x00FF0000)

Definition at line 95 of file RNA_types.h.


Typedef Documentation

typedef struct BlenderRNA BlenderRNA

Definition at line 355 of file RNA_types.h.

typedef void(* CallFunc)(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, ParameterList *parms)

Definition at line 322 of file RNA_types.h.

typedef EnumPropertyItem*(* EnumPropertyItemFunc)(struct bContext *C, PointerRNA *ptr, struct PropertyRNA *prop, int *free)

Definition at line 267 of file RNA_types.h.

typedef struct ExtensionRNA ExtensionRNA
typedef enum FunctionFlag FunctionFlag
typedef struct FunctionRNA FunctionRNA

Definition at line 324 of file RNA_types.h.

typedef struct ParameterList ParameterList
typedef struct PointerRNA PointerRNA

Pointer

RNA pointers are not a single C pointer but include the type, and a pointer to the ID struct that owns the struct, since in some cases this information is needed to correctly get/set the properties and validate them.

typedef enum PropertyFlag PropertyFlag
typedef struct PropertyRNA PropertyRNA

Definition at line 269 of file RNA_types.h.

typedef enum PropertyType PropertyType
typedef enum PropertyUnit PropertyUnit
typedef struct RawArray RawArray
typedef int(* StructCallbackFunc)(struct bContext *C, struct PointerRNA *ptr, struct FunctionRNA *func, ParameterList *list)

Definition at line 342 of file RNA_types.h.

typedef enum StructFlag StructFlag
typedef void(* StructFreeFunc)(void *data)

Definition at line 343 of file RNA_types.h.

typedef void**(* StructInstanceFunc)(PointerRNA *ptr)

Definition at line 347 of file RNA_types.h.

typedef struct StructRNA*(* StructRegisterFunc)(struct Main *bmain, struct ReportList *reports, void *data, const char *identifier, StructValidateFunc validate, StructCallbackFunc call, StructFreeFunc free)

Definition at line 344 of file RNA_types.h.

typedef struct StructRNA StructRNA

Definition at line 349 of file RNA_types.h.

typedef void(* StructUnregisterFunc)(struct Main *bmain, struct StructRNA *type)

Definition at line 346 of file RNA_types.h.

typedef int(* StructValidateFunc)(struct PointerRNA *ptr, void *data, int *have_function)

Definition at line 341 of file RNA_types.h.


Enumeration Type Documentation

Enumerator:
FUNC_NO_SELF 
FUNC_USE_MAIN 
FUNC_USE_CONTEXT 
FUNC_USE_REPORTS 
FUNC_USE_SELF_ID 
FUNC_REGISTER 
FUNC_REGISTER_OPTIONAL 
FUNC_BUILTIN 
FUNC_EXPORT 
FUNC_RUNTIME 
FUNC_FREE_POINTERS 

Definition at line 304 of file RNA_types.h.

Enumerator:
PROP_EDITABLE 
PROP_LIB_EXCEPTION 
PROP_ANIMATABLE 
PROP_ICONS_CONSECUTIVE 
PROP_HIDDEN 
PROP_SKIP_SAVE 
PROP_REQUIRED 
PROP_OUTPUT 
PROP_RNAPTR 
PROP_REGISTER 
PROP_REGISTER_OPTIONAL 
PROP_ID_REFCOUNT 
PROP_ID_SELF_CHECK 
PROP_NEVER_NULL 
PROP_NEVER_UNLINK 
PROP_ENUM_FLAG 
PROP_CONTEXT_UPDATE 
PROP_CONTEXT_PROPERTY_UPDATE 
PROP_THICK_WRAP 
PROP_NEVER_CLAMP 
PROP_BUILTIN 
PROP_EXPORT 
PROP_RUNTIME 
PROP_IDPROPERTY 
PROP_RAW_ACCESS 
PROP_RAW_ARRAY 
PROP_FREE_POINTERS 
PROP_DYNAMIC 
PROP_ENUM_NO_CONTEXT 

Definition at line 144 of file RNA_types.h.

Enumerator:
PROP_NONE 
PROP_FILEPATH 
PROP_DIRPATH 
PROP_FILENAME 
PROP_BYTESTRING 
PROP_TRANSLATE 
PROP_UNSIGNED 
PROP_PERCENTAGE 
PROP_FACTOR 
PROP_ANGLE 
PROP_TIME 
PROP_DISTANCE 
PROP_COLOR 
PROP_TRANSLATION 
PROP_DIRECTION 
PROP_VELOCITY 
PROP_ACCELERATION 
PROP_MATRIX 
PROP_EULER 
PROP_QUATERNION 
PROP_AXISANGLE 
PROP_XYZ 
PROP_XYZ_LENGTH 
PROP_COLOR_GAMMA 
PROP_COORDS 
PROP_LAYER 
PROP_LAYER_MEMBER 

Definition at line 104 of file RNA_types.h.

Enumerator:
PROP_BOOLEAN 
PROP_INT 
PROP_FLOAT 
PROP_STRING 
PROP_ENUM 
PROP_POINTER 
PROP_COLLECTION 

Definition at line 71 of file RNA_types.h.

Enumerator:
PROP_UNIT_NONE 
PROP_UNIT_LENGTH 
PROP_UNIT_AREA 
PROP_UNIT_VOLUME 
PROP_UNIT_MASS 
PROP_UNIT_ROTATION 
PROP_UNIT_TIME 
PROP_UNIT_VELOCITY 
PROP_UNIT_ACCELERATION 

Definition at line 82 of file RNA_types.h.

Enumerator:
PROP_RAW_UNSET 
PROP_RAW_INT 
PROP_RAW_SHORT 
PROP_RAW_CHAR 
PROP_RAW_DOUBLE 
PROP_RAW_FLOAT 

Definition at line 242 of file RNA_types.h.

enum StructFlag
Enumerator:
STRUCT_ID 
STRUCT_ID_REFCOUNT 
STRUCT_UNDO 
STRUCT_RUNTIME 
STRUCT_GENERATED 
STRUCT_FREE_POINTERS 
STRUCT_NO_IDPROPERTIES 

Definition at line 328 of file RNA_types.h.