[Bf-committers] Big thumbnails patch

Caronte elcreador at ono.com
Sat Feb 11 18:03:46 CET 2006


Hi!
I?m not a true C coder, but was doing this patch because it is very usefull
for me.
This patch create bigger thumbnails (2X) in the image selector (Ctrl + Load
image button) so we can see the texture better until someone do a real
recode of the image selector.
I hope not doing break something :P
Thanks.

Caronte.
-------------- next part --------------
? user-def.mk
? obj/windows
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.38
diff -u -r1.38 DNA_space_types.h
--- source/blender/makesdna/DNA_space_types.h	22 Nov 2005 15:00:32 -0000	1.38
+++ source/blender/makesdna/DNA_space_types.h	3 Dec 2005 00:38:09 -0000
@@ -312,7 +312,7 @@
 	short  orgx, orgy, orgd, anim;		/* same as ibuf->x...*/
 	char   dummy[4];					/* 128 */
 
-	char   pict_rect[3968];				/* 4096   (RECT = 64 * 62) */
+	char   pict_rect[15872];				/* 16384   (RECT = 128 * 124) */
 	
 } OneSelectableIma;

Index: source/blender/src/drawimasel.c
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/blender/src/drawimasel.c,v
retrieving revision 1.19
diff -u -r1.19 drawimasel.c
--- source/blender/src/drawimasel.c	4 Aug 2005 22:36:21 -0000	1.19
+++ source/blender/src/drawimasel.c	3 Dec 2005 00:38:24 -0000
@@ -217,7 +217,7 @@
 				ima->selectable = 0;
 				
 				if (ima->draw_me) {
-					if ((mx > ima->sx) && (mx < ima->sx+76) && (my > ima->sy-16) && (my < ima->sy+76)) {
+					if ((mx > ima->sx) && (mx < ima->sx+152) && (my > ima->sy-32) && (my < ima->sy+152)) {
 						ima->selectable = 1;
 						simasel->hilite_ima = ima;
 						simasel->mouse_move_redraw = 1;
@@ -336,9 +336,9 @@
 		ima = simasel->first_sel_ima;
 		
 		
-		boxperline      =   (simasel->feex - simasel->fesx) /  80;
+		boxperline      =   (simasel->feex - simasel->fesx) /  160;
 		if (boxperline) boxlines = 1 + (simasel->totalima / boxperline); else boxlines = 1;
-		boxlinesinview  =   (simasel->feey - simasel->fesy) / 100;
+		boxlinesinview  =   (simasel->feey - simasel->fesy) / 150;
 		boxlinesleft    =   boxlines - boxlinesinview;
 		
 		if (boxlinesleft > 0){
@@ -362,10 +362,10 @@
 			simasel->imasli = 0;
 		}
 		
-		sc = simasel->image_slider * (boxlinesleft * 100);
+		sc = simasel->image_slider * (boxlinesleft * 150);
 		
 		simasel->curimax = simasel->fesx + 8;
-		simasel->curimay = simasel->feey - 90 + sc;
+		simasel->curimay = simasel->feey - 154 + sc;
 		
 		dm = 1;
 		if (simasel->curimay-2  < simasel->fesy) dm = 0;
@@ -385,17 +385,17 @@
 			ima->ex = ima->sx + ima->dw;
 			ima->ey = ima->sy + ima->dh;
 			
-			simasel->curimax += 80;
-			if (simasel->curimax + 72 > simasel->feex){
+			simasel->curimax += 160;
+			if (simasel->curimax + 144 > simasel->feex){
 				
-				simasel->curimax  = simasel->fesx + 8;
-				simasel->curimay -= 100;
+				simasel->curimax  = simasel->fesx + 12;
+				simasel->curimay -= 150;
 				
 				dm = 1;
 				// let icons that fall off (top/bottom) be selectable
 				if(OLD_IMASEL) {
-					if (simasel->curimay+80 > simasel->feey) dm = 0;
-					if (simasel->curimay-8  < simasel->fesy) dm = 0;
+					if (simasel->curimay+160 > simasel->feey) dm = 0;
+					if (simasel->curimay-16  < simasel->fesy) dm = 0;
 				}
 				
 			}
@@ -564,7 +564,7 @@
 				sc = 0;
 				
 				sx = ima->sx- 6; sy = ima->sy-20 + sc; 
-				ex = ima->sx+71; ey = ima->sy+70 + sc;  
+				ex = ima->sx+133; ey = ima->sy+132 + sc;  
 				
 				if(ima->selected == 1){
 					cpack(0xCC6666);
@@ -599,7 +599,7 @@
 				strcpy(naam, ima->file_name);
 				naam[11] = 0;
 			
-				glRasterPos2i(sx+32-BMF_GetStringWidth(G.fonts, naam) / 2  ,  sy-16);
+				glRasterPos2i(sx+64-BMF_GetStringWidth(G.fonts, naam) / 2  ,  sy-16);
 				BMF_DrawString(G.fonts, naam);
 				
 				if ((ima) && (ima->pict) && (ima->pict->rect)){
@@ -635,7 +635,7 @@
 						lrectwrite(sx, sy, sx+ (ima->ex - ima->sx)-1, sy+ (ima->ey - ima->sy)-1, ima->pict->rect);
 					} else
 						rectwrite_imasel(simasel->fesx, simasel->fesy,
-							curarea->winrct.xmax, curarea->winrct.ymax - 64, //simasel->feey*1.5,
+							curarea->winrct.xmax, curarea->winrct.ymax - 128, //simasel->feey*1.5,
 							sx, sy, ima->pict->x, ima->pict->y, 2.0, 2.0, ima->pict->rect);
 					
 					glPixelZoom(1.0,  1.0);
Index: source/blender/src/imasel.c
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/blender/src/imasel.c,v
retrieving revision 1.8
diff -u -r1.8 imasel.c
--- source/blender/src/imasel.c	2 Apr 2005 15:36:57 -0000	1.8
+++ source/blender/src/imasel.c	3 Dec 2005 00:38:25 -0000
@@ -265,7 +265,7 @@
 	write_msb_short(file,	ima->orgd);
 	write_msb_short(file,	ima->anim);
 	write_msb_int(file,		0); /* pad to 128 boundary */
-	write(file, ima->pict_rect, 3968);	
+	write(file, ima->pict_rect, 15872);	
 
 	close(file);
 }
@@ -510,11 +510,11 @@
 //					ima->orgd = ibuf->depth;
 
 					if (ima->orgx > ima->orgy){
-						ima->dw = 64;
-						ima->dh = (short)(62 * ((float)ima->orgy / (float)ima->orgx));
+						ima->dw = 128;
+						ima->dh = (short)(124 * ((float)ima->orgy / (float)ima->orgx));
 					}else{
-						ima->dw = (short)(64 * ((float)ima->orgx / (float)ima->orgy));
-						ima->dh = 62;
+						ima->dw = (short)(128 * ((float)ima->orgx / (float)ima->orgy));
+						ima->dh = 124;
 					}
 				}
 				
@@ -541,7 +541,7 @@
 				IMB_convert_rgba_to_abgr(ima->dw*ima->dh, ibuf->rect);
 			
 			ibuf->mincol =   0;
-			ibuf->maxcol = 256;
+			ibuf->maxcol = 255;
 			ibuf->cbits  =   5;
 			ibuf->depth  =   8;
 			
@@ -551,7 +551,7 @@
 			IMB_converttocmap(ibuf);
 			
 			/* copy ibuf->rect to ima->pict_rect */ 
-			size = ima->dw * ima->dh; if (size > 3968) size = 3968;
+			size = ima->dw * ima->dh; if (size > 15872) size = 15872;
 			longtochar(ima->pict_rect, ibuf->rect, size); 
 
 			IMB_applycmap(ibuf);
@@ -601,16 +601,16 @@
 			ima->orgy     = ibuf->y;
 			ima->orgd     = ibuf->depth;
 			
-			ima->dw    = 64;
-			ima->dh    = 51;
+			ima->dw    = 128;
+			ima->dh    = 102;
 			ima->cmap  =  0;
 			ima->image =  0;  
 			if (ima->orgx > ima->orgy){
-				ima->dw = 64;
-				ima->dh = (short)(62 * ((float)ima->orgy / (float)ima->orgx));
+				ima->dw = 128;
+				ima->dh = (short)(124 * ((float)ima->orgy / (float)ima->orgx));
 			}else{
-				ima->dw = (short)(64 * ((float)ima->orgx / (float)ima->orgy));
-				ima->dh = 62;
+				ima->dw = (short)(128 * ((float)ima->orgx / (float)ima->orgy));
+				ima->dh = 124;
 			}
 		}else{
 			printf("%s image with no imbuf ???\n", name);
@@ -622,12 +622,12 @@
 		ima->pict     =  0;
 		ima->anim	  =  1;
 		ima->ibuf_type=  0;
-		ima->orgx	  = 64;
-		ima->orgy     = 51;
+		ima->orgx	  = 128;
+		ima->orgy     = 102;
 		ima->orgd     = 24;
 		
-		ima->dw    = 64;
-		ima->dh    = 51;
+		ima->dw    = 128;
+		ima->dh    = 102;
 		ima->cmap  =  0;
 		ima->image =  0;  
 	}
@@ -769,7 +769,7 @@
 		rd+= read_msb_short(file,	&ima->orgd);
 		rd+= read_msb_short(file,	&ima->anim);
 		rd+= read_msb_int(file,		NULL);
-		rd+= read(file, ima->pict_rect, 3968);	
+		rd+= read(file, ima->pict_rect, 15872);	
 
 		found = 0;
 
@@ -790,12 +790,12 @@
 				if (direntry->mtime == ima->mtime) {
 						/*  ima found and same, load pic */
 					size = ima->dw * ima->dh;
-					if (size > 3968) size = 3968;
+					if (size > 15872) size = 15872;
 					if (size) {
 						ima->pict = IMB_allocImBuf(ima->dw, ima->dh, 24, IB_rect | IB_cmap, 0);
 						chartolong(ima->pict->rect, ima->pict_rect, size);
 						ima->pict->cmap = simasel->cmap->cmap;
-						ima->pict->maxcol = 256;
+						ima->pict->maxcol = 255;
 						IMB_applycmap(ima->pict);
 						IMB_convert_rgba_to_abgr(size, ima->pict->rect);
 					}


More information about the Bf-committers mailing list