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:
authorCampbell Barton <ideasman42@gmail.com>2019-04-17 07:17:24 +0300
committerCampbell Barton <ideasman42@gmail.com>2019-04-17 07:21:24 +0300
commite12c08e8d170b7ca40f204a5b0423c23a9fbc2c1 (patch)
tree8cf3453d12edb177a218ef8009357518ec6cab6a /source/blender/makesrna/intern/rna_ID.c
parentb3dabc200a4b0399ec6b81f2ff2730d07b44fcaa (diff)
ClangFormat: apply to source, most of intern
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
Diffstat (limited to 'source/blender/makesrna/intern/rna_ID.c')
-rw-r--r--source/blender/makesrna/intern/rna_ID.c2091
1 files changed, 1162 insertions, 929 deletions
diff --git a/source/blender/makesrna/intern/rna_ID.c b/source/blender/makesrna/intern/rna_ID.c
index 70c342f4665..8a3cf3be55e 100644
--- a/source/blender/makesrna/intern/rna_ID.c
+++ b/source/blender/makesrna/intern/rna_ID.c
@@ -44,1296 +44,1528 @@
* NOTE: need to keep this in line with the other defines for these
*/
const EnumPropertyItem rna_enum_id_type_items[] = {
- {ID_AC, "ACTION", ICON_ACTION, "Action", ""},
- {ID_AR, "ARMATURE", ICON_ARMATURE_DATA, "Armature", ""},
- {ID_BR, "BRUSH", ICON_BRUSH_DATA, "Brush", ""},
- {ID_CA, "CAMERA", ICON_CAMERA_DATA, "Camera", ""},
- {ID_CF, "CACHEFILE", ICON_FILE, "Cache File", ""},
- {ID_CU, "CURVE", ICON_CURVE_DATA, "Curve", ""},
- {ID_VF, "FONT", ICON_FONT_DATA, "Font", ""},
- {ID_GD, "GREASEPENCIL", ICON_GREASEPENCIL, "Grease Pencil", ""},
- {ID_GR, "COLLECTION", ICON_GROUP, "Collection", ""},
- {ID_IM, "IMAGE", ICON_IMAGE_DATA, "Image", ""},
- {ID_KE, "KEY", ICON_SHAPEKEY_DATA, "Key", ""},
- {ID_LA, "LIGHT", ICON_LIGHT_DATA, "Light", ""},
- {ID_LI, "LIBRARY", ICON_LIBRARY_DATA_DIRECT, "Library", ""},
- {ID_LS, "LINESTYLE", ICON_LINE_DATA, "Line Style", ""},
- {ID_LT, "LATTICE", ICON_LATTICE_DATA, "Lattice", ""},
- {ID_MSK, "MASK", ICON_MOD_MASK, "Mask", ""},
- {ID_MA, "MATERIAL", ICON_MATERIAL_DATA, "Material", ""},
- {ID_MB, "META", ICON_META_DATA, "Metaball", ""},
- {ID_ME, "MESH", ICON_MESH_DATA, "Mesh", ""},
- {ID_MC, "MOVIECLIP", ICON_TRACKER, "Movie Clip", ""},
- {ID_NT, "NODETREE", ICON_NODETREE, "Node Tree", ""},
- {ID_OB, "OBJECT", ICON_OBJECT_DATA, "Object", ""},
- {ID_PC, "PAINTCURVE", ICON_CURVE_BEZCURVE, "Paint Curve", ""},
- {ID_PAL, "PALETTE", ICON_COLOR, "Palette", ""},
- {ID_PA, "PARTICLE", ICON_PARTICLE_DATA, "Particle", ""},
- {ID_LP, "LIGHT_PROBE", ICON_LIGHTPROBE_CUBEMAP, "Light Probe", ""},
- {ID_SCE, "SCENE", ICON_SCENE_DATA, "Scene", ""},
- {ID_SO, "SOUND", ICON_SOUND, "Sound", ""},
- {ID_SPK, "SPEAKER", ICON_SPEAKER, "Speaker", ""},
- {ID_TXT, "TEXT", ICON_TEXT, "Text", ""},
- {ID_TE, "TEXTURE", ICON_TEXTURE_DATA, "Texture", ""},
- {ID_WM, "WINDOWMANAGER", ICON_WINDOW, "Window Manager", ""},
- {ID_WO, "WORLD", ICON_WORLD_DATA, "World", ""},
- {ID_WS, "WORKSPACE", ICON_WORKSPACE, "Workspace", ""},
- {0, NULL, 0, NULL, NULL},
+ {ID_AC, "ACTION", ICON_ACTION, "Action", ""},
+ {ID_AR, "ARMATURE", ICON_ARMATURE_DATA, "Armature", ""},
+ {ID_BR, "BRUSH", ICON_BRUSH_DATA, "Brush", ""},
+ {ID_CA, "CAMERA", ICON_CAMERA_DATA, "Camera", ""},
+ {ID_CF, "CACHEFILE", ICON_FILE, "Cache File", ""},
+ {ID_CU, "CURVE", ICON_CURVE_DATA, "Curve", ""},
+ {ID_VF, "FONT", ICON_FONT_DATA, "Font", ""},
+ {ID_GD, "GREASEPENCIL", ICON_GREASEPENCIL, "Grease Pencil", ""},
+ {ID_GR, "COLLECTION", ICON_GROUP, "Collection", ""},
+ {ID_IM, "IMAGE", ICON_IMAGE_DATA, "Image", ""},
+ {ID_KE, "KEY", ICON_SHAPEKEY_DATA, "Key", ""},
+ {ID_LA, "LIGHT", ICON_LIGHT_DATA, "Light", ""},
+ {ID_LI, "LIBRARY", ICON_LIBRARY_DATA_DIRECT, "Library", ""},
+ {ID_LS, "LINESTYLE", ICON_LINE_DATA, "Line Style", ""},
+ {ID_LT, "LATTICE", ICON_LATTICE_DATA, "Lattice", ""},
+ {ID_MSK, "MASK", ICON_MOD_MASK, "Mask", ""},
+ {ID_MA, "MATERIAL", ICON_MATERIAL_DATA, "Material", ""},
+ {ID_MB, "META", ICON_META_DATA, "Metaball", ""},
+ {ID_ME, "MESH", ICON_MESH_DATA, "Mesh", ""},
+ {ID_MC, "MOVIECLIP", ICON_TRACKER, "Movie Clip", ""},
+ {ID_NT, "NODETREE", ICON_NODETREE, "Node Tree", ""},
+ {ID_OB, "OBJECT", ICON_OBJECT_DATA, "Object", ""},
+ {ID_PC, "PAINTCURVE", ICON_CURVE_BEZCURVE, "Paint Curve", ""},
+ {ID_PAL, "PALETTE", ICON_COLOR, "Palette", ""},
+ {ID_PA, "PARTICLE", ICON_PARTICLE_DATA, "Particle", ""},
+ {ID_LP, "LIGHT_PROBE", ICON_LIGHTPROBE_CUBEMAP, "Light Probe", ""},
+ {ID_SCE, "SCENE", ICON_SCENE_DATA, "Scene", ""},
+ {ID_SO, "SOUND", ICON_SOUND, "Sound", ""},
+ {ID_SPK, "SPEAKER", ICON_SPEAKER, "Speaker", ""},
+ {ID_TXT, "TEXT", ICON_TEXT, "Text", ""},
+ {ID_TE, "TEXTURE", ICON_TEXTURE_DATA, "Texture", ""},
+ {ID_WM, "WINDOWMANAGER", ICON_WINDOW, "Window Manager", ""},
+ {ID_WO, "WORLD", ICON_WORLD_DATA, "World", ""},
+ {ID_WS, "WORKSPACE", ICON_WORKSPACE, "Workspace", ""},
+ {0, NULL, 0, NULL, NULL},
};
#ifdef RNA_RUNTIME
-#include "DNA_anim_types.h"
+# include "DNA_anim_types.h"
-#include "BLI_listbase.h"
-#include "BLI_math_base.h"
+# include "BLI_listbase.h"
+# include "BLI_math_base.h"
-#include "BKE_font.h"
-#include "BKE_idprop.h"
-#include "BKE_library_query.h"
-#include "BKE_library_override.h"
-#include "BKE_library_remap.h"
-#include "BKE_animsys.h"
-#include "BKE_material.h"
-#include "BKE_global.h" /* XXX, remove me */
+# include "BKE_font.h"
+# include "BKE_idprop.h"
+# include "BKE_library_query.h"
+# include "BKE_library_override.h"
+# include "BKE_library_remap.h"
+# include "BKE_animsys.h"
+# include "BKE_material.h"
+# include "BKE_global.h" /* XXX, remove me */
-#include "DEG_depsgraph.h"
-#include "DEG_depsgraph_build.h"
-#include "DEG_depsgraph_query.h"
+# include "DEG_depsgraph.h"
+# include "DEG_depsgraph_build.h"
+# include "DEG_depsgraph_query.h"
-#include "WM_api.h"
+# include "WM_api.h"
void rna_ID_override_static_property_operation_refname_get(PointerRNA *ptr, char *value)
{
- IDOverrideStaticPropertyOperation *opop = ptr->data;
- strcpy(value, (opop->subitem_reference_name == NULL) ? "" : opop->subitem_reference_name);
+ IDOverrideStaticPropertyOperation *opop = ptr->data;
+ strcpy(value, (opop->subitem_reference_name == NULL) ? "" : opop->subitem_reference_name);
}
int rna_ID_override_static_property_operation_refname_length(PointerRNA *ptr)
{
- IDOverrideStaticPropertyOperation *opop = ptr->data;
- return (opop->subitem_reference_name == NULL) ? 0 : strlen(opop->subitem_reference_name);
+ IDOverrideStaticPropertyOperation *opop = ptr->data;
+ return (opop->subitem_reference_name == NULL) ? 0 : strlen(opop->subitem_reference_name);
}
void rna_ID_override_static_property_operation_locname_get(PointerRNA *ptr, char *value)
{
- IDOverrideStaticPropertyOperation *opop = ptr->data;
- strcpy(value, (opop->subitem_local_name == NULL) ? "" : opop->subitem_local_name);
+ IDOverrideStaticPropertyOperation *opop = ptr->data;
+ strcpy(value, (opop->subitem_local_name == NULL) ? "" : opop->subitem_local_name);
}
int rna_ID_override_static_property_operation_locname_length(PointerRNA *ptr)
{
- IDOverrideStaticPropertyOperation *opop = ptr->data;
- return (opop->subitem_local_name == NULL) ? 0 : strlen(opop->subitem_local_name);
+ IDOverrideStaticPropertyOperation *opop = ptr->data;
+ return (opop->subitem_local_name == NULL) ? 0 : strlen(opop->subitem_local_name);
}
-
/* name functions that ignore the first two ID characters */
void rna_ID_name_get(PointerRNA *ptr, char *value)
{
- ID *id = (ID *)ptr->data;
- BLI_strncpy(value, id->name + 2, sizeof(id->name) - 2);
+ ID *id = (ID *)ptr->data;
+ BLI_strncpy(value, id->name + 2, sizeof(id->name) - 2);
}
int rna_ID_name_length(PointerRNA *ptr)
{
- ID *id = (ID *)ptr->data;
- return strlen(id->name + 2);
+ ID *id = (ID *)ptr->data;
+ return strlen(id->name + 2);
}
void rna_ID_name_set(PointerRNA *ptr, const char *value)
{
- ID *id = (ID *)ptr->data;
- BLI_strncpy_utf8(id->name + 2, value, sizeof(id->name) - 2);
- BLI_assert(BKE_id_is_in_global_main(id));
- BLI_libblock_ensure_unique_name(G_MAIN, id->name);
+ ID *id = (ID *)ptr->data;
+ BLI_strncpy_utf8(id->name + 2, value, sizeof(id->name) - 2);
+ BLI_assert(BKE_id_is_in_global_main(id));
+ BLI_libblock_ensure_unique_name(G_MAIN, id->name);
- if (GS(id->name) == ID_OB) {
- Object *ob = (Object *)id;
- if (ob->type == OB_MBALL) {
- DEG_id_tag_update(&ob->id, ID_RECALC_GEOMETRY);
- }
- }
+ if (GS(id->name) == ID_OB) {
+ Object *ob = (Object *)id;
+ if (ob->type == OB_MBALL) {
+ DEG_id_tag_update(&ob->id, ID_RECALC_GEOMETRY);
+ }
+ }
}
static int rna_ID_name_editable(PointerRNA *ptr, const char **UNUSED(r_info))
{
- ID *id = (ID *)ptr->data;
+ ID *id = (ID *)ptr->data;
- if (GS(id->name) == ID_VF) {
- VFont *vfont = (VFont *)id;
- if (BKE_vfont_is_builtin(vfont))
- return 0;
- }
- else if (!BKE_id_is_in_global_main(id)) {
- return 0;
- }
+ if (GS(id->name) == ID_VF) {
+ VFont *vfont = (VFont *)id;
+ if (BKE_vfont_is_builtin(vfont))
+ return 0;
+ }
+ else if (!BKE_id_is_in_global_main(id)) {
+ return 0;
+ }
- return PROP_EDITABLE;
+ return PROP_EDITABLE;
}
void rna_ID_name_full_get(PointerRNA *ptr, char *value)
{
- ID *id = (ID *)ptr->data;
- BKE_id_full_name_get(value, id);
+ ID *id = (ID *)ptr->data;
+ BKE_id_full_name_get(value, id);
}
int rna_ID_name_full_length(PointerRNA *ptr)
{
- ID *id = (ID *)ptr->data;
- char name[MAX_ID_FULL_NAME];
- BKE_id_full_name_get(name, id);
- return strlen(name);
+ ID *id = (ID *)ptr->data;
+ char name[MAX_ID_FULL_NAME];
+ BKE_id_full_name_get(name, id);
+ return strlen(name);
}
static int rna_ID_is_evaluated_get(PointerRNA *ptr)
{
- ID *id = (ID *)ptr->data;
+ ID *id = (ID *)ptr->data;
- return (DEG_get_original_id(id) != id);
+ return (DEG_get_original_id(id) != id);
}
static PointerRNA rna_ID_original_get(PointerRNA *ptr)
{
- ID *id = (ID *)ptr->data;
+ ID *id = (ID *)ptr->data;
- return rna_pointer_inherit_refine(ptr, &RNA_ID, DEG_get_original_id(id));
+ return rna_pointer_inherit_refine(ptr, &RNA_ID, DEG_get_original_id(id));
}
short RNA_type_to_ID_code(const StructRNA *type)
{
- const StructRNA *base_type = RNA_struct_base_child_of(type, &RNA_ID);
- if (UNLIKELY(base_type == NULL)) {
- return 0;
- }
- if (base_type == &RNA_Action) return ID_AC;
- if (base_type == &RNA_Armature) return ID_AR;
- if (base_type == &RNA_Brush) return ID_BR;
- if (base_type == &RNA_CacheFile) return ID_CF;
- if (base_type == &RNA_Camera) return ID_CA;
- if (base_type == &RNA_Curve) return ID_CU;
- if (base_type == &RNA_GreasePencil) return ID_GD;
- if (base_type == &RNA_Collection) return ID_GR;
- if (base_type == &RNA_Image) return ID_IM;
- if (base_type == &RNA_Key) return ID_KE;
- if (base_type == &RNA_Light) return ID_LA;
- if (base_type == &RNA_Library) return ID_LI;
- if (base_type == &RNA_FreestyleLineStyle) return ID_LS;
- if (base_type == &RNA_Lattice) return ID_LT;
- if (base_type == &RNA_Material) return ID_MA;
- if (base_type == &RNA_MetaBall) return ID_MB;
- if (base_type == &RNA_MovieClip) return ID_MC;
- if (base_type == &RNA_Mesh) return ID_ME;
- if (base_type == &RNA_Mask) return ID_MSK;
- if (base_type == &RNA_NodeTree) return ID_NT;
- if (base_type == &RNA_Object) return ID_OB;
- if (base_type == &RNA_ParticleSettings) return ID_PA;
- if (base_type == &RNA_Palette) return ID_PAL;
- if (base_type == &RNA_PaintCurve) return ID_PC;
- if (base_type == &RNA_LightProbe) return ID_LP;
- if (base_type == &RNA_Scene) return ID_SCE;
- if (base_type == &RNA_Screen) return ID_SCR;
- if (base_type == &RNA_Sound) return ID_SO;
- if (base_type == &RNA_Speaker) return ID_SPK;
- if (base_type == &RNA_Texture) return ID_TE;
- if (base_type == &RNA_Text) return ID_TXT;
- if (base_type == &RNA_VectorFont) return ID_VF;
- if (base_type == &RNA_WorkSpace) return ID_WS;
- if (base_type == &RNA_World) return ID_WO;
- if (base_type == &RNA_WindowManager) return ID_WM;
-
- return 0;
+ const StructRNA *base_type = RNA_struct_base_child_of(type, &RNA_ID);
+ if (UNLIKELY(base_type == NULL)) {
+ return 0;
+ }
+ if (base_type == &RNA_Action)
+ return ID_AC;
+ if (base_type == &RNA_Armature)
+ return ID_AR;
+ if (base_type == &RNA_Brush)
+ return ID_BR;
+ if (base_type == &RNA_CacheFile)
+ return ID_CF;
+ if (base_type == &RNA_Camera)
+ return ID_CA;
+ if (base_type == &RNA_Curve)
+ return ID_CU;
+ if (base_type == &RNA_GreasePencil)
+ return ID_GD;
+ if (base_type == &RNA_Collection)
+ return ID_GR;
+ if (base_type == &RNA_Image)
+ return ID_IM;
+ if (base_type == &RNA_Key)
+ return ID_KE;
+ if (base_type == &RNA_Light)
+ return ID_LA;
+ if (base_type == &RNA_Library)
+ return ID_LI;
+ if (base_type == &RNA_FreestyleLineStyle)
+ return ID_LS;
+ if (base_type == &RNA_Lattice)
+ return ID_LT;
+ if (base_type == &RNA_Material)
+ return ID_MA;
+ if (base_type == &RNA_MetaBall)
+ return ID_MB;
+ if (base_type == &RNA_MovieClip)
+ return ID_MC;
+ if (base_type == &RNA_Mesh)
+ return ID_ME;
+ if (base_type == &RNA_Mask)
+ return ID_MSK;
+ if (base_type == &RNA_NodeTree)
+ return ID_NT;
+ if (base_type == &RNA_Object)
+ return ID_OB;
+ if (base_type == &RNA_ParticleSettings)
+ return ID_PA;
+ if (base_type == &RNA_Palette)
+ return ID_PAL;
+ if (base_type == &RNA_PaintCurve)
+ return ID_PC;
+ if (base_type == &RNA_LightProbe)
+ return ID_LP;
+ if (base_type == &RNA_Scene)
+ return ID_SCE;
+ if (base_type == &RNA_Screen)
+ return ID_SCR;
+ if (base_type == &RNA_Sound)
+ return ID_SO;
+ if (base_type == &RNA_Speaker)
+ return ID_SPK;
+ if (base_type == &RNA_Texture)
+ return ID_TE;
+ if (base_type == &RNA_Text)
+ return ID_TXT;
+ if (base_type == &RNA_VectorFont)
+ return ID_VF;
+ if (base_type == &RNA_WorkSpace)
+ return ID_WS;
+ if (base_type == &RNA_World)
+ return ID_WO;
+ if (base_type == &RNA_WindowManager)
+ return ID_WM;
+
+ return 0;
}
StructRNA *ID_code_to_RNA_type(short idcode)
{
- /* Note, this switch doesn't use a 'default',
- * so adding new ID's causes a warning. */
- switch ((ID_Type)idcode) {
- case ID_AC: return &RNA_Action;
- case ID_AR: return &RNA_Armature;
- case ID_BR: return &RNA_Brush;
- case ID_CA: return &RNA_Camera;
- case ID_CF: return &RNA_CacheFile;
- case ID_CU: return &RNA_Curve;
- case ID_GD: return &RNA_GreasePencil;
- case ID_GR: return &RNA_Collection;
- case ID_IM: return &RNA_Image;
- case ID_KE: return &RNA_Key;
- case ID_LA: return &RNA_Light;
- case ID_LI: return &RNA_Library;
- case ID_LS: return &RNA_FreestyleLineStyle;
- case ID_LT: return &RNA_Lattice;
- case ID_MA: return &RNA_Material;
- case ID_MB: return &RNA_MetaBall;
- case ID_MC: return &RNA_MovieClip;
- case ID_ME: return &RNA_Mesh;
- case ID_MSK: return &RNA_Mask;
- case ID_NT: return &RNA_NodeTree;
- case ID_OB: return &RNA_Object;
- case ID_PA: return &RNA_ParticleSettings;
- case ID_PAL: return &RNA_Palette;
- case ID_PC: return &RNA_PaintCurve;
- case ID_LP: return &RNA_LightProbe;
- case ID_SCE: return &RNA_Scene;
- case ID_SCR: return &RNA_Screen;
- case ID_SO: return &RNA_Sound;
- case ID_SPK: return &RNA_Speaker;
- case ID_TE: return &RNA_Texture;
- case ID_TXT: return &RNA_Text;
- case ID_VF: return &RNA_VectorFont;
- case ID_WM: return &RNA_WindowManager;
- case ID_WO: return &RNA_World;
- case ID_WS: return &RNA_WorkSpace;
-
- /* deprecated */
- case ID_IP: break;
- }
-
- return &RNA_ID;
+ /* Note, this switch doesn't use a 'default',
+ * so adding new ID's causes a warning. */
+ switch ((ID_Type)idcode) {
+ case ID_AC:
+ return &RNA_Action;
+ case ID_AR:
+ return &RNA_Armature;
+ case ID_BR:
+ return &RNA_Brush;
+ case ID_CA:
+ return &RNA_Camera;
+ case ID_CF:
+ return &RNA_CacheFile;
+ case ID_CU:
+ return &RNA_Curve;
+ case ID_GD:
+ return &RNA_GreasePencil;
+ case ID_GR:
+ return &RNA_Collection;
+ case ID_IM:
+ return &RNA_Image;
+ case ID_KE:
+ return &RNA_Key;
+ case ID_LA:
+ return &RNA_Light;
+ case ID_LI:
+ return &RNA_Library;
+ case ID_LS:
+ return &RNA_FreestyleLineStyle;
+ case ID_LT:
+ return &RNA_Lattice;
+ case ID_MA:
+ return &RNA_Material;
+ case ID_MB:
+ return &RNA_MetaBall;
+ case ID_MC:
+ return &RNA_MovieClip;
+ case ID_ME:
+ return &RNA_Mesh;
+ case ID_MSK:
+ return &RNA_Mask;
+ case ID_NT:
+ return &RNA_NodeTree;
+ case ID_OB:
+ return &RNA_Object;
+ case ID_PA:
+ return &RNA_ParticleSettings;
+ case ID_PAL:
+ return &RNA_Palette;
+ case ID_PC:
+ return &RNA_PaintCurve;
+ case ID_LP:
+ return &RNA_LightProbe;
+ case ID_SCE:
+ return &RNA_Scene;
+ case ID_SCR:
+ return &RNA_Screen;
+ case ID_SO:
+ return &RNA_Sound;
+ case ID_SPK:
+ return &RNA_Speaker;
+ case ID_TE:
+ return &RNA_Texture;
+ case ID_TXT:
+ return &RNA_Text;
+ case ID_VF:
+ return &RNA_VectorFont;
+ case ID_WM:
+ return &RNA_WindowManager;
+ case ID_WO:
+ return &RNA_World;
+ case ID_WS:
+ return &RNA_WorkSpace;
+
+ /* deprecated */
+ case ID_IP:
+ break;
+ }
+
+ return &RNA_ID;
}
StructRNA *rna_ID_refine(PointerRNA *ptr)
{
- ID *id = (ID *)ptr->data;
+ ID *id = (ID *)ptr->data;
- return ID_code_to_RNA_type(GS(id->name));
+ return ID_code_to_RNA_type(GS(id->name));
}
IDProperty *rna_ID_idprops(PointerRNA *ptr, bool create)
{
- return IDP_GetProperties(ptr->data, create);
+ return IDP_GetProperties(ptr->data, create);
}
void rna_ID_fake_user_set(PointerRNA *ptr, bool value)
{
- ID *id = (ID *)ptr->data;
+ ID *id = (ID *)ptr->data;
- if (value) {
- id_fake_user_set(id);
- }
- else {
- id_fake_user_clear(id);
- }
+ if (value) {
+ id_fake_user_set(id);
+ }
+ else {
+ id_fake_user_clear(id);
+ }
}
IDProperty *rna_PropertyGroup_idprops(PointerRNA *ptr, bool UNUSED(create))
{
- return ptr->data;
+ return ptr->data;
}
void rna_PropertyGroup_unregister(Main *UNUSED(bmain), StructRNA *type)
{
- RNA_struct_free(&BLENDER_RNA, type);
+ RNA_struct_free(&BLENDER_RNA, type);
}
-StructRNA *rna_PropertyGroup_register(
- Main *UNUSED(bmain), ReportList *reports, void *data, const char *identifier,
- StructValidateFunc validate, StructCallbackFunc UNUSED(call),
- StructFreeFunc UNUSED(free))
+StructRNA *rna_PropertyGroup_register(Main *UNUSED(bmain),
+ ReportList *reports,
+ void *data,
+ const char *identifier,
+ StructValidateFunc validate,
+ StructCallbackFunc UNUSED(call),
+ StructFreeFunc UNUSED(free))
{
- PointerRNA dummyptr;
+ PointerRNA dummyptr;
- /* create dummy pointer */
- RNA_pointer_create(NULL, &RNA_PropertyGroup, NULL, &dummyptr);
+ /* create dummy pointer */
+ RNA_pointer_create(NULL, &RNA_PropertyGroup, NULL, &dummyptr);
- /* validate the python class */
- if (validate(&dummyptr, data, NULL) != 0)
- return NULL;
+ /* validate the python class */
+ if (validate(&dummyptr, data, NULL) != 0)
+ return NULL;
- /* note: it looks like there is no length limit on the srna id since its
- * just a char pointer, but take care here, also be careful that python
- * owns the string pointer which it could potentially free while blender
- * is running. */
- if (BLI_strnlen(identifier, MAX_IDPROP_NAME) == MAX_IDPROP_NAME) {
- BKE_reportf(reports, RPT_ERROR, "Registering id property class: '%s' is too long, maximum length is %d",
- identifier, MAX_IDPROP_NAME);
- return NULL;
- }
+ /* note: it looks like there is no length limit on the srna id since its
+ * just a char pointer, but take care here, also be careful that python
+ * owns the string pointer which it could potentially free while blender
+ * is running. */
+ if (BLI_strnlen(identifier, MAX_IDPROP_NAME) == MAX_IDPROP_NAME) {
+ BKE_reportf(reports,
+ RPT_ERROR,
+ "Registering id property class: '%s' is too long, maximum length is %d",
+ identifier,
+ MAX_IDPROP_NAME);
+ return NULL;
+ }
- return RNA_def_struct_ptr(&BLENDER_RNA, identifier, &RNA_PropertyGroup); /* XXX */
+ return RNA_def_struct_ptr(&BLENDER_RNA, identifier, &RNA_PropertyGroup); /* XXX */
}
StructRNA *rna_PropertyGroup_refine(PointerRNA *ptr)
{
- return ptr->type;
+ return ptr->type;
}
static ID *rna_ID_copy(ID *id, Main *bmain)
{
- ID *newid;
+ ID *newid;
- if (BKE_id_copy(bmain, id, &newid)) {
- if (newid != NULL) {
- id_us_min(newid);
- }
- return newid;
- }
+ if (BKE_id_copy(bmain, id, &newid)) {
+ if (newid != NULL) {
+ id_us_min(newid);
+ }
+ return newid;
+ }
- return NULL;
+ return NULL;
}
static ID *rna_ID_override_create(ID *id, Main *bmain)
{
- if (!BKE_override_static_is_enabled() || id->lib == NULL) {
- return NULL;
- }
+ if (!BKE_override_static_is_enabled() || id->lib == NULL) {
+ return NULL;
+ }
- return BKE_override_static_create_from_id(bmain, id);
+ return BKE_override_static_create_from_id(bmain, id);
}
static void rna_ID_update_tag(ID *id, ReportList *reports, int flag)
{
- /* XXX, new function for this! */
-#if 0
- if (ob->type == OB_FONT) {
- Curve *cu = ob->data;
- freedisplist(&cu->disp);
- BKE_vfont_to_curve(bmain, sce, ob, FO_EDIT, NULL);
- }
-#endif
-
- if (flag == 0) {
- /* pass */
- }
- else {
- /* ensure flag us correct for the type */
- switch (GS(id->name)) {
- case ID_OB:
- /* TODO(sergey): This is kind of difficult to predict since different
- * object types supports different flags. Maybe does not worth checking
- * for this at all. Or maybe let dependency graph to return whether
- * the tag was valid or not. */
- if (flag & ~(ID_RECALC_ALL)) {
- BKE_report(reports, RPT_ERROR, "'Refresh' incompatible with Object ID type");
- return;
- }
- break;
- /* Could add particle updates later */
-#if 0
- case ID_PA:
- if (flag & ~(OB_RECALC_ALL | PSYS_RECALC)) {
- BKE_report(reports, RPT_ERROR, "'Refresh' incompatible with ParticleSettings ID type");
- return;
- }
- break;
-#endif
- default:
- BKE_report(reports, RPT_ERROR, "This ID type is not compatible with any 'refresh' options");
- return;
- }
- }
-
- DEG_id_tag_update(id, flag);
+ /* XXX, new function for this! */
+# if 0
+ if (ob->type == OB_FONT) {
+ Curve *cu = ob->data;
+ freedisplist(&cu->disp);
+ BKE_vfont_to_curve(bmain, sce, ob, FO_EDIT, NULL);
+ }
+# endif
+
+ if (flag == 0) {
+ /* pass */
+ }
+ else {
+ /* ensure flag us correct for the type */
+ switch (GS(id->name)) {
+ case ID_OB:
+ /* TODO(sergey): This is kind of difficult to predict since different
+ * object types supports different flags. Maybe does not worth checking
+ * for this at all. Or maybe let dependency graph to return whether
+ * the tag was valid or not. */
+ if (flag & ~(ID_RECALC_ALL)) {
+ BKE_report(reports, RPT_ERROR, "'Refresh' incompatible with Object ID type");
+ return;
+ }
+ break;
+ /* Could add particle updates later */
+# if 0
+ case ID_PA:
+ if (flag & ~(OB_RECALC_ALL | PSYS_RECALC)) {
+ BKE_report(reports, RPT_ERROR, "'Refresh' incompatible with ParticleSettings ID type");
+ return;
+ }
+ break;
+# endif
+ default:
+ BKE_report(
+ reports, RPT_ERROR, "This ID type is not compatible with any 'refresh' options");
+ return;
+ }
+ }
+
+ DEG_id_tag_update(id, flag);
}
static void rna_ID_user_clear(ID *id)
{
- id_fake_user_clear(id);
- id->us = 0; /* don't save */
+ id_fake_user_clear(id);
+ id->us = 0; /* don't save */
}
static void rna_ID_user_remap(ID *id, Main *bmain, ID *new_id)
{
- if ((GS(id->name) == GS(new_id->name)) && (id != new_id)) {
- /* For now, do not allow remapping data in linked data from here... */
- BKE_libblock_remap(bmain, id, new_id, ID_REMAP_SKIP_INDIRECT_USAGE | ID_REMAP_SKIP_NEVER_NULL_USAGE);
- }
+ if ((GS(id->name) == GS(new_id->name)) && (id != new_id)) {
+ /* For now, do not allow remapping data in linked data from here... */
+ BKE_libblock_remap(
+ bmain, id, new_id, ID_REMAP_SKIP_INDIRECT_USAGE | ID_REMAP_SKIP_NEVER_NULL_USAGE);
+ }
}
static struct ID *rna_ID_make_local(struct ID *self, Main *bmain, bool clear_proxy)
{
- /* Special case, as we can't rely on id_make_local(); it clears proxies. */
- if (!clear_proxy && GS(self->name) == ID_OB) {
- BKE_object_make_local_ex(bmain, (Object *)self, false, clear_proxy);
- }
- else {
- id_make_local(bmain, self, false, false);
- }
+ /* Special case, as we can't rely on id_make_local(); it clears proxies. */
+ if (!clear_proxy && GS(self->name) == ID_OB) {
+ BKE_object_make_local_ex(bmain, (Object *)self, false, clear_proxy);
+ }
+ else {
+ id_make_local(bmain, self, false, false);
+ }
- ID *ret_id = self->newid ? self->newid : self;
- BKE_id_clear_newpoin(self);
- return ret_id;
+ ID *ret_id = self->newid ? self->newid : self;
+ BKE_id_clear_newpoin(self);
+ return ret_id;
}
-
static AnimData *rna_ID_animation_data_create(ID *id, Main *bmain)
{
- AnimData *adt = BKE_animdata_add_id(id);
- DEG_relations_tag_update(bmain);
- return adt;
+ AnimData *adt = BKE_animdata_add_id(id);
+ DEG_relations_tag_update(bmain);
+ return adt;
}
static void rna_ID_animation_data_free(ID *id, Main *bmain)
{
- BKE_animdata_free(id, true);
- DEG_relations_tag_update(bmain);
+ BKE_animdata_free(id, true);
+ DEG_relations_tag_update(bmain);
}
-#ifdef WITH_PYTHON
+# ifdef WITH_PYTHON
void **rna_ID_instance(PointerRNA *ptr)
{
- ID *id = (ID *)ptr->data;
- return &id->py_instance;
+ ID *id = (ID *)ptr->data;
+ return &id->py_instance;
}
-#endif
+# endif
static void rna_IDPArray_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{
- IDProperty *prop = (IDProperty *)ptr->data;
- rna_iterator_array_begin(iter, IDP_IDPArray(prop), sizeof(IDProperty), prop->len, 0, NULL);
+ IDProperty *prop = (IDProperty *)ptr->data;
+ rna_iterator_array_begin(iter, IDP_IDPArray(prop), sizeof(IDProperty), prop->len, 0, NULL);
}
static int rna_IDPArray_length(PointerRNA *ptr)
{
- IDProperty *prop = (IDProperty *)ptr->data;
- return prop->len;
+ IDProperty *prop = (IDProperty *)ptr->data;
+ return prop->len;
}
int rna_IDMaterials_assign_int(PointerRNA *ptr, int key, const PointerRNA *assign_ptr)
{
- ID *id = ptr->id.data;
- short *totcol = give_totcolp_id(id);
- Material *mat_id = assign_ptr->id.data;
- if (totcol && (key >= 0 && key < *totcol)) {
- BLI_assert(BKE_id_is_in_global_main(id));
- BLI_assert(BKE_id_is_in_global_main(&mat_id->id));
- assign_material_id(G_MAIN, id, mat_id, key + 1);
- return 1;
- }
- else {
- return 0;
- }
+ ID *id = ptr->id.data;
+ short *totcol = give_totcolp_id(id);
+ Material *mat_id = assign_ptr->id.data;
+ if (totcol && (key >= 0 && key < *totcol)) {
+ BLI_assert(BKE_id_is_in_global_main(id));
+ BLI_assert(BKE_id_is_in_global_main(&mat_id->id));
+ assign_material_id(G_MAIN, id, mat_id, key + 1);
+ return 1;
+ }
+ else {
+ return 0;
+ }
}
static void rna_IDMaterials_append_id(ID *id, Main *bmain, Material *ma)
{
- BKE_material_append_id(bmain, id, ma);
+ BKE_material_append_id(bmain, id, ma);
- WM_main_add_notifier(NC_OBJECT | ND_DRAW, id);
- WM_main_add_notifier(NC_OBJECT | ND_OB_SHADING, id);
+ WM_main_add_notifier(NC_OBJECT | ND_DRAW, id);
+ WM_main_add_notifier(NC_OBJECT | ND_OB_SHADING, id);
}
static Material *rna_IDMaterials_pop_id(
- ID *id, Main *bmain, ReportList *reports, int index_i, bool remove_material_slot)
+ ID *id, Main *bmain, ReportList *reports, int index_i, bool remove_material_slot)
{
- Material *ma;
- short *totcol = give_totcolp_id(id);
- const short totcol_orig = *totcol;
- if (index_i < 0) {
- index_i += (*totcol);
- }
+ Material *ma;
+ short *totcol = give_totcolp_id(id);
+ const short totcol_orig = *totcol;
+ if (index_i < 0) {
+ index_i += (*totcol);
+ }
- if ((index_i < 0) || (index_i >= (*totcol))) {
- BKE_report(reports, RPT_ERROR, "Index out of range");
- return NULL;
- }
+ if ((index_i < 0) || (index_i >= (*totcol))) {
+ BKE_report(reports, RPT_ERROR, "Index out of range");
+ return NULL;
+ }
- ma = BKE_material_pop_id(bmain, id, index_i, remove_material_slot);
+ ma = BKE_material_pop_id(bmain, id, index_i, remove_material_slot);
- if (*totcol == totcol_orig) {
- BKE_report(reports, RPT_ERROR, "No material to removed");
- return NULL;
- }
+ if (*totcol == totcol_orig) {
+ BKE_report(reports, RPT_ERROR, "No material to removed");
+ return NULL;
+ }
- DEG_id_tag_update(id, ID_RECALC_GEOMETRY);
- WM_main_add_notifier(NC_OBJECT | ND_DRAW, id);
- WM_main_add_notifier(NC_OBJECT | ND_OB_SHADING, id);
+ DEG_id_tag_update(id, ID_RECALC_GEOMETRY);
+ WM_main_add_notifier(NC_OBJECT | ND_DRAW, id);
+ WM_main_add_notifier(NC_OBJECT | ND_OB_SHADING, id);
- return ma;
+ return ma;
}
static void rna_IDMaterials_clear_id(ID *id, Main *bmain, bool remove_material_slot)
{
- BKE_material_clear_id(bmain, id, remove_material_slot);
+ BKE_material_clear_id(bmain, id, remove_material_slot);
- DEG_id_tag_update(id, ID_RECALC_GEOMETRY);
- WM_main_add_notifier(NC_OBJECT | ND_DRAW, id);
- WM_main_add_notifier(NC_OBJECT | ND_OB_SHADING, id);
+ DEG_id_tag_update(id, ID_RECALC_GEOMETRY);
+ WM_main_add_notifier(NC_OBJECT | ND_DRAW, id);
+ WM_main_add_notifier(NC_OBJECT | ND_OB_SHADING, id);
}
static void rna_Library_filepath_set(PointerRNA *ptr, const char *value)
{
- Library *lib = (Library *)ptr->data;
- BLI_assert(BKE_id_is_in_global_main(&lib->id));
- BKE_library_filepath_set(G_MAIN, lib, value);
+ Library *lib = (Library *)ptr->data;
+ BLI_assert(BKE_id_is_in_global_main(&lib->id));
+ BKE_library_filepath_set(G_MAIN, lib, value);
}
/* ***** ImagePreview ***** */
static void rna_ImagePreview_is_custom_set(PointerRNA *ptr, int value, enum eIconSizes size)
{
- ID *id = ptr->id.data;
- PreviewImage *prv_img = (PreviewImage *)ptr->data;
+ ID *id = ptr->id.data;
+ PreviewImage *prv_img = (PreviewImage *)ptr->data;
- if (id != NULL) {
- BLI_assert(prv_img == BKE_previewimg_id_ensure(id));
- }
+ if (id != NULL) {
+ BLI_assert(prv_img == BKE_previewimg_id_ensure(id));
+ }
- if ((value && (prv_img->flag[size] & PRV_USER_EDITED)) || (!value && !(prv_img->flag[size] & PRV_USER_EDITED))) {
- return;
- }
+ if ((value && (prv_img->flag[size] & PRV_USER_EDITED)) ||
+ (!value && !(prv_img->flag[size] & PRV_USER_EDITED))) {
+ return;
+ }
- if (value)
- prv_img->flag[size] |= PRV_USER_EDITED;
- else
- prv_img->flag[size] &= ~PRV_USER_EDITED;
+ if (value)
+ prv_img->flag[size] |= PRV_USER_EDITED;
+ else
+ prv_img->flag[size] &= ~PRV_USER_EDITED;
- prv_img->flag[size] |= PRV_CHANGED;
+ prv_img->flag[size] |= PRV_CHANGED;
- BKE_previewimg_clear_single(prv_img, size);
+ BKE_previewimg_clear_single(prv_img, size);
}
static void rna_ImagePreview_size_get(PointerRNA *ptr, int *values, enum eIconSizes size)
{
- ID *id = (ID *)ptr->id.data;
- PreviewImage *prv_img = (PreviewImage *)ptr->data;
+ ID *id = (ID *)ptr->id.data;
+ PreviewImage *prv_img = (PreviewImage *)ptr->data;
- if (id != NULL) {
- BLI_assert(prv_img == BKE_previewimg_id_ensure(id));
- }
+ if (id != NULL) {
+ BLI_assert(prv_img == BKE_previewimg_id_ensure(id));
+ }
- BKE_previewimg_ensure(prv_img, size);
+ BKE_previewimg_ensure(prv_img, size);
- values[0] = prv_img->w[size];
- values[1] = prv_img->h[size];
+ values[0] = prv_img->w[size];
+ values[1] = prv_img->h[size];
}
static void rna_ImagePreview_size_set(PointerRNA *ptr, const int *values, enum eIconSizes size)
{
- ID *id = (ID *)ptr->id.data;
- PreviewImage *prv_img = (PreviewImage *)ptr->data;
+ ID *id = (ID *)ptr->id.data;
+ PreviewImage *prv_img = (PreviewImage *)ptr->data;
- if (id != NULL) {
- BLI_assert(prv_img == BKE_previewimg_id_ensure(id));
- }
+ if (id != NULL) {
+ BLI_assert(prv_img == BKE_previewimg_id_ensure(id));
+ }
- BKE_previewimg_clear_single(prv_img, size);
+ BKE_previewimg_clear_single(prv_img, size);
- if (values[0] && values[1]) {
- prv_img->rect[size] = MEM_callocN(values[0] * values[1] * sizeof(unsigned int), "prv_rect");
+ if (values[0] && values[1]) {
+ prv_img->rect[size] = MEM_callocN(values[0] * values[1] * sizeof(unsigned int), "prv_rect");
- prv_img->w[size] = values[0];
- prv_img->h[size] = values[1];
- }
+ prv_img->w[size] = values[0];
+ prv_img->h[size] = values[1];
+ }
- prv_img->flag[size] |= (PRV_CHANGED | PRV_USER_EDITED);
+ prv_img->flag[size] |= (PRV_CHANGED | PRV_USER_EDITED);
}
-
-static int rna_ImagePreview_pixels_get_length(PointerRNA *ptr, int length[RNA_MAX_ARRAY_DIMENSION], enum eIconSizes size)
+static int rna_ImagePreview_pixels_get_length(PointerRNA *ptr,
+ int length[RNA_MAX_ARRAY_DIMENSION],
+ enum eIconSizes size)
{
- ID *id = ptr->id.data;
- PreviewImage *prv_img = (PreviewImage *)ptr->data;
+ ID *id = ptr->id.data;
+ PreviewImage *prv_img = (PreviewImage *)ptr->data;
- if (id != NULL) {
- BLI_assert(prv_img == BKE_previewimg_id_ensure(id));
- }
+ if (id != NULL) {
+ BLI_assert(prv_img == BKE_previewimg_id_ensure(id));
+ }
- BKE_previewimg_ensure(prv_img, size);
+ BKE_previewimg_ensure(prv_img, size);
- length[0] = prv_img->w[size] * prv_img->h[size];
+ length[0] = prv_img->w[size] * prv_img->h[size];
- return length[0];
+ return length[0];
}
static void rna_ImagePreview_pixels_get(PointerRNA *ptr, int *values, enum eIconSizes size)
{
- ID *id = ptr->id.data;
- PreviewImage *prv_img = (PreviewImage *)ptr->data;
+ ID *id = ptr->id.data;
+ PreviewImage *prv_img = (PreviewImage *)ptr->data;
- if (id != NULL) {
- BLI_assert(prv_img == BKE_previewimg_id_ensure(id));
- }
+ if (id != NULL) {
+ BLI_assert(prv_img == BKE_previewimg_id_ensure(id));
+ }
- BKE_previewimg_ensure(prv_img, size);
+ BKE_previewimg_ensure(prv_img, size);
- memcpy(values, prv_img->rect[size], prv_img->w[size] * prv_img->h[size] * sizeof(unsigned int));
+ memcpy(values, prv_img->rect[size], prv_img->w[size] * prv_img->h[size] * sizeof(unsigned int));
}
static void rna_ImagePreview_pixels_set(PointerRNA *ptr, const int *values, enum eIconSizes size)
{
- ID *id = ptr->id.data;
- PreviewImage *prv_img = (PreviewImage *)ptr->data;
+ ID *id = ptr->id.data;
+ PreviewImage *prv_img = (PreviewImage *)ptr->data;
- if (id != NULL) {
- BLI_assert(prv_img == BKE_previewimg_id_ensure(id));
- }
+ if (id != NULL) {
+ BLI_assert(prv_img == BKE_previewimg_id_ensure(id));
+ }
- memcpy(prv_img->rect[size], values, prv_img->w[size] * prv_img->h[size] * sizeof(unsigned int));
- prv_img->flag[size] |= PRV_USER_EDITED;
+ memcpy(prv_img->rect[size], values, prv_img->w[size] * prv_img->h[size] * sizeof(unsigned int));
+ prv_img->flag[size] |= PRV_USER_EDITED;
}
-
-static int rna_ImagePreview_pixels_float_get_length(
- PointerRNA *ptr, int length[RNA_MAX_ARRAY_DIMENSION], enum eIconSizes size)
+static int rna_ImagePreview_pixels_float_get_length(PointerRNA *ptr,
+ int length[RNA_MAX_ARRAY_DIMENSION],
+ enum eIconSizes size)
{
- ID *id = ptr->id.data;
- PreviewImage *prv_img = (PreviewImage *)ptr->data;
+ ID *id = ptr->id.data;
+ PreviewImage *prv_img = (PreviewImage *)ptr->data;
- BLI_assert(sizeof(unsigned int) == 4);
+ BLI_assert(sizeof(unsigned int) == 4);
- if (id != NULL) {
- BLI_assert(prv_img == BKE_previewimg_id_ensure(id));
- }
+ if (id != NULL) {
+ BLI_assert(prv_img == BKE_previewimg_id_ensure(id));
+ }
- BKE_previewimg_ensure(prv_img, size);
+ BKE_previewimg_ensure(prv_img, size);
- length[0] = prv_img->w[size] * prv_img->h[size] * 4;
+ length[0] = prv_img->w[size] * prv_img->h[size] * 4;
- return length[0];
+ return length[0];
}
static void rna_ImagePreview_pixels_float_get(PointerRNA *ptr, float *values, enum eIconSizes size)
{
- ID *id = ptr->id.data;
- PreviewImage *prv_img = (PreviewImage *)ptr->data;
+ ID *id = ptr->id.data;
+ PreviewImage *prv_img = (PreviewImage *)ptr->data;
- unsigned char *data = (unsigned char *)prv_img->rect[size];
- const size_t len = prv_img->w[size] * prv_img->h[size] * 4;
- size_t i;
+ unsigned char *data = (unsigned char *)prv_img->rect[size];
+ const size_t len = prv_img->w[size] * prv_img->h[size] * 4;
+ size_t i;
- BLI_assert(sizeof(unsigned int) == 4);
+ BLI_assert(sizeof(unsigned int) == 4);
- if (id != NULL) {
- BLI_assert(prv_img == BKE_previewimg_id_ensure(id));
- }
+ if (id != NULL) {
+ BLI_assert(prv_img == BKE_previewimg_id_ensure(id));
+ }
- BKE_previewimg_ensure(prv_img, size);
+ BKE_previewimg_ensure(prv_img, size);
- for (i = 0; i < len; i++) {
- values[i] = data[i] * (1.0f / 255.0f);
- }
+ for (i = 0; i < len; i++) {
+ values[i] = data[i] * (1.0f / 255.0f);
+ }
}
-static void rna_ImagePreview_pixels_float_set(PointerRNA *ptr, const float *values, enum eIconSizes size)
+static void rna_ImagePreview_pixels_float_set(PointerRNA *ptr,
+ const float *values,
+ enum eIconSizes size)
{
- ID *id = ptr->id.data;
- PreviewImage *prv_img = (PreviewImage *)ptr->data;
+ ID *id = ptr->id.data;
+ PreviewImage *prv_img = (PreviewImage *)ptr->data;
- unsigned char *data = (unsigned char *)prv_img->rect[size];
- const size_t len = prv_img->w[size] * prv_img->h[size] * 4;
- size_t i;
+ unsigned char *data = (unsigned char *)prv_img->rect[size];
+ const size_t len = prv_img->w[size] * prv_img->h[size] * 4;
+ size_t i;
- BLI_assert(sizeof(unsigned int) == 4);
+ BLI_assert(sizeof(unsigned int) == 4);
- if (id != NULL) {
- BLI_assert(prv_img == BKE_previewimg_id_ensure(id));
- }
+ if (id != NULL) {
+ BLI_assert(prv_img == BKE_previewimg_id_ensure(id));
+ }
- for (i = 0; i < len; i++) {
- data[i] = unit_float_to_uchar_clamp(values[i]);
- }
- prv_img->flag[size] |= PRV_USER_EDITED;
+ for (i = 0; i < len; i++) {
+ data[i] = unit_float_to_uchar_clamp(values[i]);
+ }
+ prv_img->flag[size] |= PRV_USER_EDITED;
}
-
static void rna_ImagePreview_is_image_custom_set(PointerRNA *ptr, bool value)
{
- rna_ImagePreview_is_custom_set(ptr, value, ICON_SIZE_PREVIEW);
+ rna_ImagePreview_is_custom_set(ptr, value, ICON_SIZE_PREVIEW);
}
static void rna_ImagePreview_image_size_get(PointerRNA *ptr, int *values)
{
- rna_ImagePreview_size_get(ptr, values, ICON_SIZE_PREVIEW);
+ rna_ImagePreview_size_get(ptr, values, ICON_SIZE_PREVIEW);
}
static void rna_ImagePreview_image_size_set(PointerRNA *ptr, const int *values)
{
- rna_ImagePreview_size_set(ptr, values, ICON_SIZE_PREVIEW);
+ rna_ImagePreview_size_set(ptr, values, ICON_SIZE_PREVIEW);
}
-static int rna_ImagePreview_image_pixels_get_length(PointerRNA *ptr, int length[RNA_MAX_ARRAY_DIMENSION])
+static int rna_ImagePreview_image_pixels_get_length(PointerRNA *ptr,
+ int length[RNA_MAX_ARRAY_DIMENSION])
{
- return rna_ImagePreview_pixels_get_length(ptr, length, ICON_SIZE_PREVIEW);
+ return rna_ImagePreview_pixels_get_length(ptr, length, ICON_SIZE_PREVIEW);
}
static void rna_ImagePreview_image_pixels_get(PointerRNA *ptr, int *values)
{
- rna_ImagePreview_pixels_get(ptr, values, ICON_SIZE_PREVIEW);
+ rna_ImagePreview_pixels_get(ptr, values, ICON_SIZE_PREVIEW);
}
static void rna_ImagePreview_image_pixels_set(PointerRNA *ptr, const int *values)
{
- rna_ImagePreview_pixels_set(ptr, values, ICON_SIZE_PREVIEW);
+ rna_ImagePreview_pixels_set(ptr, values, ICON_SIZE_PREVIEW);
}
-static int rna_ImagePreview_image_pixels_float_get_length(PointerRNA *ptr, int length[RNA_MAX_ARRAY_DIMENSION])
+static int rna_ImagePreview_image_pixels_float_get_length(PointerRNA *ptr,
+ int length[RNA_MAX_ARRAY_DIMENSION])
{
- return rna_ImagePreview_pixels_float_get_length(ptr, length, ICON_SIZE_PREVIEW);
+ return rna_ImagePreview_pixels_float_get_length(ptr, length, ICON_SIZE_PREVIEW);
}
static void rna_ImagePreview_image_pixels_float_get(PointerRNA *ptr, float *values)
{
- rna_ImagePreview_pixels_float_get(ptr, values, ICON_SIZE_PREVIEW);
+ rna_ImagePreview_pixels_float_get(ptr, values, ICON_SIZE_PREVIEW);
}
static void rna_ImagePreview_image_pixels_float_set(PointerRNA *ptr, const float *values)
{
- rna_ImagePreview_pixels_float_set(ptr, values, ICON_SIZE_PREVIEW);
+ rna_ImagePreview_pixels_float_set(ptr, values, ICON_SIZE_PREVIEW);
}
-
static void rna_ImagePreview_is_icon_custom_set(PointerRNA *ptr, bool value)
{
- rna_ImagePreview_is_custom_set(ptr, value, ICON_SIZE_ICON);
+ rna_ImagePreview_is_custom_set(ptr, value, ICON_SIZE_ICON);
}
static void rna_ImagePreview_icon_size_get(PointerRNA *ptr, int *values)
{
- rna_ImagePreview_size_get(ptr, values, ICON_SIZE_ICON);
+ rna_ImagePreview_size_get(ptr, values, ICON_SIZE_ICON);
}
static void rna_ImagePreview_icon_size_set(PointerRNA *ptr, const int *values)
{
- rna_ImagePreview_size_set(ptr, values, ICON_SIZE_ICON);
+ rna_ImagePreview_size_set(ptr, values, ICON_SIZE_ICON);
}
-static int rna_ImagePreview_icon_pixels_get_length(PointerRNA *ptr, int length[RNA_MAX_ARRAY_DIMENSION])
+static int rna_ImagePreview_icon_pixels_get_length(PointerRNA *ptr,
+ int length[RNA_MAX_ARRAY_DIMENSION])
{
- return rna_ImagePreview_pixels_get_length(ptr, length, ICON_SIZE_ICON);
+ return rna_ImagePreview_pixels_get_length(ptr, length, ICON_SIZE_ICON);
}
static void rna_ImagePreview_icon_pixels_get(PointerRNA *ptr, int *values)
{
- rna_ImagePreview_pixels_get(ptr, values, ICON_SIZE_ICON);
+ rna_ImagePreview_pixels_get(ptr, values, ICON_SIZE_ICON);
}
static void rna_ImagePreview_icon_pixels_set(PointerRNA *ptr, const int *values)
{
- rna_ImagePreview_pixels_set(ptr, values, ICON_SIZE_ICON);
+ rna_ImagePreview_pixels_set(ptr, values, ICON_SIZE_ICON);
}
-static int rna_ImagePreview_icon_pixels_float_get_length(PointerRNA *ptr, int length[RNA_MAX_ARRAY_DIMENSION])
+static int rna_ImagePreview_icon_pixels_float_get_length(PointerRNA *ptr,
+ int length[RNA_MAX_ARRAY_DIMENSION])
{
- return rna_ImagePreview_pixels_float_get_length(ptr, length, ICON_SIZE_ICON);
+ return rna_ImagePreview_pixels_float_get_length(ptr, length, ICON_SIZE_ICON);
}
static void rna_ImagePreview_icon_pixels_float_get(PointerRNA *ptr, float *values)
{
- rna_ImagePreview_pixels_float_get(ptr, values, ICON_SIZE_ICON);
+ rna_ImagePreview_pixels_float_get(ptr, values, ICON_SIZE_ICON);
}
static void rna_ImagePreview_icon_pixels_float_set(PointerRNA *ptr, const float *values)
{
- rna_ImagePreview_pixels_float_set(ptr, values, ICON_SIZE_ICON);
+ rna_ImagePreview_pixels_float_set(ptr, values, ICON_SIZE_ICON);
}
-
static int rna_ImagePreview_icon_id_get(PointerRNA *ptr)
{
- /* Using a callback here allows us to only generate icon matching that preview when icon_id is requested. */
- return BKE_icon_preview_ensure(ptr->id.data, (PreviewImage *)(ptr->data));
+ /* Using a callback here allows us to only generate icon matching that preview when icon_id is requested. */
+ return BKE_icon_preview_ensure(ptr->id.data, (PreviewImage *)(ptr->data));
}
static void rna_ImagePreview_icon_reload(PreviewImage *prv)
{
- /* will lazy load on next use, but only in case icon is not user-modified! */
- if (!(prv->flag[ICON_SIZE_ICON] & PRV_USER_EDITED) && !(prv->flag[ICON_SIZE_PREVIEW] & PRV_USER_EDITED)) {
- BKE_previewimg_clear(prv);
- }
+ /* will lazy load on next use, but only in case icon is not user-modified! */
+ if (!(prv->flag[ICON_SIZE_ICON] & PRV_USER_EDITED) &&
+ !(prv->flag[ICON_SIZE_PREVIEW] & PRV_USER_EDITED)) {
+ BKE_previewimg_clear(prv);
+ }
}
static PointerRNA rna_IDPreview_get(PointerRNA *ptr)
{
- ID *id = (ID *)ptr->data;
- PreviewImage *prv_img = BKE_previewimg_id_ensure(id);
+ ID *id = (ID *)ptr->data;
+ PreviewImage *prv_img = BKE_previewimg_id_ensure(id);
- return rna_pointer_inherit_refine(ptr, &RNA_ImagePreview, prv_img);
+ return rna_pointer_inherit_refine(ptr, &RNA_ImagePreview, prv_img);
}
static IDProperty *rna_IDPropertyWrapPtr_idprops(PointerRNA *ptr, bool UNUSED(create))
{
- if (ptr == NULL) {
- return NULL;
- }
- return ptr->data;
+ if (ptr == NULL) {
+ return NULL;
+ }
+ return ptr->data;
}
static void rna_Library_version_get(PointerRNA *ptr, int *value)
{
- Library *lib = (Library *)ptr->data;
- value[0] = lib->versionfile / 100;
- value[1] = lib->versionfile % 100;
- value[2] = lib->subversionfile;
+ Library *lib = (Library *)ptr->data;
+ value[0] = lib->versionfile / 100;
+ value[1] = lib->versionfile % 100;
+ value[2] = lib->subversionfile;
}
#else
static void rna_def_ID_properties(BlenderRNA *brna)
{
- StructRNA *srna;
- PropertyRNA *prop;
-
- /* this is struct is used for holding the virtual
- * PropertyRNA's for ID properties */
- srna = RNA_def_struct(brna, "PropertyGroupItem", NULL);
- RNA_def_struct_sdna(srna, "IDProperty");
- RNA_def_struct_ui_text(srna, "ID Property", "Property that stores arbitrary, user defined properties");
-
- /* IDP_STRING */
- prop = RNA_def_property(srna, "string", PROP_STRING, PROP_NONE);
- RNA_def_property_flag(prop, PROP_IDPROPERTY);
-
- /* IDP_INT */
- prop = RNA_def_property(srna, "int", PROP_INT, PROP_NONE);
- RNA_def_property_flag(prop, PROP_IDPROPERTY);
-
- prop = RNA_def_property(srna, "int_array", PROP_INT, PROP_NONE);
- RNA_def_property_flag(prop, PROP_IDPROPERTY);
- RNA_def_property_array(prop, 1);
-
- /* IDP_FLOAT */
- prop = RNA_def_property(srna, "float", PROP_FLOAT, PROP_NONE);
- RNA_def_property_flag(prop, PROP_IDPROPERTY);
-
- prop = RNA_def_property(srna, "float_array", PROP_FLOAT, PROP_NONE);
- RNA_def_property_flag(prop, PROP_IDPROPERTY);
- RNA_def_property_array(prop, 1);
-
- /* IDP_DOUBLE */
- prop = RNA_def_property(srna, "double", PROP_FLOAT, PROP_NONE);
- RNA_def_property_flag(prop, PROP_IDPROPERTY);
-
- prop = RNA_def_property(srna, "double_array", PROP_FLOAT, PROP_NONE);
- RNA_def_property_flag(prop, PROP_IDPROPERTY);
- RNA_def_property_array(prop, 1);
-
- /* IDP_GROUP */
- prop = RNA_def_property(srna, "group", PROP_POINTER, PROP_NONE);
- RNA_def_property_flag(prop, PROP_IDPROPERTY);
- RNA_def_property_clear_flag(prop, PROP_EDITABLE);
- RNA_def_property_struct_type(prop, "PropertyGroup");
-
- prop = RNA_def_property(srna, "collection", PROP_COLLECTION, PROP_NONE);
- RNA_def_property_flag(prop, PROP_IDPROPERTY);
- RNA_def_property_struct_type(prop, "PropertyGroup");
-
- prop = RNA_def_property(srna, "idp_array", PROP_COLLECTION, PROP_NONE);
- RNA_def_property_struct_type(prop, "PropertyGroup");
- RNA_def_property_collection_funcs(prop, "rna_IDPArray_begin", "rna_iterator_array_next", "rna_iterator_array_end",
- "rna_iterator_array_get", "rna_IDPArray_length", NULL, NULL, NULL);
- RNA_def_property_flag(prop, PROP_IDPROPERTY);
-
- /* never tested, maybe its useful to have this? */
-#if 0
- prop = RNA_def_property(srna, "name", PROP_STRING, PROP_NONE);
- RNA_def_property_flag(prop, PROP_IDPROPERTY);
- RNA_def_property_clear_flag(prop, PROP_EDITABLE);
- RNA_def_property_ui_text(prop, "Name", "Unique name used in the code and scripting");
- RNA_def_struct_name_property(srna, prop);
-#endif
-
- /* IDP_ID */
- prop = RNA_def_property(srna, "id", PROP_POINTER, PROP_NONE);
- RNA_def_property_flag(prop, PROP_IDPROPERTY | PROP_NEVER_UNLINK);
- RNA_def_property_struct_type(prop, "ID");
-
-
- /* ID property groups > level 0, since level 0 group is merged
- * with native RNA properties. the builtin_properties will take
- * care of the properties here */
- srna = RNA_def_struct(brna, "PropertyGroup", NULL);
- RNA_def_struct_sdna(srna, "IDPropertyGroup");
- RNA_def_struct_ui_text(srna, "ID Property Group", "Group of ID properties");
- RNA_def_struct_idprops_func(srna, "rna_PropertyGroup_idprops");
- RNA_def_struct_register_funcs(srna, "rna_PropertyGroup_register", "rna_PropertyGroup_unregister", NULL);
- RNA_def_struct_refine_func(srna, "rna_PropertyGroup_refine");
-
- /* important so python types can have their name used in list views
- * however this isn't prefect because it overrides how python would set the name
- * when we only really want this so RNA_def_struct_name_property() is set to something useful */
- prop = RNA_def_property(srna, "name", PROP_STRING, PROP_NONE);
- RNA_def_property_flag(prop, PROP_IDPROPERTY);
- /*RNA_def_property_clear_flag(prop, PROP_EDITABLE); */
- RNA_def_property_ui_text(prop, "Name", "Unique name used in the code and scripting");
- RNA_def_struct_name_property(srna, prop);
+ StructRNA *srna;
+ PropertyRNA *prop;
+
+ /* this is struct is used for holding the virtual
+ * PropertyRNA's for ID properties */
+ srna = RNA_def_struct(brna, "PropertyGroupItem", NULL);
+ RNA_def_struct_sdna(srna, "IDProperty");
+ RNA_def_struct_ui_text(
+ srna, "ID Property", "Property that stores arbitrary, user defined properties");
+
+ /* IDP_STRING */
+ prop = RNA_def_property(srna, "string", PROP_STRING, PROP_NONE);
+ RNA_def_property_flag(prop, PROP_IDPROPERTY);
+
+ /* IDP_INT */
+ prop = RNA_def_property(srna, "int", PROP_INT, PROP_NONE);
+ RNA_def_property_flag(prop, PROP_IDPROPERTY);
+
+ prop = RNA_def_property(srna, "int_array", PROP_INT, PROP_NONE);
+ RNA_def_property_flag(prop, PROP_IDPROPERTY);
+ RNA_def_property_array(prop, 1);
+
+ /* IDP_FLOAT */
+ prop = RNA_def_property(srna, "float", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_flag(prop, PROP_IDPROPERTY);
+
+ prop = RNA_def_property(srna, "float_array", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_flag(prop, PROP_IDPROPERTY);
+ RNA_def_property_array(prop, 1);
+
+ /* IDP_DOUBLE */
+ prop = RNA_def_property(srna, "double", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_flag(prop, PROP_IDPROPERTY);
+
+ prop = RNA_def_property(srna, "double_array", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_flag(prop, PROP_IDPROPERTY);
+ RNA_def_property_array(prop, 1);
+
+ /* IDP_GROUP */
+ prop = RNA_def_property(srna, "group", PROP_POINTER, PROP_NONE);
+ RNA_def_property_flag(prop, PROP_IDPROPERTY);
+ RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+ RNA_def_property_struct_type(prop, "PropertyGroup");
+
+ prop = RNA_def_property(srna, "collection", PROP_COLLECTION, PROP_NONE);
+ RNA_def_property_flag(prop, PROP_IDPROPERTY);
+ RNA_def_property_struct_type(prop, "PropertyGroup");
+
+ prop = RNA_def_property(srna, "idp_array", PROP_COLLECTION, PROP_NONE);
+ RNA_def_property_struct_type(prop, "PropertyGroup");
+ RNA_def_property_collection_funcs(prop,
+ "rna_IDPArray_begin",
+ "rna_iterator_array_next",
+ "rna_iterator_array_end",
+ "rna_iterator_array_get",
+ "rna_IDPArray_length",
+ NULL,
+ NULL,
+ NULL);
+ RNA_def_property_flag(prop, PROP_IDPROPERTY);
+
+ /* never tested, maybe its useful to have this? */
+# if 0
+ prop = RNA_def_property(srna, "name", PROP_STRING, PROP_NONE);
+ RNA_def_property_flag(prop, PROP_IDPROPERTY);
+ RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+ RNA_def_property_ui_text(prop, "Name", "Unique name used in the code and scripting");
+ RNA_def_struct_name_property(srna, prop);
+# endif
+
+ /* IDP_ID */
+ prop = RNA_def_property(srna, "id", PROP_POINTER, PROP_NONE);
+ RNA_def_property_flag(prop, PROP_IDPROPERTY | PROP_NEVER_UNLINK);
+ RNA_def_property_struct_type(prop, "ID");
+
+ /* ID property groups > level 0, since level 0 group is merged
+ * with native RNA properties. the builtin_properties will take
+ * care of the properties here */
+ srna = RNA_def_struct(brna, "PropertyGroup", NULL);
+ RNA_def_struct_sdna(srna, "IDPropertyGroup");
+ RNA_def_struct_ui_text(srna, "ID Property Group", "Group of ID properties");
+ RNA_def_struct_idprops_func(srna, "rna_PropertyGroup_idprops");
+ RNA_def_struct_register_funcs(
+ srna, "rna_PropertyGroup_register", "rna_PropertyGroup_unregister", NULL);
+ RNA_def_struct_refine_func(srna, "rna_PropertyGroup_refine");
+
+ /* important so python types can have their name used in list views
+ * however this isn't prefect because it overrides how python would set the name
+ * when we only really want this so RNA_def_struct_name_property() is set to something useful */
+ prop = RNA_def_property(srna, "name", PROP_STRING, PROP_NONE);
+ RNA_def_property_flag(prop, PROP_IDPROPERTY);
+ /*RNA_def_property_clear_flag(prop, PROP_EDITABLE); */
+ RNA_def_property_ui_text(prop, "Name", "Unique name used in the code and scripting");
+ RNA_def_struct_name_property(srna, prop);
}
-
static void rna_def_ID_materials(BlenderRNA *brna)
{
- StructRNA *srna;
- FunctionRNA *func;
- PropertyRNA *parm;
-
- /* for mesh/mball/curve materials */
- srna = RNA_def_struct(brna, "IDMaterials", NULL);
- RNA_def_struct_sdna(srna, "ID");
- RNA_def_struct_ui_text(srna, "ID Materials", "Collection of materials");
-
- func = RNA_def_function(srna, "append", "rna_IDMaterials_append_id");
- RNA_def_function_flag(func, FUNC_USE_MAIN);
- RNA_def_function_ui_description(func, "Add a new material to the data-block");
- parm = RNA_def_pointer(func, "material", "Material", "", "Material to add");
- RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
-
- func = RNA_def_function(srna, "pop", "rna_IDMaterials_pop_id");
- RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_MAIN);
- RNA_def_function_ui_description(func, "Remove a material from the data-block");
- parm = RNA_def_int(func, "index", -1, -MAXMAT, MAXMAT, "", "Index of material to remove", 0, MAXMAT);
- RNA_def_boolean(func, "update_data", 0, "", "Update data by re-adjusting the material slots assigned");
- parm = RNA_def_pointer(func, "material", "Material", "", "Material to remove");
- RNA_def_function_return(func, parm);
-
- func = RNA_def_function(srna, "clear", "rna_IDMaterials_clear_id");
- RNA_def_function_flag(func, FUNC_USE_MAIN);
- RNA_def_function_ui_description(func, "Remove all materials from the data-block");
- RNA_def_boolean(func, "update_data", 0, "", "Update data by re-adjusting the material slots assigned");
+ StructRNA *srna;
+ FunctionRNA *func;
+ PropertyRNA *parm;
+
+ /* for mesh/mball/curve materials */
+ srna = RNA_def_struct(brna, "IDMaterials", NULL);
+ RNA_def_struct_sdna(srna, "ID");
+ RNA_def_struct_ui_text(srna, "ID Materials", "Collection of materials");
+
+ func = RNA_def_function(srna, "append", "rna_IDMaterials_append_id");
+ RNA_def_function_flag(func, FUNC_USE_MAIN);
+ RNA_def_function_ui_description(func, "Add a new material to the data-block");
+ parm = RNA_def_pointer(func, "material", "Material", "", "Material to add");
+ RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
+
+ func = RNA_def_function(srna, "pop", "rna_IDMaterials_pop_id");
+ RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_MAIN);
+ RNA_def_function_ui_description(func, "Remove a material from the data-block");
+ parm = RNA_def_int(
+ func, "index", -1, -MAXMAT, MAXMAT, "", "Index of material to remove", 0, MAXMAT);
+ RNA_def_boolean(
+ func, "update_data", 0, "", "Update data by re-adjusting the material slots assigned");
+ parm = RNA_def_pointer(func, "material", "Material", "", "Material to remove");
+ RNA_def_function_return(func, parm);
+
+ func = RNA_def_function(srna, "clear", "rna_IDMaterials_clear_id");
+ RNA_def_function_flag(func, FUNC_USE_MAIN);
+ RNA_def_function_ui_description(func, "Remove all materials from the data-block");
+ RNA_def_boolean(
+ func, "update_data", 0, "", "Update data by re-adjusting the material slots assigned");
}
static void rna_def_image_preview(BlenderRNA *brna)
{
- StructRNA *srna;
- FunctionRNA *func;
- PropertyRNA *prop;
-
- srna = RNA_def_struct(brna, "ImagePreview", NULL);
- RNA_def_struct_sdna(srna, "PreviewImage");
- RNA_def_struct_ui_text(srna, "Image Preview", "Preview image and icon");
-
- prop = RNA_def_property(srna, "is_image_custom", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "flag[ICON_SIZE_PREVIEW]", PRV_USER_EDITED);
- RNA_def_property_boolean_funcs(prop, NULL, "rna_ImagePreview_is_image_custom_set");
- RNA_def_property_ui_text(prop, "Custom Image", "True if this preview image has been modified by py script,"
- "and is no more auto-generated by Blender");
-
- prop = RNA_def_int_vector(srna, "image_size", 2, NULL, 0, 0, "Image Size",
- "Width and height in pixels", 0, 0);
- RNA_def_property_subtype(prop, PROP_PIXEL);
- RNA_def_property_int_funcs(prop, "rna_ImagePreview_image_size_get", "rna_ImagePreview_image_size_set", NULL);
-
- prop = RNA_def_property(srna, "image_pixels", PROP_INT, PROP_NONE);
- RNA_def_property_flag(prop, PROP_DYNAMIC);
- RNA_def_property_multi_array(prop, 1, NULL);
- RNA_def_property_ui_text(prop, "Image Pixels", "Image pixels, as bytes (always RGBA 32bits)");
- RNA_def_property_dynamic_array_funcs(prop, "rna_ImagePreview_image_pixels_get_length");
- RNA_def_property_int_funcs(prop, "rna_ImagePreview_image_pixels_get", "rna_ImagePreview_image_pixels_set", NULL);
-
- prop = RNA_def_property(srna, "image_pixels_float", PROP_FLOAT, PROP_NONE);
- RNA_def_property_flag(prop, PROP_DYNAMIC);
- RNA_def_property_multi_array(prop, 1, NULL);
- RNA_def_property_ui_text(prop, "Float Image Pixels",
- "Image pixels components, as floats (RGBA concatenated values)");
- RNA_def_property_dynamic_array_funcs(prop, "rna_ImagePreview_image_pixels_float_get_length");
- RNA_def_property_float_funcs(prop, "rna_ImagePreview_image_pixels_float_get",
- "rna_ImagePreview_image_pixels_float_set", NULL);
-
-
- prop = RNA_def_property(srna, "is_icon_custom", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "flag[ICON_SIZE_ICON]", PRV_USER_EDITED);
- RNA_def_property_boolean_funcs(prop, NULL, "rna_ImagePreview_is_icon_custom_set");
- RNA_def_property_ui_text(prop, "Custom Icon", "True if this preview icon has been modified by py script,"
- "and is no more auto-generated by Blender");
-
- prop = RNA_def_int_vector(srna, "icon_size", 2, NULL, 0, 0, "Icon Size",
- "Width and height in pixels", 0, 0);
- RNA_def_property_subtype(prop, PROP_PIXEL);
- RNA_def_property_int_funcs(prop, "rna_ImagePreview_icon_size_get", "rna_ImagePreview_icon_size_set", NULL);
-
- prop = RNA_def_property(srna, "icon_pixels", PROP_INT, PROP_NONE);
- RNA_def_property_flag(prop, PROP_DYNAMIC);
- RNA_def_property_multi_array(prop, 1, NULL);
- RNA_def_property_ui_text(prop, "Icon Pixels", "Icon pixels, as bytes (always RGBA 32bits)");
- RNA_def_property_dynamic_array_funcs(prop, "rna_ImagePreview_icon_pixels_get_length");
- RNA_def_property_int_funcs(prop, "rna_ImagePreview_icon_pixels_get", "rna_ImagePreview_icon_pixels_set", NULL);
-
- prop = RNA_def_property(srna, "icon_pixels_float", PROP_FLOAT, PROP_NONE);
- RNA_def_property_flag(prop, PROP_DYNAMIC);
- RNA_def_property_multi_array(prop, 1, NULL);
- RNA_def_property_ui_text(prop, "Float Icon Pixels", "Icon pixels components, as floats (RGBA concatenated values)");
- RNA_def_property_dynamic_array_funcs(prop, "rna_ImagePreview_icon_pixels_float_get_length");
- RNA_def_property_float_funcs(prop, "rna_ImagePreview_icon_pixels_float_get",
- "rna_ImagePreview_icon_pixels_float_set", NULL);
-
- prop = RNA_def_int(srna, "icon_id", 0, INT_MIN, INT_MAX, "Icon ID",
- "Unique integer identifying this preview as an icon (zero means invalid)", INT_MIN, INT_MAX);
- RNA_def_property_clear_flag(prop, PROP_EDITABLE);
- RNA_def_property_int_funcs(prop, "rna_ImagePreview_icon_id_get", NULL, NULL);
-
- func = RNA_def_function(srna, "reload", "rna_ImagePreview_icon_reload");
- RNA_def_function_ui_description(func, "Reload the preview from its source path");
+ StructRNA *srna;
+ FunctionRNA *func;
+ PropertyRNA *prop;
+
+ srna = RNA_def_struct(brna, "ImagePreview", NULL);
+ RNA_def_struct_sdna(srna, "PreviewImage");
+ RNA_def_struct_ui_text(srna, "Image Preview", "Preview image and icon");
+
+ prop = RNA_def_property(srna, "is_image_custom", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag[ICON_SIZE_PREVIEW]", PRV_USER_EDITED);
+ RNA_def_property_boolean_funcs(prop, NULL, "rna_ImagePreview_is_image_custom_set");
+ RNA_def_property_ui_text(prop,
+ "Custom Image",
+ "True if this preview image has been modified by py script,"
+ "and is no more auto-generated by Blender");
+
+ prop = RNA_def_int_vector(
+ srna, "image_size", 2, NULL, 0, 0, "Image Size", "Width and height in pixels", 0, 0);
+ RNA_def_property_subtype(prop, PROP_PIXEL);
+ RNA_def_property_int_funcs(
+ prop, "rna_ImagePreview_image_size_get", "rna_ImagePreview_image_size_set", NULL);
+
+ prop = RNA_def_property(srna, "image_pixels", PROP_INT, PROP_NONE);
+ RNA_def_property_flag(prop, PROP_DYNAMIC);
+ RNA_def_property_multi_array(prop, 1, NULL);
+ RNA_def_property_ui_text(prop, "Image Pixels", "Image pixels, as bytes (always RGBA 32bits)");
+ RNA_def_property_dynamic_array_funcs(prop, "rna_ImagePreview_image_pixels_get_length");
+ RNA_def_property_int_funcs(
+ prop, "rna_ImagePreview_image_pixels_get", "rna_ImagePreview_image_pixels_set", NULL);
+
+ prop = RNA_def_property(srna, "image_pixels_float", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_flag(prop, PROP_DYNAMIC);
+ RNA_def_property_multi_array(prop, 1, NULL);
+ RNA_def_property_ui_text(
+ prop, "Float Image Pixels", "Image pixels components, as floats (RGBA concatenated values)");
+ RNA_def_property_dynamic_array_funcs(prop, "rna_ImagePreview_image_pixels_float_get_length");
+ RNA_def_property_float_funcs(prop,
+ "rna_ImagePreview_image_pixels_float_get",
+ "rna_ImagePreview_image_pixels_float_set",
+ NULL);
+
+ prop = RNA_def_property(srna, "is_icon_custom", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag[ICON_SIZE_ICON]", PRV_USER_EDITED);
+ RNA_def_property_boolean_funcs(prop, NULL, "rna_ImagePreview_is_icon_custom_set");
+ RNA_def_property_ui_text(prop,
+ "Custom Icon",
+ "True if this preview icon has been modified by py script,"
+ "and is no more auto-generated by Blender");
+
+ prop = RNA_def_int_vector(
+ srna, "icon_size", 2, NULL, 0, 0, "Icon Size", "Width and height in pixels", 0, 0);
+ RNA_def_property_subtype(prop, PROP_PIXEL);
+ RNA_def_property_int_funcs(
+ prop, "rna_ImagePreview_icon_size_get", "rna_ImagePreview_icon_size_set", NULL);
+
+ prop = RNA_def_property(srna, "icon_pixels", PROP_INT, PROP_NONE);
+ RNA_def_property_flag(prop, PROP_DYNAMIC);
+ RNA_def_property_multi_array(prop, 1, NULL);
+ RNA_def_property_ui_text(prop, "Icon Pixels", "Icon pixels, as bytes (always RGBA 32bits)");
+ RNA_def_property_dynamic_array_funcs(prop, "rna_ImagePreview_icon_pixels_get_length");
+ RNA_def_property_int_funcs(
+ prop, "rna_ImagePreview_icon_pixels_get", "rna_ImagePreview_icon_pixels_set", NULL);
+
+ prop = RNA_def_property(srna, "icon_pixels_float", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_flag(prop, PROP_DYNAMIC);
+ RNA_def_property_multi_array(prop, 1, NULL);
+ RNA_def_property_ui_text(
+ prop, "Float Icon Pixels", "Icon pixels components, as floats (RGBA concatenated values)");
+ RNA_def_property_dynamic_array_funcs(prop, "rna_ImagePreview_icon_pixels_float_get_length");
+ RNA_def_property_float_funcs(prop,
+ "rna_ImagePreview_icon_pixels_float_get",
+ "rna_ImagePreview_icon_pixels_float_set",
+ NULL);
+
+ prop = RNA_def_int(srna,
+ "icon_id",
+ 0,
+ INT_MIN,
+ INT_MAX,
+ "Icon ID",
+ "Unique integer identifying this preview as an icon (zero means invalid)",
+ INT_MIN,
+ INT_MAX);
+ RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+ RNA_def_property_int_funcs(prop, "rna_ImagePreview_icon_id_get", NULL, NULL);
+
+ func = RNA_def_function(srna, "reload", "rna_ImagePreview_icon_reload");
+ RNA_def_function_ui_description(func, "Reload the preview from its source path");
}
static void rna_def_ID_override_static_property_operation(BlenderRNA *brna)
{
- StructRNA *srna;
- PropertyRNA *prop;
-
- static const EnumPropertyItem static_override_property_operation_items[] = {
- {IDOVERRIDESTATIC_OP_NOOP, "NOOP", 0, "No-Op", "Does nothing, prevents adding actual overrides (NOT USED)"},
- {IDOVERRIDESTATIC_OP_REPLACE, "REPLACE", 0, "Replace", "Replace value of reference by overriding one"},
- {IDOVERRIDESTATIC_OP_ADD, "DIFF_ADD", 0, "Differential",
- "Stores and apply difference between reference and local value (NOT USED)"},
- {IDOVERRIDESTATIC_OP_SUBTRACT, "DIFF_SUB", 0, "Differential",
- "Stores and apply difference between reference and local value (NOT USED)"},
- {IDOVERRIDESTATIC_OP_MULTIPLY, "FACT_MULTIPLY", 0, "Factor",
- "Stores and apply multiplication factor between reference and local value (NOT USED)"},
- {IDOVERRIDESTATIC_OP_INSERT_AFTER, "INSERT_AFTER", 0, "Insert After",
- "Insert a new item into collection after the one referenced in subitem_reference_name or _index"},
- {IDOVERRIDESTATIC_OP_INSERT_BEFORE, "INSERT_BEFORE", 0, "Insert Before",
- "Insert a new item into collection after the one referenced in subitem_reference_name or _index (NOT USED)"},
- {0, NULL, 0, NULL, NULL},
- };
-
- static const EnumPropertyItem static_override_property_flag_items[] = {
- {IDOVERRIDESTATIC_FLAG_MANDATORY, "MANDATORY", 0, "Mandatory",
- "For templates, prevents the user from removing pre-defined operation (NOT USED)"},
- {IDOVERRIDESTATIC_FLAG_LOCKED, "LOCKED", 0, "Locked",
- "Prevents the user from modifying that override operation (NOT USED)"},
- {0, NULL, 0, NULL, NULL},
- };
-
- srna = RNA_def_struct(brna, "IDOverrideStaticPropertyOperation", NULL);
- RNA_def_struct_ui_text(srna, "ID Static Override Property Operation",
- "Description of an override operation over an overridden property");
-
- prop = RNA_def_enum(srna, "operation", static_override_property_operation_items, IDOVERRIDESTATIC_OP_REPLACE,
- "Operation", "What override operation is performed");
- RNA_def_property_clear_flag(prop, PROP_EDITABLE); /* For now. */
-
- prop = RNA_def_enum(srna, "flag", static_override_property_flag_items, 0,
- "Flags", "Optional flags (NOT USED)");
- RNA_def_property_clear_flag(prop, PROP_EDITABLE); /* For now. */
-
- prop = RNA_def_string(srna, "subitem_reference_name", NULL, INT_MAX, "Subitem Reference Name",
- "Used to handle insertions into collection");
- RNA_def_property_clear_flag(prop, PROP_EDITABLE); /* For now. */
- RNA_def_property_string_funcs(prop, "rna_ID_override_static_property_operation_refname_get",
- "rna_ID_override_static_property_operation_refname_length", NULL);
-
- prop = RNA_def_string(srna, "subitem_local_name", NULL, INT_MAX, "Subitem Local Name",
- "Used to handle insertions into collection");
- RNA_def_property_clear_flag(prop, PROP_EDITABLE); /* For now. */
- RNA_def_property_string_funcs(prop, "rna_ID_override_static_property_operation_locname_get",
- "rna_ID_override_static_property_operation_locname_length", NULL);
-
- prop = RNA_def_int(srna, "subitem_reference_index", -1, -1, INT_MAX, "Subitem Reference Index",
- "Used to handle insertions into collection", -1, INT_MAX);
- RNA_def_property_clear_flag(prop, PROP_EDITABLE); /* For now. */
-
- prop = RNA_def_int(srna, "subitem_local_index", -1, -1, INT_MAX, "Subitem Local Index",
- "Used to handle insertions into collection", -1, INT_MAX);
- RNA_def_property_clear_flag(prop, PROP_EDITABLE); /* For now. */
+ StructRNA *srna;
+ PropertyRNA *prop;
+
+ static const EnumPropertyItem static_override_property_operation_items[] = {
+ {IDOVERRIDESTATIC_OP_NOOP,
+ "NOOP",
+ 0,
+ "No-Op",
+ "Does nothing, prevents adding actual overrides (NOT USED)"},
+ {IDOVERRIDESTATIC_OP_REPLACE,
+ "REPLACE",
+ 0,
+ "Replace",
+ "Replace value of reference by overriding one"},
+ {IDOVERRIDESTATIC_OP_ADD,
+ "DIFF_ADD",
+ 0,
+ "Differential",
+ "Stores and apply difference between reference and local value (NOT USED)"},
+ {IDOVERRIDESTATIC_OP_SUBTRACT,
+ "DIFF_SUB",
+ 0,
+ "Differential",
+ "Stores and apply difference between reference and local value (NOT USED)"},
+ {IDOVERRIDESTATIC_OP_MULTIPLY,
+ "FACT_MULTIPLY",
+ 0,
+ "Factor",
+ "Stores and apply multiplication factor between reference and local value (NOT USED)"},
+ {IDOVERRIDESTATIC_OP_INSERT_AFTER,
+ "INSERT_AFTER",
+ 0,
+ "Insert After",
+ "Insert a new item into collection after the one referenced in subitem_reference_name or "
+ "_index"},
+ {IDOVERRIDESTATIC_OP_INSERT_BEFORE,
+ "INSERT_BEFORE",
+ 0,
+ "Insert Before",
+ "Insert a new item into collection after the one referenced in subitem_reference_name or "
+ "_index (NOT USED)"},
+ {0, NULL, 0, NULL, NULL},
+ };
+
+ static const EnumPropertyItem static_override_property_flag_items[] = {
+ {IDOVERRIDESTATIC_FLAG_MANDATORY,
+ "MANDATORY",
+ 0,
+ "Mandatory",
+ "For templates, prevents the user from removing pre-defined operation (NOT USED)"},
+ {IDOVERRIDESTATIC_FLAG_LOCKED,
+ "LOCKED",
+ 0,
+ "Locked",
+ "Prevents the user from modifying that override operation (NOT USED)"},
+ {0, NULL, 0, NULL, NULL},
+ };
+
+ srna = RNA_def_struct(brna, "IDOverrideStaticPropertyOperation", NULL);
+ RNA_def_struct_ui_text(srna,
+ "ID Static Override Property Operation",
+ "Description of an override operation over an overridden property");
+
+ prop = RNA_def_enum(srna,
+ "operation",
+ static_override_property_operation_items,
+ IDOVERRIDESTATIC_OP_REPLACE,
+ "Operation",
+ "What override operation is performed");
+ RNA_def_property_clear_flag(prop, PROP_EDITABLE); /* For now. */
+
+ prop = RNA_def_enum(
+ srna, "flag", static_override_property_flag_items, 0, "Flags", "Optional flags (NOT USED)");
+ RNA_def_property_clear_flag(prop, PROP_EDITABLE); /* For now. */
+
+ prop = RNA_def_string(srna,
+ "subitem_reference_name",
+ NULL,
+ INT_MAX,
+ "Subitem Reference Name",
+ "Used to handle insertions into collection");
+ RNA_def_property_clear_flag(prop, PROP_EDITABLE); /* For now. */
+ RNA_def_property_string_funcs(prop,
+ "rna_ID_override_static_property_operation_refname_get",
+ "rna_ID_override_static_property_operation_refname_length",
+ NULL);
+
+ prop = RNA_def_string(srna,
+ "subitem_local_name",
+ NULL,
+ INT_MAX,
+ "Subitem Local Name",
+ "Used to handle insertions into collection");
+ RNA_def_property_clear_flag(prop, PROP_EDITABLE); /* For now. */
+ RNA_def_property_string_funcs(prop,
+ "rna_ID_override_static_property_operation_locname_get",
+ "rna_ID_override_static_property_operation_locname_length",
+ NULL);
+
+ prop = RNA_def_int(srna,
+ "subitem_reference_index",
+ -1,
+ -1,
+ INT_MAX,
+ "Subitem Reference Index",
+ "Used to handle insertions into collection",
+ -1,
+ INT_MAX);
+ RNA_def_property_clear_flag(prop, PROP_EDITABLE); /* For now. */
+
+ prop = RNA_def_int(srna,
+ "subitem_local_index",
+ -1,
+ -1,
+ INT_MAX,
+ "Subitem Local Index",
+ "Used to handle insertions into collection",
+ -1,
+ INT_MAX);
+ RNA_def_property_clear_flag(prop, PROP_EDITABLE); /* For now. */
}
static void rna_def_ID_override_static_property(BlenderRNA *brna)
{
- StructRNA *srna;
- PropertyRNA *prop;
+ StructRNA *srna;
+ PropertyRNA *prop;
- srna = RNA_def_struct(brna, "IDOverrideStaticProperty", NULL);
- RNA_def_struct_ui_text(srna, "ID Static Override Property", "Description of an overridden property");
+ srna = RNA_def_struct(brna, "IDOverrideStaticProperty", NULL);
+ RNA_def_struct_ui_text(
+ srna, "ID Static Override Property", "Description of an overridden property");
- /* String pointer, we *should* add get/set/etc. But NULL rna_path would be a nasty bug anyway... */
- prop = RNA_def_string(srna, "rna_path", NULL, INT_MAX, "RNA Path",
- "RNA path leading to that property, from owning ID");
- RNA_def_property_clear_flag(prop, PROP_EDITABLE); /* For now. */
+ /* String pointer, we *should* add get/set/etc. But NULL rna_path would be a nasty bug anyway... */
+ prop = RNA_def_string(srna,
+ "rna_path",
+ NULL,
+ INT_MAX,
+ "RNA Path",
+ "RNA path leading to that property, from owning ID");
+ RNA_def_property_clear_flag(prop, PROP_EDITABLE); /* For now. */
- RNA_def_collection(srna, "operations", "IDOverrideStaticPropertyOperation", "Operations",
- "List of overriding operations for a property");
+ RNA_def_collection(srna,
+ "operations",
+ "IDOverrideStaticPropertyOperation",
+ "Operations",
+ "List of overriding operations for a property");
- rna_def_ID_override_static_property_operation(brna);
+ rna_def_ID_override_static_property_operation(brna);
}
static void rna_def_ID_override_static(BlenderRNA *brna)
{
- StructRNA *srna;
- PropertyRNA *prop;
+ StructRNA *srna;
+ PropertyRNA *prop;
- srna = RNA_def_struct(brna, "IDOverrideStatic", NULL);
- RNA_def_struct_ui_text(srna, "ID Static Override", "Struct gathering all data needed by statically overridden IDs");
+ srna = RNA_def_struct(brna, "IDOverrideStatic", NULL);
+ RNA_def_struct_ui_text(
+ srna, "ID Static Override", "Struct gathering all data needed by statically overridden IDs");
- RNA_def_pointer(srna, "reference", "ID", "Reference ID", "Linked ID used as reference by this override");
+ RNA_def_pointer(
+ srna, "reference", "ID", "Reference ID", "Linked ID used as reference by this override");
- prop = RNA_def_boolean(srna, "auto_generate", true, "Auto Generate Override",
- "Automatically generate overriding operations by detecting changes in properties");
- RNA_def_property_boolean_sdna(prop, NULL, "flag", STATICOVERRIDE_AUTO);
+ prop = RNA_def_boolean(
+ srna,
+ "auto_generate",
+ true,
+ "Auto Generate Override",
+ "Automatically generate overriding operations by detecting changes in properties");
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", STATICOVERRIDE_AUTO);
- RNA_def_collection(srna, "properties", "IDOverrideStaticProperty", "Properties",
- "List of overridden properties");
+ RNA_def_collection(srna,
+ "properties",
+ "IDOverrideStaticProperty",
+ "Properties",
+ "List of overridden properties");
- rna_def_ID_override_static_property(brna);
+ rna_def_ID_override_static_property(brna);
}
static void rna_def_ID(BlenderRNA *brna)
{
- StructRNA *srna;
- FunctionRNA *func;
- PropertyRNA *prop, *parm;
-
- static const EnumPropertyItem update_flag_items[] = {
- {ID_RECALC_TRANSFORM, "OBJECT", 0, "Object", ""},
- {ID_RECALC_GEOMETRY, "DATA", 0, "Data", ""},
- {ID_RECALC_ANIMATION, "TIME", 0, "Time", ""},
- {0, NULL, 0, NULL, NULL},
- };
-
- srna = RNA_def_struct(brna, "ID", NULL);
- RNA_def_struct_ui_text(srna, "ID",
- "Base type for data-blocks, defining a unique name, linking from other libraries "
- "and garbage collection");
- RNA_def_struct_flag(srna, STRUCT_ID | STRUCT_ID_REFCOUNT);
- RNA_def_struct_refine_func(srna, "rna_ID_refine");
- RNA_def_struct_idprops_func(srna, "rna_ID_idprops");
-
- prop = RNA_def_property(srna, "name", PROP_STRING, PROP_NONE);
- RNA_def_property_ui_text(prop, "Name", "Unique data-block ID name");
- RNA_def_property_string_funcs(prop, "rna_ID_name_get", "rna_ID_name_length", "rna_ID_name_set");
- RNA_def_property_string_maxlength(prop, MAX_ID_NAME - 2);
- RNA_def_property_editable_func(prop, "rna_ID_name_editable");
- RNA_def_property_update(prop, NC_ID | NA_RENAME, NULL);
- RNA_def_struct_name_property(srna, prop);
-
- prop = RNA_def_property(srna, "name_full", PROP_STRING, PROP_NONE);
- RNA_def_property_ui_text(prop, "Full Name", "Unique data-block ID name, including library one is any");
- RNA_def_property_string_funcs(prop, "rna_ID_name_full_get", "rna_ID_name_full_length", NULL);
- RNA_def_property_string_maxlength(prop, MAX_ID_FULL_NAME);
- RNA_def_property_clear_flag(prop, PROP_EDITABLE);
-
- prop = RNA_def_property(srna, "is_evaluated", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_ui_text(prop, "Is Evaluated",
- "Whether this ID is runtime-only, evaluated data-block, or actual data from .blend file");
- RNA_def_property_boolean_funcs(prop, "rna_ID_is_evaluated_get", NULL);
- RNA_def_property_clear_flag(prop, PROP_EDITABLE);
-
- prop = RNA_def_property(srna, "original", PROP_POINTER, PROP_NONE);
- RNA_def_property_struct_type(prop, "ID");
- RNA_def_property_ui_text(prop, "Original ID",
- "Actual data-block from .blend file (Main database) that generated that evaluated one");
- RNA_def_property_pointer_funcs(prop, "rna_ID_original_get", NULL, NULL, NULL);
- RNA_def_property_clear_flag(prop, PROP_EDITABLE | PROP_PTR_NO_OWNERSHIP);
-
- prop = RNA_def_property(srna, "users", PROP_INT, PROP_UNSIGNED);
- RNA_def_property_int_sdna(prop, NULL, "us");
- RNA_def_property_clear_flag(prop, PROP_EDITABLE);
- RNA_def_property_ui_text(prop, "Users", "Number of times this data-block is referenced");
-
- prop = RNA_def_property(srna, "use_fake_user", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "flag", LIB_FAKEUSER);
- RNA_def_property_ui_text(prop, "Fake User", "Save this data-block even if it has no users");
- RNA_def_property_ui_icon(prop, ICON_FAKE_USER_OFF, true);
- RNA_def_property_boolean_funcs(prop, NULL, "rna_ID_fake_user_set");
-
- prop = RNA_def_property(srna, "tag", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "tag", LIB_TAG_DOIT);
- RNA_def_property_flag(prop, PROP_LIB_EXCEPTION);
- RNA_def_property_ui_text(prop, "Tag",
- "Tools can use this to tag data for their own purposes "
- "(initial state is undefined)");
-
- prop = RNA_def_property(srna, "is_library_indirect", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "tag", LIB_TAG_INDIRECT);
- RNA_def_property_clear_flag(prop, PROP_EDITABLE);
- RNA_def_property_ui_text(prop, "Is Indirect", "Is this ID block linked indirectly");
-
- prop = RNA_def_property(srna, "library", PROP_POINTER, PROP_NONE);
- RNA_def_property_pointer_sdna(prop, NULL, "lib");
- RNA_def_property_clear_flag(prop, PROP_EDITABLE);
- RNA_def_property_ui_text(prop, "Library", "Library file the data-block is linked from");
-
- prop = RNA_def_pointer(srna, "override_static", "IDOverrideStatic", "Static Override", "Static override data");
- RNA_def_property_clear_flag(prop, PROP_EDITABLE);
-
- prop = RNA_def_pointer(srna, "preview", "ImagePreview", "Preview",
- "Preview image and icon of this data-block (None if not supported for this type of data)");
- RNA_def_property_clear_flag(prop, PROP_EDITABLE);
- RNA_def_property_pointer_funcs(prop, "rna_IDPreview_get", NULL, NULL, NULL);
-
- /* functions */
- func = RNA_def_function(srna, "copy", "rna_ID_copy");
- RNA_def_function_ui_description(func, "Create a copy of this data-block (not supported for all data-blocks)");
- RNA_def_function_flag(func, FUNC_USE_MAIN);
- parm = RNA_def_pointer(func, "id", "ID", "", "New copy of the ID");
- RNA_def_function_return(func, parm);
-
- func = RNA_def_function(srna, "override_create", "rna_ID_override_create");
- RNA_def_function_ui_description(func, "Create an overridden local copy of this linked data-block (not supported for all data-blocks)");
- RNA_def_function_flag(func, FUNC_USE_MAIN);
- parm = RNA_def_pointer(func, "id", "ID", "", "New overridden local copy of the ID");
- RNA_def_function_return(func, parm);
-
- func = RNA_def_function(srna, "user_clear", "rna_ID_user_clear");
- RNA_def_function_ui_description(func, "Clear the user count of a data-block so its not saved, "
- "on reload the data will be removed");
-
- func = RNA_def_function(srna, "user_remap", "rna_ID_user_remap");
- RNA_def_function_ui_description(func, "Replace all usage in the .blend file of this ID by new given one");
- RNA_def_function_flag(func, FUNC_USE_MAIN);
- parm = RNA_def_pointer(func, "new_id", "ID", "", "New ID to use");
- RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
-
- func = RNA_def_function(srna, "make_local", "rna_ID_make_local");
- RNA_def_function_ui_description(func, "Make this datablock local, return local one "
- "(may be a copy of the original, in case it is also indirectly used)");
- RNA_def_function_flag(func, FUNC_USE_MAIN);
- parm = RNA_def_boolean(func, "clear_proxy", true, "",
- "Whether to clear proxies (the default behavior, "
- "note that if object has to be duplicated to be made local, proxies are always cleared)");
- parm = RNA_def_pointer(func, "id", "ID", "", "This ID, or the new ID if it was copied");
- RNA_def_function_return(func, parm);
-
- func = RNA_def_function(srna, "user_of_id", "BKE_library_ID_use_ID");
- RNA_def_function_ui_description(func, "Count the number of times that ID uses/references given one");
- parm = RNA_def_pointer(func, "id", "ID", "", "ID to count usages");
- RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
- parm = RNA_def_int(func, "count", 0, 0, INT_MAX,
- "", "Number of usages/references of given id by current data-block", 0, INT_MAX);
- RNA_def_function_return(func, parm);
-
- func = RNA_def_function(srna, "animation_data_create", "rna_ID_animation_data_create");
- RNA_def_function_flag(func, FUNC_USE_MAIN);
- RNA_def_function_ui_description(func, "Create animation data to this ID, note that not all ID types support this");
- parm = RNA_def_pointer(func, "anim_data", "AnimData", "", "New animation data or NULL");
- RNA_def_function_return(func, parm);
-
- func = RNA_def_function(srna, "animation_data_clear", "rna_ID_animation_data_free");
- RNA_def_function_flag(func, FUNC_USE_MAIN);
- RNA_def_function_ui_description(func, "Clear animation on this this ID");
-
- func = RNA_def_function(srna, "update_tag", "rna_ID_update_tag");
- RNA_def_function_flag(func, FUNC_USE_REPORTS);
- RNA_def_function_ui_description(func,
- "Tag the ID to update its display data, "
- "e.g. when calling :class:`bpy.types.Scene.update`");
- RNA_def_enum_flag(func, "refresh", update_flag_items, 0, "", "Type of updates to perform");
-
-#ifdef WITH_PYTHON
- RNA_def_struct_register_funcs(srna, NULL, NULL, "rna_ID_instance");
-#endif
+ StructRNA *srna;
+ FunctionRNA *func;
+ PropertyRNA *prop, *parm;
+
+ static const EnumPropertyItem update_flag_items[] = {
+ {ID_RECALC_TRANSFORM, "OBJECT", 0, "Object", ""},
+ {ID_RECALC_GEOMETRY, "DATA", 0, "Data", ""},
+ {ID_RECALC_ANIMATION, "TIME", 0, "Time", ""},
+ {0, NULL, 0, NULL, NULL},
+ };
+
+ srna = RNA_def_struct(brna, "ID", NULL);
+ RNA_def_struct_ui_text(
+ srna,
+ "ID",
+ "Base type for data-blocks, defining a unique name, linking from other libraries "
+ "and garbage collection");
+ RNA_def_struct_flag(srna, STRUCT_ID | STRUCT_ID_REFCOUNT);
+ RNA_def_struct_refine_func(srna, "rna_ID_refine");
+ RNA_def_struct_idprops_func(srna, "rna_ID_idprops");
+
+ prop = RNA_def_property(srna, "name", PROP_STRING, PROP_NONE);
+ RNA_def_property_ui_text(prop, "Name", "Unique data-block ID name");
+ RNA_def_property_string_funcs(prop, "rna_ID_name_get", "rna_ID_name_length", "rna_ID_name_set");
+ RNA_def_property_string_maxlength(prop, MAX_ID_NAME - 2);
+ RNA_def_property_editable_func(prop, "rna_ID_name_editable");
+ RNA_def_property_update(prop, NC_ID | NA_RENAME, NULL);
+ RNA_def_struct_name_property(srna, prop);
+
+ prop = RNA_def_property(srna, "name_full", PROP_STRING, PROP_NONE);
+ RNA_def_property_ui_text(
+ prop, "Full Name", "Unique data-block ID name, including library one is any");
+ RNA_def_property_string_funcs(prop, "rna_ID_name_full_get", "rna_ID_name_full_length", NULL);
+ RNA_def_property_string_maxlength(prop, MAX_ID_FULL_NAME);
+ RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+
+ prop = RNA_def_property(srna, "is_evaluated", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_ui_text(
+ prop,
+ "Is Evaluated",
+ "Whether this ID is runtime-only, evaluated data-block, or actual data from .blend file");
+ RNA_def_property_boolean_funcs(prop, "rna_ID_is_evaluated_get", NULL);
+ RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+
+ prop = RNA_def_property(srna, "original", PROP_POINTER, PROP_NONE);
+ RNA_def_property_struct_type(prop, "ID");
+ RNA_def_property_ui_text(
+ prop,
+ "Original ID",
+ "Actual data-block from .blend file (Main database) that generated that evaluated one");
+ RNA_def_property_pointer_funcs(prop, "rna_ID_original_get", NULL, NULL, NULL);
+ RNA_def_property_clear_flag(prop, PROP_EDITABLE | PROP_PTR_NO_OWNERSHIP);
+
+ prop = RNA_def_property(srna, "users", PROP_INT, PROP_UNSIGNED);
+ RNA_def_property_int_sdna(prop, NULL, "us");
+ RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+ RNA_def_property_ui_text(prop, "Users", "Number of times this data-block is referenced");
+
+ prop = RNA_def_property(srna, "use_fake_user", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", LIB_FAKEUSER);
+ RNA_def_property_ui_text(prop, "Fake User", "Save this data-block even if it has no users");
+ RNA_def_property_ui_icon(prop, ICON_FAKE_USER_OFF, true);
+ RNA_def_property_boolean_funcs(prop, NULL, "rna_ID_fake_user_set");
+
+ prop = RNA_def_property(srna, "tag", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "tag", LIB_TAG_DOIT);
+ RNA_def_property_flag(prop, PROP_LIB_EXCEPTION);
+ RNA_def_property_ui_text(prop,
+ "Tag",
+ "Tools can use this to tag data for their own purposes "
+ "(initial state is undefined)");
+
+ prop = RNA_def_property(srna, "is_library_indirect", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "tag", LIB_TAG_INDIRECT);
+ RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+ RNA_def_property_ui_text(prop, "Is Indirect", "Is this ID block linked indirectly");
+
+ prop = RNA_def_property(srna, "library", PROP_POINTER, PROP_NONE);
+ RNA_def_property_pointer_sdna(prop, NULL, "lib");
+ RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+ RNA_def_property_ui_text(prop, "Library", "Library file the data-block is linked from");
+
+ prop = RNA_def_pointer(
+ srna, "override_static", "IDOverrideStatic", "Static Override", "Static override data");
+ RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+
+ prop = RNA_def_pointer(
+ srna,
+ "preview",
+ "ImagePreview",
+ "Preview",
+ "Preview image and icon of this data-block (None if not supported for this type of data)");
+ RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+ RNA_def_property_pointer_funcs(prop, "rna_IDPreview_get", NULL, NULL, NULL);
+
+ /* functions */
+ func = RNA_def_function(srna, "copy", "rna_ID_copy");
+ RNA_def_function_ui_description(
+ func, "Create a copy of this data-block (not supported for all data-blocks)");
+ RNA_def_function_flag(func, FUNC_USE_MAIN);
+ parm = RNA_def_pointer(func, "id", "ID", "", "New copy of the ID");
+ RNA_def_function_return(func, parm);
+
+ func = RNA_def_function(srna, "override_create", "rna_ID_override_create");
+ RNA_def_function_ui_description(func,
+ "Create an overridden local copy of this linked data-block (not "
+ "supported for all data-blocks)");
+ RNA_def_function_flag(func, FUNC_USE_MAIN);
+ parm = RNA_def_pointer(func, "id", "ID", "", "New overridden local copy of the ID");
+ RNA_def_function_return(func, parm);
+
+ func = RNA_def_function(srna, "user_clear", "rna_ID_user_clear");
+ RNA_def_function_ui_description(func,
+ "Clear the user count of a data-block so its not saved, "
+ "on reload the data will be removed");
+
+ func = RNA_def_function(srna, "user_remap", "rna_ID_user_remap");
+ RNA_def_function_ui_description(
+ func, "Replace all usage in the .blend file of this ID by new given one");
+ RNA_def_function_flag(func, FUNC_USE_MAIN);
+ parm = RNA_def_pointer(func, "new_id", "ID", "", "New ID to use");
+ RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
+
+ func = RNA_def_function(srna, "make_local", "rna_ID_make_local");
+ RNA_def_function_ui_description(
+ func,
+ "Make this datablock local, return local one "
+ "(may be a copy of the original, in case it is also indirectly used)");
+ RNA_def_function_flag(func, FUNC_USE_MAIN);
+ parm = RNA_def_boolean(
+ func,
+ "clear_proxy",
+ true,
+ "",
+ "Whether to clear proxies (the default behavior, "
+ "note that if object has to be duplicated to be made local, proxies are always cleared)");
+ parm = RNA_def_pointer(func, "id", "ID", "", "This ID, or the new ID if it was copied");
+ RNA_def_function_return(func, parm);
+
+ func = RNA_def_function(srna, "user_of_id", "BKE_library_ID_use_ID");
+ RNA_def_function_ui_description(func,
+ "Count the number of times that ID uses/references given one");
+ parm = RNA_def_pointer(func, "id", "ID", "", "ID to count usages");
+ RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
+ parm = RNA_def_int(func,
+ "count",
+ 0,
+ 0,
+ INT_MAX,
+ "",
+ "Number of usages/references of given id by current data-block",
+ 0,
+ INT_MAX);
+ RNA_def_function_return(func, parm);
+
+ func = RNA_def_function(srna, "animation_data_create", "rna_ID_animation_data_create");
+ RNA_def_function_flag(func, FUNC_USE_MAIN);
+ RNA_def_function_ui_description(
+ func, "Create animation data to this ID, note that not all ID types support this");
+ parm = RNA_def_pointer(func, "anim_data", "AnimData", "", "New animation data or NULL");
+ RNA_def_function_return(func, parm);
+
+ func = RNA_def_function(srna, "animation_data_clear", "rna_ID_animation_data_free");
+ RNA_def_function_flag(func, FUNC_USE_MAIN);
+ RNA_def_function_ui_description(func, "Clear animation on this this ID");
+
+ func = RNA_def_function(srna, "update_tag", "rna_ID_update_tag");
+ RNA_def_function_flag(func, FUNC_USE_REPORTS);
+ RNA_def_function_ui_description(func,
+ "Tag the ID to update its display data, "
+ "e.g. when calling :class:`bpy.types.Scene.update`");
+ RNA_def_enum_flag(func, "refresh", update_flag_items, 0, "", "Type of updates to perform");
+
+# ifdef WITH_PYTHON
+ RNA_def_struct_register_funcs(srna, NULL, NULL, "rna_ID_instance");
+# endif
}
static void rna_def_library(BlenderRNA *brna)
{
- StructRNA *srna;
- FunctionRNA *func;
- PropertyRNA *prop;
-
- srna = RNA_def_struct(brna, "Library", "ID");
- RNA_def_struct_ui_text(srna, "Library", "External .blend file from which data is linked");
- RNA_def_struct_ui_icon(srna, ICON_LIBRARY_DATA_DIRECT);
-
- prop = RNA_def_property(srna, "filepath", PROP_STRING, PROP_FILEPATH);
- RNA_def_property_string_sdna(prop, NULL, "name");
- RNA_def_property_ui_text(prop, "File Path", "Path to the library .blend file");
- RNA_def_property_string_funcs(prop, NULL, NULL, "rna_Library_filepath_set");
-
- prop = RNA_def_property(srna, "parent", PROP_POINTER, PROP_NONE);
- RNA_def_property_struct_type(prop, "Library");
- RNA_def_property_ui_text(prop, "Parent", "");
-
- prop = RNA_def_property(srna, "packed_file", PROP_POINTER, PROP_NONE);
- RNA_def_property_pointer_sdna(prop, NULL, "packedfile");
- RNA_def_property_ui_text(prop, "Packed File", "");
-
- prop = RNA_def_int_vector(srna, "version", 3, NULL, 0, INT_MAX,
- "Version", "Version of Blender the library .blend was saved with", 0, INT_MAX);
- RNA_def_property_int_funcs(prop, "rna_Library_version_get", NULL, NULL);
- RNA_def_property_clear_flag(prop, PROP_EDITABLE);
- RNA_def_property_flag(prop, PROP_THICK_WRAP);
-
- func = RNA_def_function(srna, "reload", "WM_lib_reload");
- RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_CONTEXT);
- RNA_def_function_ui_description(func, "Reload this library and all its linked data-blocks");
+ StructRNA *srna;
+ FunctionRNA *func;
+ PropertyRNA *prop;
+
+ srna = RNA_def_struct(brna, "Library", "ID");
+ RNA_def_struct_ui_text(srna, "Library", "External .blend file from which data is linked");
+ RNA_def_struct_ui_icon(srna, ICON_LIBRARY_DATA_DIRECT);
+
+ prop = RNA_def_property(srna, "filepath", PROP_STRING, PROP_FILEPATH);
+ RNA_def_property_string_sdna(prop, NULL, "name");
+ RNA_def_property_ui_text(prop, "File Path", "Path to the library .blend file");
+ RNA_def_property_string_funcs(prop, NULL, NULL, "rna_Library_filepath_set");
+
+ prop = RNA_def_property(srna, "parent", PROP_POINTER, PROP_NONE);
+ RNA_def_property_struct_type(prop, "Library");
+ RNA_def_property_ui_text(prop, "Parent", "");
+
+ prop = RNA_def_property(srna, "packed_file", PROP_POINTER, PROP_NONE);
+ RNA_def_property_pointer_sdna(prop, NULL, "packedfile");
+ RNA_def_property_ui_text(prop, "Packed File", "");
+
+ prop = RNA_def_int_vector(srna,
+ "version",
+ 3,
+ NULL,
+ 0,
+ INT_MAX,
+ "Version",
+ "Version of Blender the library .blend was saved with",
+ 0,
+ INT_MAX);
+ RNA_def_property_int_funcs(prop, "rna_Library_version_get", NULL, NULL);
+ RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+ RNA_def_property_flag(prop, PROP_THICK_WRAP);
+
+ func = RNA_def_function(srna, "reload", "WM_lib_reload");
+ RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_CONTEXT);
+ RNA_def_function_ui_description(func, "Reload this library and all its linked data-blocks");
}
/**
@@ -1342,32 +1574,33 @@ static void rna_def_library(BlenderRNA *brna)
*/
static void rna_def_idproperty_wrap_ptr(BlenderRNA *brna)
{
- StructRNA *srna;
+ StructRNA *srna;
- srna = RNA_def_struct(brna, "IDPropertyWrapPtr", NULL);
- RNA_def_struct_idprops_func(srna, "rna_IDPropertyWrapPtr_idprops");
- RNA_def_struct_flag(srna, STRUCT_NO_DATABLOCK_IDPROPERTIES);
+ srna = RNA_def_struct(brna, "IDPropertyWrapPtr", NULL);
+ RNA_def_struct_idprops_func(srna, "rna_IDPropertyWrapPtr_idprops");
+ RNA_def_struct_flag(srna, STRUCT_NO_DATABLOCK_IDPROPERTIES);
}
void RNA_def_ID(BlenderRNA *brna)
{
- StructRNA *srna;
+ StructRNA *srna;
- /* built-in unknown type */
- srna = RNA_def_struct(brna, "UnknownType", NULL);
- RNA_def_struct_ui_text(srna, "Unknown Type", "Stub RNA type used for pointers to unknown or internal data");
+ /* built-in unknown type */
+ srna = RNA_def_struct(brna, "UnknownType", NULL);
+ RNA_def_struct_ui_text(
+ srna, "Unknown Type", "Stub RNA type used for pointers to unknown or internal data");
- /* built-in any type */
- srna = RNA_def_struct(brna, "AnyType", NULL);
- RNA_def_struct_ui_text(srna, "Any Type", "RNA type used for pointers to any possible data");
+ /* built-in any type */
+ srna = RNA_def_struct(brna, "AnyType", NULL);
+ RNA_def_struct_ui_text(srna, "Any Type", "RNA type used for pointers to any possible data");
- rna_def_ID(brna);
- rna_def_ID_override_static(brna);
- rna_def_image_preview(brna);
- rna_def_ID_properties(brna);
- rna_def_ID_materials(brna);
- rna_def_library(brna);
- rna_def_idproperty_wrap_ptr(brna);
+ rna_def_ID(brna);
+ rna_def_ID_override_static(brna);
+ rna_def_image_preview(brna);
+ rna_def_ID_properties(brna);
+ rna_def_ID_materials(brna);
+ rna_def_library(brna);
+ rna_def_idproperty_wrap_ptr(brna);
}
#endif