[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [42045] trunk/blender/source: image save operator now shares settings and UI with render & image out node .

Campbell Barton ideasman42 at gmail.com
Tue Nov 22 00:56:34 CET 2011


Revision: 42045
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42045
Author:   campbellbarton
Date:     2011-11-21 23:56:32 +0000 (Mon, 21 Nov 2011)
Log Message:
-----------
image save operator now shares settings and UI with render & image out node.

details:
- setting format options from python isnt possible anymore since this isnt exposed via op->properties, python should use image.save() function instead.
- image save UI now hides 'Relative' option when copy is selected since it has no effect.
- default image depth is set to 8 or more if the image has no float buffer, otherwise its set to 32 or less.

other fixes:
- image new was adding an image with a filepath set to "untitled", if this file happened to exist in the current directory a save on the generated image would overwrite it, now initialize to empty path.
- BKE_ftype_to_imtype was returning an invalid value if ftype==0.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/BKE_image.h
    trunk/blender/source/blender/blenkernel/BKE_writeavi.h
    trunk/blender/source/blender/blenkernel/intern/image.c
    trunk/blender/source/blender/blenkernel/intern/writeavi.c
    trunk/blender/source/blender/editors/include/UI_interface.h
    trunk/blender/source/blender/editors/interface/interface_layout.c
    trunk/blender/source/blender/editors/interface/interface_utils.c
    trunk/blender/source/blender/editors/render/render_shading.c
    trunk/blender/source/blender/editors/sound/sound_ops.c
    trunk/blender/source/blender/editors/space_file/file_panels.c
    trunk/blender/source/blender/editors/space_image/image_ops.c
    trunk/blender/source/blender/makesrna/intern/rna_scene.c
    trunk/blender/source/blender/render/extern/include/RE_pipeline.h
    trunk/blender/source/blender/render/intern/source/pipeline.c
    trunk/blender/source/blenderplayer/bad_level_call_stubs/stubs.c

Modified: trunk/blender/source/blender/blenkernel/BKE_image.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_image.h	2011-11-21 20:47:19 UTC (rev 42044)
+++ trunk/blender/source/blender/blenkernel/BKE_image.h	2011-11-21 23:56:32 UTC (rev 42045)
@@ -53,17 +53,17 @@
 int		BKE_alphatest_ibuf(struct ImBuf *ibuf);
 int		BKE_write_ibuf_stamp(struct Scene *scene, struct Object *camera, struct ImBuf *ibuf, const char *name, struct ImageFormatData *imf);
 int		BKE_write_ibuf(struct ImBuf *ibuf, const char *name, struct ImageFormatData *imf);
-void	BKE_makepicstring(char *string, const char *base, const char *relbase, int frame, int imtype, const short use_ext, const short use_frames);
-int		BKE_add_image_extension(char *string, int imtype);
-int		BKE_ftype_to_imtype(int ftype);
-int		BKE_imtype_to_ftype(int imtype);
+void	BKE_makepicstring(char *string, const char *base, const char *relbase, int frame, char imtype, const short use_ext, const short use_frames);
+int		BKE_add_image_extension(char *string, const char imtype);
+char	BKE_ftype_to_imtype(const int ftype);
+int		BKE_imtype_to_ftype(char imtype);
 
-int		BKE_imtype_is_movie(int imtype);
-int		BKE_imtype_is_alpha_ok(int imtype);
-int		BKE_imtype_is_zbuf_ok(int imtype);
-int		BKE_imtype_is_compression_ok(int imtype);
-int		BKE_imtype_is_quality_ok(int imtype);
-int		BKE_imtype_is_depth_ok(int imtype);
+int		BKE_imtype_is_movie(const char imtype);
+int		BKE_imtype_is_alpha_ok(const char imtype);
+int		BKE_imtype_is_zbuf_ok(const char imtype);
+int		BKE_imtype_is_compression_ok(const char imtype);
+int		BKE_imtype_is_quality_ok(const char imtype);
+char	BKE_imtype_is_depth_ok(const char imtype);
 
 struct anim *openanim(const char *name, int flags, int streamindex);
 

Modified: trunk/blender/source/blender/blenkernel/BKE_writeavi.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_writeavi.h	2011-11-21 20:47:19 UTC (rev 42044)
+++ trunk/blender/source/blender/blenkernel/BKE_writeavi.h	2011-11-21 23:56:32 UTC (rev 42045)
@@ -50,7 +50,7 @@
 	void (*get_movie_path)(char *string, struct RenderData *rd); /* optional */
 } bMovieHandle;
 
-bMovieHandle *BKE_get_movie_handle(int imtype);
+bMovieHandle *BKE_get_movie_handle(const char imtype);
 void BKE_makeanimstring(char *string, struct RenderData *rd);
 
 #ifdef __cplusplus

Modified: trunk/blender/source/blender/blenkernel/intern/image.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/image.c	2011-11-21 20:47:19 UTC (rev 42044)
+++ trunk/blender/source/blender/blenkernel/intern/image.c	2011-11-21 23:56:32 UTC (rev 42045)
@@ -556,13 +556,13 @@
 	if (ima) {
 		ImBuf *ibuf;
 		
-		BLI_strncpy(ima->name, name, FILE_MAX);
+		/* BLI_strncpy(ima->name, name, FILE_MAX); */ /* dont do this, this writes in ain invalid filepath! */
 		ima->gen_x= width;
 		ima->gen_y= height;
 		ima->gen_type= uvtestgrid;
 		ima->gen_flag |= (floatbuf ? IMA_GEN_FLOAT : 0);
 		
-		ibuf= add_ibuf_size(width, height, name, depth, floatbuf, uvtestgrid, color);
+		ibuf= add_ibuf_size(width, height, ima->name, depth, floatbuf, uvtestgrid, color);
 		image_assign_ibuf(ima, ibuf, IMA_NO_INDEX, 0);
 		
 		ima->ok= IMA_OK_LOADED;
@@ -800,7 +800,7 @@
 
 /* *********** READ AND WRITE ************** */
 
-int BKE_imtype_to_ftype(int imtype)
+int BKE_imtype_to_ftype(const char imtype)
 {
 	if(imtype==R_TARGA)
 		return TGA;
@@ -840,10 +840,10 @@
 		return JPG|90;
 }
 
-int BKE_ftype_to_imtype(int ftype)
+char BKE_ftype_to_imtype(const int ftype)
 {
 	if(ftype==0)
-		return TGA;
+		return R_TARGA;
 	else if(ftype == IMAGIC) 
 		return R_IRIS;
 #ifdef WITH_HDR
@@ -883,7 +883,7 @@
 }
 
 
-int BKE_imtype_is_movie(int imtype)
+int BKE_imtype_is_movie(const char imtype)
 {
 	switch(imtype) {
 	case R_AVIRAW:
@@ -900,7 +900,7 @@
 	return 0;
 }
 
-int BKE_imtype_is_alpha_ok(int imtype)
+int BKE_imtype_is_alpha_ok(const char imtype)
 {
 	switch(imtype) {
 	case R_TARGA:
@@ -918,7 +918,7 @@
 	return 0;
 }
 
-int BKE_imtype_is_zbuf_ok(int imtype)
+int BKE_imtype_is_zbuf_ok(const char imtype)
 {
 	switch(imtype) {
 	case R_IRIZ:
@@ -928,7 +928,7 @@
 	return 0;
 }
 
-int BKE_imtype_is_compression_ok(int imtype)
+int BKE_imtype_is_compression_ok(const char imtype)
 {
 	switch(imtype) {
 	case R_PNG:
@@ -937,7 +937,7 @@
 	return 0;
 }
 
-int BKE_imtype_is_quality_ok(int imtype)
+int BKE_imtype_is_quality_ok(const char imtype)
 {
 	switch(imtype) {
 	case R_JPEG90:
@@ -947,7 +947,7 @@
 	return 0;
 }
 
-int BKE_imtype_is_depth_ok(int imtype)
+char BKE_imtype_is_depth_ok(const char imtype)
 {
 	switch (imtype) {
 	case R_RADHDR:
@@ -970,7 +970,7 @@
 	}
 }
 
-int BKE_add_image_extension(char *string, int imtype)
+int BKE_add_image_extension(char *string, const char imtype)
 {
 	const char *extension= NULL;
 	
@@ -1557,7 +1557,7 @@
 }
 
 
-void BKE_makepicstring(char *string, const char *base, const char *relbase, int frame, int imtype, const short use_ext, const short use_frames)
+void BKE_makepicstring(char *string, const char *base, const char *relbase, int frame, const char imtype, const short use_ext, const short use_frames)
 {
 	if (string==NULL) return;
 	BLI_strncpy(string, base, FILE_MAX - 10);	/* weak assumption */

Modified: trunk/blender/source/blender/blenkernel/intern/writeavi.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/writeavi.c	2011-11-21 20:47:19 UTC (rev 42044)
+++ trunk/blender/source/blender/blenkernel/intern/writeavi.c	2011-11-21 23:56:32 UTC (rev 42045)
@@ -67,7 +67,7 @@
 
 #include "BKE_writeframeserver.h"
 
-bMovieHandle *BKE_get_movie_handle(int imtype)
+bMovieHandle *BKE_get_movie_handle(const char imtype)
 {
 	static bMovieHandle mh;
 	

Modified: trunk/blender/source/blender/editors/include/UI_interface.h
===================================================================
--- trunk/blender/source/blender/editors/include/UI_interface.h	2011-11-21 20:47:19 UTC (rev 42044)
+++ trunk/blender/source/blender/editors/include/UI_interface.h	2011-11-21 23:56:32 UTC (rev 42045)
@@ -515,7 +515,7 @@
 uiBut *uiDefSearchBut(uiBlock *block, void *arg, int retval, int icon, int maxlen, int x1, int y1, short x2, short y2, float a1, float a2, const char *tip);
 
 uiBut *uiDefAutoButR(uiBlock *block, struct PointerRNA *ptr, struct PropertyRNA *prop, int index, const char *name, int icon, int x1, int y1, int x2, int y2);
-int uiDefAutoButsRNA(uiLayout *layout, struct PointerRNA *ptr, int (*check_prop)(struct PropertyRNA *), const char label_align);
+int uiDefAutoButsRNA(uiLayout *layout, struct PointerRNA *ptr, int (*check_prop)(struct PointerRNA *, struct PropertyRNA *), const char label_align);
 
 /* Links
  *
@@ -688,7 +688,7 @@
 void uiLayoutSetFunc(uiLayout *layout, uiMenuHandleFunc handlefunc, void *argv);
 void uiLayoutSetContextPointer(uiLayout *layout, const char *name, struct PointerRNA *ptr);
 const char *uiLayoutIntrospect(uiLayout *layout); // XXX - testing
-void uiLayoutOperatorButs(const struct bContext *C, struct uiLayout *layout, struct wmOperator *op, int (*check_prop)(struct PropertyRNA *), const char label_align, const short flag);
+void uiLayoutOperatorButs(const struct bContext *C, struct uiLayout *layout, struct wmOperator *op, int (*check_prop)(struct PointerRNA *, struct PropertyRNA *), const char label_align, const short flag);
 struct MenuType *uiButGetMenuType(uiBut *but);
 
 void uiLayoutSetOperatorContext(uiLayout *layout, int opcontext);

Modified: trunk/blender/source/blender/editors/interface/interface_layout.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_layout.c	2011-11-21 20:47:19 UTC (rev 42044)
+++ trunk/blender/source/blender/editors/interface/interface_layout.c	2011-11-21 23:56:32 UTC (rev 42045)
@@ -2743,7 +2743,7 @@
 }
 
 /* this function does not initialize the layout, functions can be called on the layout before and after */
-void uiLayoutOperatorButs(const bContext *C, uiLayout *layout, wmOperator *op,int (*check_prop)(struct PropertyRNA *), const char label_align, const short flag)
+void uiLayoutOperatorButs(const bContext *C, uiLayout *layout, wmOperator *op,int (*check_prop)(struct PointerRNA *, struct PropertyRNA *), const char label_align, const short flag)
 {
 	if(!op->properties) {
 		IDPropertyTemplate val = {0};

Modified: trunk/blender/source/blender/editors/interface/interface_utils.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_utils.c	2011-11-21 20:47:19 UTC (rev 42044)
+++ trunk/blender/source/blender/editors/interface/interface_utils.c	2011-11-21 23:56:32 UTC (rev 42045)
@@ -130,7 +130,7 @@
 	return but;
 }
 
-int uiDefAutoButsRNA(uiLayout *layout, PointerRNA *ptr, int (*check_prop)(PropertyRNA *), const char label_align)
+int uiDefAutoButsRNA(uiLayout *layout, PointerRNA *ptr, int (*check_prop)(PointerRNA *, PropertyRNA *), const char label_align)
 {
 	uiLayout *split, *col;
 	int flag;
@@ -141,7 +141,7 @@
 
 	RNA_STRUCT_BEGIN(ptr, prop) {
 		flag= RNA_property_flag(prop);
-		if(flag & PROP_HIDDEN || (check_prop && check_prop(prop)==FALSE))
+		if(flag & PROP_HIDDEN || (check_prop && check_prop(ptr, prop)==FALSE))
 			continue;
 
 		if(label_align != '\0') {

Modified: trunk/blender/source/blender/editors/render/render_shading.c
===================================================================
--- trunk/blender/source/blender/editors/render/render_shading.c	2011-11-21 20:47:19 UTC (rev 42044)
+++ trunk/blender/source/blender/editors/render/render_shading.c	2011-11-21 23:56:32 UTC (rev 42045)
@@ -658,7 +658,7 @@
 
 /********************** environment map operators *********************/
 
-static int save_envmap(wmOperator *op, Scene *scene, EnvMap *env, char *path, int imtype)
+static int save_envmap(wmOperator *op, Scene *scene, EnvMap *env, char *path, const char imtype)
 {
 	float layout[12];
 	if ( RNA_struct_find_property(op->ptr, "layout") )
@@ -680,7 +680,7 @@
 	Tex *tex= CTX_data_pointer_get_type(C, "texture", &RNA_Texture).data;
 	Scene *scene = CTX_data_scene(C);
 	//int imtype = RNA_enum_get(op->ptr, "file_type");
-	int imtype = scene->r.im_format.imtype;
+	char imtype = scene->r.im_format.imtype;
 	char path[FILE_MAX];
 	

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list