Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/makesrna/RNA_types.h')
-rw-r--r--source/blender/makesrna/RNA_types.h197
1 files changed, 9 insertions, 188 deletions
diff --git a/source/blender/makesrna/RNA_types.h b/source/blender/makesrna/RNA_types.h
index b8d1793a05c..33b720f9c0c 100644
--- a/source/blender/makesrna/RNA_types.h
+++ b/source/blender/makesrna/RNA_types.h
@@ -25,47 +25,6 @@
#ifndef RNA_TYPES
#define RNA_TYPES
-#include "DNA_listBase.h"
-
-struct BlenderRNA;
-struct StructRNA;
-struct PropertyRNA;
-struct PointerRNA;
-struct CollectionPropertyIterator;
-struct bContext;
-
-/* Function Callbacks */
-
-typedef void (*PropNotifyFunc)(struct bContext *C, struct PointerRNA *ptr);
-typedef int (*PropBooleanGetFunc)(struct PointerRNA *ptr);
-typedef void (*PropBooleanSetFunc)(struct PointerRNA *ptr, int value);
-typedef int (*PropBooleanArrayGetFunc)(struct PointerRNA *ptr, int index);
-typedef void (*PropBooleanArraySetFunc)(struct PointerRNA *ptr, int index, int value);
-typedef int (*PropIntGetFunc)(struct PointerRNA *ptr);
-typedef void (*PropIntSetFunc)(struct PointerRNA *ptr, int value);
-typedef int (*PropIntArrayGetFunc)(struct PointerRNA *ptr, int index);
-typedef void (*PropIntArraySetFunc)(struct PointerRNA *ptr, int index, int value);
-typedef float (*PropFloatGetFunc)(struct PointerRNA *ptr);
-typedef void (*PropFloatSetFunc)(struct PointerRNA *ptr, float value);
-typedef float (*PropFloatArrayGetFunc)(struct PointerRNA *ptr, int index);
-typedef void (*PropFloatArraySetFunc)(struct PointerRNA *ptr, int index, float value);
-typedef void (*PropStringGetFunc)(struct PointerRNA *ptr, char *value);
-typedef int (*PropStringLengthFunc)(struct PointerRNA *ptr);
-typedef void (*PropStringSetFunc)(struct PointerRNA *ptr, const char *value);
-typedef int (*PropEnumGetFunc)(struct PointerRNA *ptr);
-typedef void (*PropEnumSetFunc)(struct PointerRNA *ptr, int value);
-typedef void* (*PropPointerGetFunc)(struct PointerRNA *ptr);
-typedef void (*PropPointerSetFunc)(struct PointerRNA *ptr, void *value);
-typedef struct StructRNA* (*PropPointerTypeFunc)(struct PointerRNA *ptr);
-typedef void (*PropCollectionBeginFunc)(struct CollectionPropertyIterator *iter, struct PointerRNA *ptr);
-typedef void (*PropCollectionNextFunc)(struct CollectionPropertyIterator *iter);
-typedef void (*PropCollectionEndFunc)(struct CollectionPropertyIterator *iter);
-typedef void* (*PropCollectionGetFunc)(struct CollectionPropertyIterator *iter);
-typedef struct StructRNA* (*PropCollectionTypeFunc)(struct CollectionPropertyIterator *iter);
-typedef int (*PropCollectionLengthFunc)(struct PointerRNA *ptr);
-typedef void* (*PropCollectionLookupIntFunc)(struct PointerRNA *ptr, int key, struct StructRNA **type);
-typedef void* (*PropCollectionLookupStringFunc)(struct PointerRNA *ptr, const char *key, struct StructRNA **type);
-
/* Pointer
*
* RNA pointers are not a single C pointer but include the type,
@@ -135,8 +94,9 @@ typedef enum PropertyFlag {
PROP_INVERSE_RENDER_DEPENDENCY = 64,
#endif
- /* internal flag */
- PROP_BUILTIN = 128
+ /* internal flags */
+ PROP_BUILTIN = 128,
+ PROP_EXPORT = 256
} PropertyFlag;
typedef struct CollectionPropertyIterator {
@@ -153,128 +113,8 @@ typedef struct EnumPropertyItem {
const char *name;
} EnumPropertyItem;
-typedef struct PropertyRNA {
- struct PropertyRNA *next, *prev;
-
- /* C code name */
- const char *identifier;
- /* various options */
- int flag;
-
- /* user readable name */
- const char *name;
- /* single line description, displayed in the tooltip for example */
- const char *description;
-
- /* property type as it appears to the outside */
- PropertyType type;
- /* subtype, 'interpretation' of the property */
- PropertySubType subtype;
- /* if an array this is > 0, specifying the length */
- unsigned int arraylength;
-
- /* callback for notifys on change */
- PropNotifyFunc notify;
-} PropertyRNA;
-
-/* Property Types */
-
-typedef struct BooleanPropertyRNA {
- PropertyRNA property;
-
- PropBooleanGetFunc get;
- PropBooleanSetFunc set;
-
- PropBooleanArrayGetFunc getarray;
- PropBooleanArraySetFunc setarray;
-
- int defaultvalue;
- const int *defaultarray;
-} BooleanPropertyRNA;
-
-typedef struct IntPropertyRNA {
- PropertyRNA property;
-
- PropIntGetFunc get;
- PropIntSetFunc set;
-
- PropIntArrayGetFunc getarray;
- PropIntArraySetFunc setarray;
-
- int softmin, softmax;
- int hardmin, hardmax;
- int step;
-
- int defaultvalue;
- const int *defaultarray;
-} IntPropertyRNA;
-
-typedef struct FloatPropertyRNA {
- PropertyRNA property;
-
- PropFloatGetFunc get;
- PropFloatSetFunc set;
-
- PropFloatArrayGetFunc getarray;
- PropFloatArraySetFunc setarray;
-
- float softmin, softmax;
- float hardmin, hardmax;
- float step;
- int precision;
-
- float defaultvalue;
- const float *defaultarray;
-} FloatPropertyRNA;
-
-typedef struct StringPropertyRNA {
- PropertyRNA property;
-
- PropStringGetFunc get;
- PropStringLengthFunc length;
- PropStringSetFunc set;
-
- int maxlength; /* includes string terminator! */
-
- const char *defaultvalue;
-} StringPropertyRNA;
-
-typedef struct EnumPropertyRNA {
- PropertyRNA property;
-
- PropEnumGetFunc get;
- PropEnumSetFunc set;
-
- const EnumPropertyItem *item;
- int totitem;
-
- int defaultvalue;
-} EnumPropertyRNA;
-
-typedef struct PointerPropertyRNA {
- PropertyRNA property;
-
- PropPointerGetFunc get;
- PropPointerSetFunc set;
- PropPointerTypeFunc type; /* optional */
-
- struct StructRNA *structtype;
-} PointerPropertyRNA;
-
-typedef struct CollectionPropertyRNA {
- PropertyRNA property;
-
- PropCollectionBeginFunc begin;
- PropCollectionNextFunc next;
- PropCollectionEndFunc end; /* optional */
- PropCollectionGetFunc get;
- PropCollectionTypeFunc type; /* optional */
- PropCollectionLengthFunc length; /* optional */
- PropCollectionLookupIntFunc lookupint; /* optional */
- PropCollectionLookupStringFunc lookupstring; /* optional */
-
- struct StructRNA *structtype;
-} CollectionPropertyRNA;
+struct PropertyRNA;
+typedef struct PropertyRNA PropertyRNA;
/* Struct */
@@ -283,34 +123,15 @@ typedef enum StructFlag {
STRUCT_ID = 1
} StructFlag;
-typedef struct StructRNA {
- struct StructRNA *next, *prev;
-
- /* C code name */
- const char *identifier;
- /* various options */
- int flag;
-
- /* user readable name */
- const char *name;
-
- /* property that defines the name */
- PropertyRNA *nameproperty;
-
- /* property to iterate over properties */
- PropertyRNA *iteratorproperty;
-
- /* properties of this struct */
- ListBase properties;
-} StructRNA;
+struct StructRNA;
+typedef struct StructRNA StructRNA;
/* Blender RNA
*
* Root RNA data structure that lists all struct types. */
-typedef struct BlenderRNA {
- ListBase structs;
-} BlenderRNA;
+struct BlenderRNA;
+typedef struct BlenderRNA BlenderRNA;
#endif /* RNA_TYPES */