Index: source/blender/blenkernel/BKE_image.h =================================================================== RCS file: /cvsroot/bf-blender/blender/source/blender/blenkernel/BKE_image.h,v retrieving revision 1.16 diff -u -p -u -r1.16 BKE_image.h --- source/blender/blenkernel/BKE_image.h 20 Dec 2006 17:57:41 -0000 1.16 +++ source/blender/blenkernel/BKE_image.h 2 May 2007 06:10:47 -0000 @@ -112,7 +112,7 @@ struct ImBuf *BKE_image_get_ibuf(struct struct Image *BKE_add_image_file(const char *name); /* adds image, adds ibuf, generates color or pattern */ -struct Image *BKE_add_image_size(int width, int height, char *name, short uvtestgrid); +struct Image *BKE_add_image_size(int width, int height, char *name, short uvtestgrid, float color[4]); /* for reload, refresh, pack */ void BKE_image_signal(struct Image *ima, struct ImageUser *iuser, int signal); Index: source/blender/blenkernel/intern/image.c =================================================================== RCS file: /cvsroot/bf-blender/blender/source/blender/blenkernel/intern/image.c,v retrieving revision 1.61 diff -u -p -u -r1.61 image.c --- source/blender/blenkernel/intern/image.c 4 Apr 2007 13:18:28 -0000 1.61 +++ source/blender/blenkernel/intern/image.c 2 May 2007 06:10:47 -0000 @@ -370,7 +370,7 @@ Image *BKE_add_image_file(const char *na return ima; } -static ImBuf *add_ibuf_size(int width, int height, char *name, short uvtestgrid) +static ImBuf *add_ibuf_size(int width, int height, char *name, short uvtestgrid, float color[4]) { ImBuf *ibuf; float h=0.0, hoffs=0.0, hue=0.0, s=0.9, v=0.9, r, g, b; @@ -435,8 +435,10 @@ static ImBuf *add_ibuf_size(int width, i } else { /* blank image */ for(y=0; yy; y++) { for(x=0; xx; x++, rect+=4) { - rect[0]= rect[1]= rect[2]= 0; - rect[3]= 255; + rect[0]= (char)(color[0] * 255.0); + rect[1]= (char)(color[1] * 255.0); + rect[2]= (char)(color[2] * 255.0); + rect[3]= (char)(color[3] * 255.0); } } } @@ -444,7 +446,7 @@ static ImBuf *add_ibuf_size(int width, i } /* adds new image block, creates ImBuf and initializes color */ -Image *BKE_add_image_size(int width, int height, char *name, short uvtestgrid) +Image *BKE_add_image_size(int width, int height, char *name, short uvtestgrid, float color[4]) { Image *ima; @@ -459,7 +461,7 @@ Image *BKE_add_image_size(int width, int ima->gen_y= height; ima->gen_type= uvtestgrid; - ibuf= add_ibuf_size(width, height, name, uvtestgrid); + ibuf= add_ibuf_size(width, height, name, uvtestgrid, color); image_assign_ibuf(ima, ibuf, IMA_NO_INDEX, 0); ima->ok= IMA_OK_LOADED; @@ -1370,6 +1372,7 @@ static ImBuf *image_get_render_result(Im ImBuf *BKE_image_get_ibuf(Image *ima, ImageUser *iuser) { ImBuf *ibuf= NULL; + float color[] = {0, 0, 0, 1}; /* quick reject tests */ if(ima==NULL) @@ -1447,7 +1450,7 @@ ImBuf *BKE_image_get_ibuf(Image *ima, Im /* UV testgrid or black or solid etc */ if(ima->gen_x==0) ima->gen_x= 256; if(ima->gen_y==0) ima->gen_y= 256; - ibuf= add_ibuf_size(ima->gen_x, ima->gen_y, ima->name, ima->gen_type); + ibuf= add_ibuf_size(ima->gen_x, ima->gen_y, ima->name, ima->gen_type, color); image_assign_ibuf(ima, ibuf, IMA_NO_INDEX, 0); ima->ok= IMA_OK_LOADED; } Index: source/blender/python/api2_2x/Image.c =================================================================== RCS file: /cvsroot/bf-blender/blender/source/blender/python/api2_2x/Image.c,v retrieving revision 1.75 diff -u -p -u -r1.75 Image.c --- source/blender/python/api2_2x/Image.c 19 Apr 2007 23:45:33 -0000 1.75 +++ source/blender/python/api2_2x/Image.c 2 May 2007 06:10:47 -0000 @@ -235,6 +235,7 @@ static PyObject *M_Image_New( PyObject * { int width, height, depth; char *name; + float color[] = {0, 0, 0, 1}; Image *image; if( !PyArg_ParseTuple( args, "siii", &name, &width, &height, &depth ) ) return ( EXPP_ReturnPyObjError( PyExc_TypeError, @@ -242,7 +243,7 @@ static PyObject *M_Image_New( PyObject * if (width > 5000 || height > 5000 || width < 1 || height < 1) return ( EXPP_ReturnPyObjError( PyExc_TypeError, "Image width and height must be between 1 and 5000" ) ); - image = BKE_add_image_size(width, height, name, 0); + image = BKE_add_image_size(width, height, name, 0, color); if( !image ) return ( EXPP_ReturnPyObjError( PyExc_MemoryError, "couldn't create PyObject Image_Type" ) ); Index: source/blender/python/api2_2x/bpy_data.c =================================================================== RCS file: /cvsroot/bf-blender/blender/source/blender/python/api2_2x/bpy_data.c,v retrieving revision 1.3 diff -u -p -u -r1.3 bpy_data.c --- source/blender/python/api2_2x/bpy_data.c 25 Apr 2007 00:37:19 -0000 1.3 +++ source/blender/python/api2_2x/bpy_data.c 2 May 2007 06:10:47 -0000 @@ -395,6 +395,7 @@ PyObject *LibBlockSeq_new(BPy_LibBlockSe ID *id = NULL; char *name=NULL, *filename=NULL, *data_type=NULL; int img_width=256, img_height=256; + float color[] = {0, 0, 0, 1}; short data_code = 0; int user_count = 0; @@ -537,7 +538,7 @@ PyObject *LibBlockSeq_new(BPy_LibBlockSe break; case ID_IM: { - id = (ID *)BKE_add_image_size(img_width, img_height, name?name:"Image", 0); + id = (ID *)BKE_add_image_size(img_width, img_height, name?name:"Image", 0, color); if( !id ) return ( EXPP_ReturnPyObjError( PyExc_MemoryError, "couldn't create PyObject Image_Type" ) ); Index: source/blender/src/editsima.c =================================================================== RCS file: /cvsroot/bf-blender/blender/source/blender/src/editsima.c,v retrieving revision 1.66 diff -u -p -u -r1.66 editsima.c --- source/blender/src/editsima.c 29 Apr 2007 13:39:45 -0000 1.66 +++ source/blender/src/editsima.c 2 May 2007 06:10:48 -0000 @@ -1881,7 +1881,8 @@ void reload_image_sima(void) void new_image_sima(void) { static int width= 256, height= 256; - static short uvtestgrid=0; + static short uvtestgrid= 0; + static float color[] = {0, 0, 0, 1}; char name[22]; strcpy(name, "Untitled"); @@ -1889,11 +1890,13 @@ void new_image_sima(void) add_numbut(0, TEX, "Name:", 0, 21, name, NULL); add_numbut(1, NUM|INT, "Width:", 1, 5000, &width, NULL); add_numbut(2, NUM|INT, "Height:", 1, 5000, &height, NULL); - add_numbut(3, TOG|SHO, "UV Test Grid", 0, 0, &uvtestgrid, NULL); - if (!do_clever_numbuts("New Image", 4, REDRAW)) - return; + add_numbut(3, COL, "", 0, 0, &color, NULL); + add_numbut(4, NUM|FLO, "Alpha:", 0.0, 1.0, &color[3], NULL); + add_numbut(5, TOG|SHO, "UV Test Grid", 0, 0, &uvtestgrid, NULL); + if (!do_clever_numbuts("New Image", 6, REDRAW)) + return; - G.sima->image= BKE_add_image_size(width, height, name, uvtestgrid); + G.sima->image= BKE_add_image_size(width, height, name, uvtestgrid, color); BKE_image_signal(G.sima->image, &G.sima->iuser, IMA_SIGNAL_USER_NEW_IMAGE); image_changed(G.sima, 0); Index: source/blender/src/toolbox.c =================================================================== RCS file: /cvsroot/bf-blender/blender/source/blender/src/toolbox.c,v retrieving revision 1.164 diff -u -p -u -r1.164 toolbox.c --- source/blender/src/toolbox.c 29 Apr 2007 10:49:01 -0000 1.164 +++ source/blender/src/toolbox.c 2 May 2007 06:10:48 -0000 @@ -570,8 +570,9 @@ int do_clever_numbuts(char *name, int to if(varstr->type==TEX) { uiDefBut(block, TEX, 0, varstr->name,(short)((x1+15) + (sizex*xi)),(short)(y2-55- 20*yi),(short)(sizex), 19, numbpoin[a], varstr->min, varstr->max, 0, 0, varstr->tip); - } - else { + } else if(varstr->type==COL) { + uiDefButF(block, COL, 0, "",(short)((x1+15) + (sizex*xi)),(short)(y2-55- 20*yi),(short)(sizex), 19, numbpoin[a], varstr->min, varstr->max, 0, 0, ""); + } else { if(varstr->type==LABEL) {/* dont include the label when rounding the buttons */ uiBlockEndAlign(block); Index: source/blender/src/verse_object.c =================================================================== RCS file: /cvsroot/bf-blender/blender/source/blender/src/verse_object.c,v retrieving revision 1.9 diff -u -p -u -r1.9 verse_object.c --- source/blender/src/verse_object.c 12 Jan 2007 08:51:16 -0000 1.9 +++ source/blender/src/verse_object.c 2 May 2007 06:10:48 -0000 @@ -270,6 +270,7 @@ void b_verse_pop_node(VNode *vnode) else if(vnode->type==V_NT_BITMAP) { struct VBitmapData *vbitmap; struct VBitmapLayer *vblayer; + float color[] = {0, 0, 0, 1}; vbitmap = (VBitmapData*)vnode->data; @@ -293,7 +294,8 @@ void b_verse_pop_node(VNode *vnode) vbitmap->width, vbitmap->height, vnode->name, - 0); + 0, + color); ((Image*)vbitmap->image)->vnode = (void*)vnode; sync_blender_image_with_verse_bitmap_node(vnode);