[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18516] branches/blender2.5/blender/source /blender: RNA
Brecht Van Lommel
brecht at blender.org
Thu Jan 15 05:22:26 CET 2009
Revision: 18516
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18516
Author: blendix
Date: 2009-01-15 05:22:23 +0100 (Thu, 15 Jan 2009)
Log Message:
-----------
RNA
* Work around bScreen/Screen DNA name patching, so bScreen does not
require manual callbacks to be written for properties.
* Added SpaceLink and SpaceImage RNA.
* Fix issue initializing ID property arrays with default values.
DNA
* Some DNA changes for space image.
* And a fix for corrupt clone image pointer in reading brushes.
Modified Paths:
--------------
branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c
branches/blender2.5/blender/source/blender/makesdna/DNA_scene_types.h
branches/blender2.5/blender/source/blender/makesdna/DNA_space_types.h
branches/blender2.5/blender/source/blender/makesrna/RNA_access.h
branches/blender2.5/blender/source/blender/makesrna/intern/CMakeLists.txt
branches/blender2.5/blender/source/blender/makesrna/intern/makesrna.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_access.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_internal.h
branches/blender2.5/blender/source/blender/makesrna/intern/rna_material.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_scene.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_screen.c
Added Paths:
-----------
branches/blender2.5/blender/source/blender/makesrna/intern/rna_space.c
Modified: branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c 2009-01-15 04:13:38 UTC (rev 18515)
+++ branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c 2009-01-15 04:22:23 UTC (rev 18516)
@@ -1490,6 +1490,8 @@
if(mtex)
mtex->tex= newlibadr_us(fd, brush->id.lib, mtex->tex);
}
+
+ brush->clone.image= newlibadr_us(fd, brush->id.lib, brush->clone.image);
}
}
}
@@ -5237,6 +5239,7 @@
break;
}
}
+
/* main region */
ar= MEM_callocN(sizeof(ARegion), "area region from do_versions");
Modified: branches/blender2.5/blender/source/blender/makesdna/DNA_scene_types.h
===================================================================
--- branches/blender2.5/blender/source/blender/makesdna/DNA_scene_types.h 2009-01-15 04:13:38 UTC (rev 18515)
+++ branches/blender2.5/blender/source/blender/makesdna/DNA_scene_types.h 2009-01-15 04:22:23 UTC (rev 18516)
@@ -431,6 +431,8 @@
short uvcalc_mapdir;
short uvcalc_mapalign;
short uvcalc_flag;
+ short uv_flag, uv_selectmode;
+ short uv_pad[2];
/* Auto-IK */
short autoik_chainlen;
@@ -838,6 +840,16 @@
#define UVCALC_NO_ASPECT_CORRECT 2 /* would call this UVCALC_ASPECT_CORRECT, except it should be default with old file */
#define UVCALC_TRANSFORM_CORRECT 4 /* adjust UV's while transforming to avoid distortion */
+/* toolsettings->uv_flag */
+#define UV_SYNC_SELECTION 1
+#define UV_SHOW_SAME_IMAGE 2
+
+/* toolsettings->uv_selectmode */
+#define UV_SELECT_VERTEX 0
+#define UV_SELECT_EDGE 1 /* not implemented */
+#define UV_SELECT_FACE 2
+#define UV_SELECT_ISLAND 3
+
/* toolsettings->edge_mode */
#define EDGE_MODE_SELECT 0
#define EDGE_MODE_TAG_SEAM 1
Modified: branches/blender2.5/blender/source/blender/makesdna/DNA_space_types.h
===================================================================
--- branches/blender2.5/blender/source/blender/makesdna/DNA_space_types.h 2009-01-15 04:13:38 UTC (rev 18515)
+++ branches/blender2.5/blender/source/blender/makesdna/DNA_space_types.h 2009-01-15 04:22:23 UTC (rev 18516)
@@ -222,30 +222,26 @@
SpaceLink *next, *prev;
ListBase regionbase; /* storage of regions for inactive spaces */
int spacetype;
- float blockscale;
+ float blockscale;
short blockhandler[8];
-
- View2D v2d; /* depricated, copied to region */
struct Image *image;
struct ImageUser iuser;
struct CurveMapping *cumap;
- short mode, menunr;
- short imanr;
+ short menunr, imanr, pad2;
short curtile; /* the currently active tile of the image when tile is enabled, is kept in sync with the active faces tile */
int flag;
- short selectmode;
short imtypenr, lock;
- short pin;
- float zoom;
+ short pin, pad3;
char dt_uv; /* UV draw type */
char sticky; /* sticky selection type */
char dt_uvstretch;
- char pad[5];
+ char pad;
float xof, yof; /* user defined offset, image is centered */
+ float zoom, pad4; /* user defined zoom level */
float centx, centy; /* storage for offset while render drawing */
struct bGPdata *gpd; /* grease pencil data */
@@ -544,10 +540,6 @@
#define MOVIEFILE_ICON 1024 /* movie file that preview can't load */
#define FOLDERFILE 2048 /* represents folders for filtering */
-/* SpaceImage->mode */
-#define SI_TEXTURE 0
-#define SI_SHOW 1
-
/* SpaceImage->dt_uv */
#define SI_UVDT_OUTLINE 0
#define SI_UVDT_DASH 1
@@ -565,12 +557,6 @@
#define SI_STICKY_DISABLE 1
#define SI_STICKY_VERTEX 2
-/* SpaceImage->selectmode */
-#define SI_SELECT_VERTEX 0
-#define SI_SELECT_EDGE 1 /* not implemented */
-#define SI_SELECT_FACE 2
-#define SI_SELECT_ISLAND 3
-
/* SpaceImage->flag */
#define SI_BE_SQUARE 1<<0
#define SI_EDITTILE 1<<1
@@ -590,8 +576,8 @@
/* next two for render window dislay */
#define SI_PREVSPACE 1<<15
#define SI_FULLWINDOW 1<<16
-#define SI_SYNC_UVSEL 1<<17
-#define SI_LOCAL_UV 1<<18
+#define SI_DEPRECATED4 1<<17
+#define SI_DEPRECATED5 1<<18
/* this means that the image is drawn until it reaches the view edge,
* in the image view, its unrelated to the 'tile' mode for texface */
#define SI_DRAW_TILE 1<<19
Modified: branches/blender2.5/blender/source/blender/makesrna/RNA_access.h
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/RNA_access.h 2009-01-15 04:13:38 UTC (rev 18515)
+++ branches/blender2.5/blender/source/blender/makesrna/RNA_access.h 2009-01-15 04:22:23 UTC (rev 18516)
@@ -218,6 +218,9 @@
extern StructRNA RNA_SoftbodyModifier;
extern StructRNA RNA_Sound;
extern StructRNA RNA_SoundSequence;
+extern StructRNA RNA_Space;
+extern StructRNA RNA_SpaceImageEditor;
+extern StructRNA RNA_SpaceUVEditor;
extern StructRNA RNA_SpeedControlSequence;
extern StructRNA RNA_SpotLamp;
extern StructRNA RNA_StringProperty;
Modified: branches/blender2.5/blender/source/blender/makesrna/intern/CMakeLists.txt
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/intern/CMakeLists.txt 2009-01-15 04:13:38 UTC (rev 18515)
+++ branches/blender2.5/blender/source/blender/makesrna/intern/CMakeLists.txt 2009-01-15 04:22:23 UTC (rev 18516)
@@ -63,6 +63,7 @@
rna_sensor.c
rna_sequence.c
rna_sound.c
+ rna_space.c
rna_text.c
rna_texture.c
rna_userdef.c
@@ -109,6 +110,7 @@
rna_sensor_gen.c
rna_sequence_gen.c
rna_sound_gen.c
+ rna_space_gen.c
rna_text_gen.c
rna_texture_gen.c
rna_userdef_gen.c
Modified: branches/blender2.5/blender/source/blender/makesrna/intern/makesrna.c
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/intern/makesrna.c 2009-01-15 04:13:38 UTC (rev 18515)
+++ branches/blender2.5/blender/source/blender/makesrna/intern/makesrna.c 2009-01-15 04:22:23 UTC (rev 18516)
@@ -579,7 +579,14 @@
PropertyDefRNA *dp;
for(ds=DefRNA.structs.first; ds; ds=ds->next) {
+ /* DNA name for Screen is patched in 2.5, we do the reverse here .. */
+ if(ds->dnaname && strcmp(ds->dnaname, "Screen") == 0)
+ ds->dnaname= "bScreen";
+
for(dp=ds->properties.first; dp; dp=dp->next) {
+ if(dp->dnastructname && strcmp(dp->dnastructname, "Screen") == 0)
+ dp->dnastructname= "bScreen";
+
if(dp->dnatype) {
if(dp->prop->type == PROP_POINTER) {
PointerPropertyRNA *pprop= (PointerPropertyRNA*)dp->prop;
@@ -946,6 +953,7 @@
{"rna_scriptlink.c", RNA_def_scriptlink},
{"rna_sensor.c", RNA_def_sensor},
{"rna_sequence.c", RNA_def_sequence},
+ {"rna_space.c", RNA_def_space},
{"rna_text.c", RNA_def_text},
{"rna_sound.c", RNA_def_sound},
{"rna_userdef.c", RNA_def_userdef},
Modified: branches/blender2.5/blender/source/blender/makesrna/intern/rna_access.c
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/intern/rna_access.c 2009-01-15 04:13:38 UTC (rev 18515)
+++ branches/blender2.5/blender/source/blender/makesrna/intern/rna_access.c 2009-01-15 04:22:23 UTC (rev 18516)
@@ -580,8 +580,10 @@
return ((int*)IDP_Array(idprop))[index];
else if(bprop->getarray)
return bprop->getarray(ptr, index);
+ else if(bprop->defaultarray)
+ return bprop->defaultarray[index];
else
- return bprop->defaultarray[index];
+ return 0;
}
void RNA_property_boolean_set_array(PointerRNA *ptr, PropertyRNA *prop, int index, int value)
@@ -604,7 +606,10 @@
if(group) {
idprop= IDP_New(IDP_ARRAY, val, (char*)prop->identifier);
IDP_AddToGroup(group, idprop);
- memcpy(idprop->data.pointer, bprop->defaultarray, sizeof(int)*prop->arraylength);
+ if(bprop->defaultarray)
+ memcpy(idprop->data.pointer, bprop->defaultarray, sizeof(int)*prop->arraylength);
+ else
+ memset(idprop->data.pointer, 0, sizeof(int)*prop->arraylength);
((int*)idprop->data.pointer)[index]= value;
}
}
@@ -653,8 +658,10 @@
return ((int*)IDP_Array(idprop))[index];
else if(iprop->getarray)
return iprop->getarray(ptr, index);
+ else if(iprop->defaultarray)
+ return iprop->defaultarray[index];
else
- return iprop->defaultarray[index];
+ return 0.0f;
}
void RNA_property_int_set_array(PointerRNA *ptr, PropertyRNA *prop, int index, int value)
@@ -677,7 +684,10 @@
if(group) {
idprop= IDP_New(IDP_ARRAY, val, (char*)prop->identifier);
IDP_AddToGroup(group, idprop);
- memcpy(idprop->data.pointer, iprop->defaultarray, sizeof(int)*prop->arraylength);
+ if(iprop->defaultarray)
+ memcpy(idprop->data.pointer, iprop->defaultarray, sizeof(int)*prop->arraylength);
+ else
+ memset(idprop->data.pointer, 0, sizeof(int)*prop->arraylength);
((int*)idprop->data.pointer)[index]= value;
}
}
@@ -739,8 +749,10 @@
}
else if(fprop->getarray)
return fprop->getarray(ptr, index);
+ else if(fprop->defaultarray)
+ return fprop->defaultarray[index];
else
- return fprop->defaultarray[index];
+ return 0.0f;
}
void RNA_property_float_set_array(PointerRNA *ptr, PropertyRNA *prop, int index, float value)
@@ -768,7 +780,10 @@
if(group) {
idprop= IDP_New(IDP_ARRAY, val, (char*)prop->identifier);
IDP_AddToGroup(group, idprop);
- memcpy(idprop->data.pointer, fprop->defaultarray, sizeof(float)*prop->arraylength);
+ if(fprop->defaultarray)
+ memcpy(idprop->data.pointer, fprop->defaultarray, sizeof(float)*prop->arraylength);
+ else
+ memset(idprop->data.pointer, 0, sizeof(float)*prop->arraylength);
((float*)IDP_Array(idprop))[index]= value;
}
}
Modified: branches/blender2.5/blender/source/blender/makesrna/intern/rna_internal.h
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/intern/rna_internal.h 2009-01-15 04:13:38 UTC (rev 18515)
+++ branches/blender2.5/blender/source/blender/makesrna/intern/rna_internal.h 2009-01-15 04:22:23 UTC (rev 18516)
@@ -132,6 +132,7 @@
void RNA_def_scriptlink(struct BlenderRNA *brna);
void RNA_def_sensor(struct BlenderRNA *brna);
void RNA_def_sequence(struct BlenderRNA *brna);
+void RNA_def_space(struct BlenderRNA *brna);
void RNA_def_text(struct BlenderRNA *brna);
void RNA_def_texture(struct BlenderRNA *brna);
void RNA_def_sound(struct BlenderRNA *brna);
Modified: branches/blender2.5/blender/source/blender/makesrna/intern/rna_material.c
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list