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.h20
1 files changed, 18 insertions, 2 deletions
diff --git a/source/blender/makesrna/RNA_types.h b/source/blender/makesrna/RNA_types.h
index bf4fa97b6fe..243551b527e 100644
--- a/source/blender/makesrna/RNA_types.h
+++ b/source/blender/makesrna/RNA_types.h
@@ -113,6 +113,7 @@ typedef enum PropertyFlag {
PROP_IDPROPERTY = 1024,
PROP_RAW_ACCESS = 8192,
PROP_RAW_ARRAY = 16384,
+ PROP_FREE_POINTERS = 32768
} PropertyFlag;
typedef struct CollectionPropertyIterator {
@@ -198,7 +199,8 @@ typedef enum FunctionFlag {
/* internal flags */
FUNC_BUILTIN = 128,
FUNC_EXPORT = 256,
- FUNC_RUNTIME = 512
+ FUNC_RUNTIME = 512,
+ FUNC_FREE_POINTERS = 1024
} FunctionFlag;
typedef void (*CallFunc)(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, ParameterList *parms);
@@ -214,7 +216,8 @@ typedef enum StructFlag {
/* internal flags */
STRUCT_RUNTIME = 4,
- STRUCT_GENERATED = 8
+ STRUCT_GENERATED = 8,
+ STRUCT_FREE_POINTERS = 16
} StructFlag;
typedef int (*StructValidateFunc)(struct PointerRNA *ptr, void *data, int *have_function);
@@ -232,6 +235,19 @@ typedef struct StructRNA StructRNA;
typedef struct BlenderRNA BlenderRNA;
+/* Extending
+ *
+ * This struct must be embedded in *Type structs in
+ * order to make then definable through RNA. */
+
+typedef struct ExtensionRNA {
+ void *data;
+ StructRNA *srna;
+
+ int (*call)(PointerRNA *, FunctionRNA *, ParameterList *);
+ void (*free)(void *data);
+} ExtensionRNA;
+
#ifdef __cplusplus
}
#endif