? tools/Blender.pyc ? tools/__init__.pyc ? tools/bcolors.pyc ? tools/btools.pyc Index: source/blender/include/blendef.h =================================================================== RCS file: /cvsroot/bf-blender/blender/source/blender/include/blendef.h,v retrieving revision 1.58 diff -u -r1.58 blendef.h --- source/blender/include/blendef.h 29 Aug 2006 10:27:47 -0000 1.58 +++ source/blender/include/blendef.h 15 Oct 2006 16:11:15 -0000 @@ -325,6 +325,9 @@ #define B_SIMABRUSHCHANGE 377 #define B_SIMABTEXBROWSE 378 #define B_SIMABTEXDELETE 379 +#define B_SIMA_RED 380 +#define B_SIMA_GREEN 381 +#define B_SIMA_BLUE 382 /* BUTS: 400 */ #define B_BUTSHOME 401 Index: source/blender/makesdna/DNA_space_types.h =================================================================== RCS file: /cvsroot/bf-blender/blender/source/blender/makesdna/DNA_space_types.h,v retrieving revision 1.49 diff -u -r1.49 DNA_space_types.h --- source/blender/makesdna/DNA_space_types.h 6 Sep 2006 09:51:30 -0000 1.49 +++ source/blender/makesdna/DNA_space_types.h 15 Oct 2006 16:11:15 -0000 @@ -488,6 +488,10 @@ #define SI_PREVSPACE 0x8000 #define SI_FULLWINDOW 0x10000 +#define SI_SHOW_RED 0x20000 +#define SI_SHOW_GREEN 0x40000 +#define SI_SHOW_BLUE 0x80000 + /* SpaceText flags (moved from DNA_text_types.h) */ #define ST_SCROLL_SELECT 0x0001 // scrollable Index: source/blender/src/drawimage.c =================================================================== RCS file: /cvsroot/bf-blender/blender/source/blender/src/drawimage.c,v retrieving revision 1.78 diff -u -r1.78 drawimage.c --- source/blender/src/drawimage.c 24 Sep 2006 19:29:25 -0000 1.78 +++ source/blender/src/drawimage.c 15 Oct 2006 16:11:18 -0000 @@ -1461,6 +1461,118 @@ // glColorMask(1, 1, 1, 1); } + +static void sima_draw_red_pixels(float x1, float y1, int rectx, int recty, unsigned int *recti) +{ + char *trect= MEM_mallocN(rectx*recty*4, "temp"); + char *crect= (char*)recti; + int a; + + for(a=0; aflag & SI_SHOW_ALPHA) { + if(sima->flag & SI_SHOW_BLUE){ + if(ibuf->rect) + sima_draw_blue_pixels(x1, y1, ibuf->x, ibuf->y, ibuf->rect); + else if(ibuf->rect_float){ + sima_draw_blue_pixelsf(x1, y1, ibuf->x, ibuf->y, ibuf->rect_float); + } + }else if(sima->flag & SI_SHOW_GREEN){ + if(ibuf->rect) + sima_draw_green_pixels(x1, y1, ibuf->x, ibuf->y, ibuf->rect); + else if(ibuf->rect_float) + sima_draw_green_pixelsf(x1, y1, ibuf->x, ibuf->y, ibuf->rect_float); + }else if(sima->flag & SI_SHOW_RED){ + if(ibuf->rect) + sima_draw_red_pixels(x1, y1, ibuf->x, ibuf->y, ibuf->rect); + else if(ibuf->rect_float) + sima_draw_red_pixelsf(x1, y1, ibuf->x, ibuf->y, ibuf->rect_float); + }else if(sima->flag & SI_SHOW_ALPHA) { if(ibuf->rect) sima_draw_alpha_pixels(x1, y1, ibuf->x, ibuf->y, ibuf->rect); else if(ibuf->rect_float) Index: source/blender/src/header_image.c =================================================================== RCS file: /cvsroot/bf-blender/blender/source/blender/src/header_image.c,v retrieving revision 1.64 diff -u -r1.64 header_image.c --- source/blender/src/header_image.c 27 Sep 2006 19:45:38 -0000 1.64 +++ source/blender/src/header_image.c 15 Oct 2006 16:11:19 -0000 @@ -151,17 +151,32 @@ break; case B_SIMA_USE_ALPHA: - G.sima->flag &= ~(SI_SHOW_ALPHA|SI_SHOW_ZBUF); + G.sima->flag &= ~(SI_SHOW_ALPHA|SI_SHOW_ZBUF|SI_SHOW_RED|SI_SHOW_GREEN|SI_SHOW_BLUE); scrarea_queue_winredraw(curarea); scrarea_queue_headredraw(curarea); break; case B_SIMA_SHOW_ALPHA: - G.sima->flag &= ~(SI_USE_ALPHA|SI_SHOW_ZBUF); + G.sima->flag &= ~(SI_USE_ALPHA|SI_SHOW_ZBUF|SI_SHOW_RED|SI_SHOW_GREEN|SI_SHOW_BLUE); scrarea_queue_winredraw(curarea); scrarea_queue_headredraw(curarea); break; case B_SIMA_SHOW_ZBUF: - G.sima->flag &= ~(SI_SHOW_ALPHA|SI_USE_ALPHA); + G.sima->flag &= ~(SI_SHOW_ALPHA|SI_USE_ALPHA|SI_SHOW_RED|SI_SHOW_GREEN|SI_SHOW_BLUE); + scrarea_queue_winredraw(curarea); + scrarea_queue_headredraw(curarea); + break; + case B_SIMA_RED: + G.sima->flag &= ~(SI_SHOW_BLUE|SI_SHOW_GREEN|SI_SHOW_ALPHA|SI_SHOW_ZBUF|SI_USE_ALPHA); + scrarea_queue_winredraw(curarea); + scrarea_queue_headredraw(curarea); + break; + case B_SIMA_GREEN: + G.sima->flag &= ~(SI_SHOW_RED|SI_SHOW_BLUE|SI_SHOW_ALPHA|SI_SHOW_ZBUF|SI_USE_ALPHA); + scrarea_queue_winredraw(curarea); + scrarea_queue_headredraw(curarea); + break; + case B_SIMA_BLUE: + G.sima->flag &= ~(SI_SHOW_RED|SI_SHOW_GREEN|SI_SHOW_ALPHA|SI_SHOW_ZBUF|SI_USE_ALPHA); scrarea_queue_winredraw(curarea); scrarea_queue_headredraw(curarea); break; @@ -943,6 +958,12 @@ uiDefIconButBitI(block, TOG, SI_USE_ALPHA, B_SIMA_USE_ALPHA, ICON_TRANSP_HLT, xco,0,XIC,YIC, &G.sima->flag, 0, 0, 0, 0, "Draws image with alpha"); xco+= XIC; uiDefIconButBitI(block, TOG, SI_SHOW_ALPHA, B_SIMA_SHOW_ALPHA, ICON_DOT, xco,0,XIC,YIC, &G.sima->flag, 0, 0, 0, 0, "Draws only alpha"); + xco+= XIC; + uiDefIconButBitI(block, TOG, SI_SHOW_RED, B_SIMA_RED, ICON_MATERIAL, xco,0,XIC,YIC, &G.sima->flag, 0, 0, 0, 0, "Draws only Red"); + xco+= XIC; + uiDefIconButBitI(block, TOG, SI_SHOW_GREEN, B_SIMA_GREEN, ICON_MATSPHERE, xco,0,XIC,YIC, &G.sima->flag, 0, 0, 0, 0, "Draws only Green"); + xco+= XIC; + uiDefIconButBitI(block, TOG, SI_SHOW_BLUE, B_SIMA_BLUE, ICON_MATCUBE, xco,0,XIC,YIC, &G.sima->flag, 0, 0, 0, 0, "Draws only Blue"); xco+= XIC; if(ima->ibuf) { if(ima->ibuf->zbuf || ima->ibuf->zbuf_float) {