[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [20201] branches/blender2.5/blender: 2. 5 filebrowser

Andrea Weikert elubie at gmx.net
Thu May 14 20:08:14 CEST 2009


Revision: 20201
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=20201
Author:   elubie
Date:     2009-05-14 20:08:14 +0200 (Thu, 14 May 2009)

Log Message:
-----------
2.5 filebrowser
- drawing code cleanup
- use of BLF_font in own string drawing, needs to be aligned with uiStyles still.
- thumbnail scaling now done on graphics card via new glaDrawPixelsTexScaled (slightly modified glaDrawPixelsTex)

Modified Paths:
--------------
    branches/blender2.5/blender/projectfiles_vc9/blender/editors/ED_editors.vcproj
    branches/blender2.5/blender/source/blender/editors/include/BIF_glutil.h
    branches/blender2.5/blender/source/blender/editors/include/ED_fileselect.h
    branches/blender2.5/blender/source/blender/editors/screen/glutil.c
    branches/blender2.5/blender/source/blender/editors/space_file/file_draw.c
    branches/blender2.5/blender/source/blender/editors/space_file/file_header.c
    branches/blender2.5/blender/source/blender/editors/space_file/file_intern.h
    branches/blender2.5/blender/source/blender/editors/space_file/file_ops.c
    branches/blender2.5/blender/source/blender/editors/space_file/filelist.c
    branches/blender2.5/blender/source/blender/editors/space_file/filelist.h
    branches/blender2.5/blender/source/blender/editors/space_file/filesel.c

Modified: branches/blender2.5/blender/projectfiles_vc9/blender/editors/ED_editors.vcproj
===================================================================
--- branches/blender2.5/blender/projectfiles_vc9/blender/editors/ED_editors.vcproj	2009-05-14 13:47:08 UTC (rev 20200)
+++ branches/blender2.5/blender/projectfiles_vc9/blender/editors/ED_editors.vcproj	2009-05-14 18:08:14 UTC (rev 20201)
@@ -44,7 +44,7 @@
 				Name="VCCLCompilerTool"
 				InlineFunctionExpansion="1"
 				AdditionalIncludeDirectories="..\..\..\..\lib\windows\QTDevWin\CIncludes;..\..\..\..\lib\windows\sdl\include;..\..\..\..\lib\windows\python\include\python2.5;..\..\..\..\build\msvc_9\intern\bsp\include;..\..\..\..\build\msvc_9\intern\ghost\include;..\..\..\..\build\msvc_9\intern\elbeem\include;..\..\..\..\build\msvc_9\intern\opennl\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\build\msvc_9\intern\blenkey\include;..\..\..\..\build\msvc_9\intern\decimation\include;..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\source\blender;..\..\..\source\blender\img;..\..\..\source\blender\verify;..\..\..\source\blender\ftfont;..\..\..\source\blender\misc;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\python;..\..\..\source\blender\editors\include;..\..\..\source\blender\renderui;..\..\..\source\blender\blenloader;..\..\..\source\blender\quicktime;..\..\..\source\blender\blenkernel;..\..\..\source\blender\blenfont;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\blender\nodes;..\..\..\source\blender\windowmanager;..\..\..\source\blender\blenpluginapi;..\..\..\source\blender\renderconverter;..\..\..\source\blender\readstreamglue;..\..\..\source\blender\render\extern\include;..\..\..\source\blender\radiosity\extern\include;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\network;..\..\..\source\gameengine\soundsystem\snd_openal;..\..\..\..\build\msvc_9\extern\verse\include;..\..\..\..\lib\windows\pthreads\include;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\source\blender\gpu"
-				PreprocessorDefinitions="NDEBUG;WIN32;_LIB;_CONSOLE;GAMEBLENDER=1;WITH_QUICKTIME;INTERNATIONAL;WITH_OPENEXR;WITH_DDS;WITH_BULLET=1;WITH_FFMPEG"
+				PreprocessorDefinitions="NDEBUG;WIN32;_LIB;_CONSOLE;GAMEBLENDER=1;WITH_QUICKTIME;INTERNATIONAL;WITH_FREETYPE2;WITH_INTERNATIONAL;WITH_OPENEXR;WITH_DDS;WITH_BULLET=1;WITH_FFMPEG"
 				StringPooling="true"
 				RuntimeLibrary="0"
 				EnableFunctionLevelLinking="true"
@@ -119,7 +119,7 @@
 				Name="VCCLCompilerTool"
 				Optimization="0"
 				AdditionalIncludeDirectories="..\..\..\..\lib\windows\QTDevWin\CIncludes;..\..\..\..\lib\windows\sdl\include;..\..\..\..\lib\windows\python\include\python2.5;..\..\..\..\build\msvc_9\intern\bsp\include;..\..\..\..\build\msvc_9\intern\ghost\include;..\..\..\..\build\msvc_9\intern\elbeem\include;..\..\..\..\build\msvc_9\intern\opennl\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\build\msvc_9\intern\blenkey\include;..\..\..\..\build\msvc_9\intern\decimation\include;..\..\..\..\build\msvc_9\intern\memutil\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\source\blender;..\..\..\source\blender\img;..\..\..\source\blender\verify;..\..\..\source\blender\ftfont;..\..\..\source\blender\misc;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\python;..\..\..\source\blender\editors\include;..\..\..\source\blender\renderui;..\..\..\source\blender\blenloader;..\..\..\source\blender\quicktime;..\..\..\source\blender\blenkernel;..\..\..\source\blender\blenfont;..\..\..\source\blender\makesdna;..\..\..\source\blender\makesrna;..\..\..\source\blender\nodes;..\..\..\source\blender\windowmanager;..\..\..\source\blender\blenpluginapi;..\..\..\source\blender\renderconverter;..\..\..\source\blender\readstreamglue;..\..\..\source\blender\render\extern\include;..\..\..\source\blender\radiosity\extern\include;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\network;..\..\..\source\gameengine\soundsystem\snd_openal;..\..\..\..\build\msvc_9\extern\verse\include;..\..\..\..\lib\windows\pthreads\include;..\..\..\..\lib\windows\ffmpeg\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\source\blender\gpu"
-				PreprocessorDefinitions="_DEBUG;WIN32;_LIB;_CONSOLE;GAMEBLENDER;WITH_QUICKTIME;INTERNATIONAL;WITH_OPENEXR;WITH_DDS;WITH_BULLET = 1;WITH_FFMPEG"
+				PreprocessorDefinitions="_DEBUG;WIN32;_LIB;_CONSOLE;GAMEBLENDER;WITH_QUICKTIME;INTERNATIONAL;WITH_BF_INTERNATIONAL;WITH_FREETYPE2;WITH_OPENEXR;WITH_DDS;WITH_BULLET = 1;WITH_FFMPEG"
 				BasicRuntimeChecks="3"
 				RuntimeLibrary="1"
 				DefaultCharIsUnsigned="true"

Modified: branches/blender2.5/blender/source/blender/editors/include/BIF_glutil.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/include/BIF_glutil.h	2009-05-14 13:47:08 UTC (rev 20200)
+++ branches/blender2.5/blender/source/blender/editors/include/BIF_glutil.h	2009-05-14 18:08:14 UTC (rev 20201)
@@ -137,6 +137,8 @@
 
 void glaDrawPixelsTex		(float x, float y, int img_w, int img_h, int format, void *rect);
 
+void glaDrawPixelsTexScaled(float x, float y, int img_w, int img_h, int format, void *rect, float scaleX, float scaleY);
+
 	/* 2D Drawing Assistance */
 
 	/** Define a 2D area (viewport, scissor, matrices) for OpenGL rendering.

Modified: branches/blender2.5/blender/source/blender/editors/include/ED_fileselect.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/include/ED_fileselect.h	2009-05-14 13:47:08 UTC (rev 20200)
+++ branches/blender2.5/blender/source/blender/editors/include/ED_fileselect.h	2009-05-14 18:08:14 UTC (rev 20201)
@@ -62,6 +62,19 @@
 #define FILE_LAYOUT_HOR 1
 #define FILE_LAYOUT_VER 2
 
+#define MAX_FILE_COLUMN 8
+
+typedef enum FileListColumns {
+	COLUMN_NAME = 0,
+	COLUMN_DATE,
+	COLUMN_TIME,
+	COLUMN_SIZE,
+	COLUMN_MODE1,
+	COLUMN_MODE2,
+	COLUMN_MODE3,
+	COLUMN_OWNER
+} FileListColumns;
+
 typedef struct FileLayout
 {
 	/* view settings - XXX - move into own struct */
@@ -78,7 +91,7 @@
 	short width;
 	short height;
 	short flag;
-
+	float column_widths[MAX_FILE_COLUMN];
 } FileLayout;
 
 FileSelectParams* ED_fileselect_get_params(struct SpaceFile *sfile);

Modified: branches/blender2.5/blender/source/blender/editors/screen/glutil.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/screen/glutil.c	2009-05-14 13:47:08 UTC (rev 20200)
+++ branches/blender2.5/blender/source/blender/editors/screen/glutil.c	2009-05-14 18:08:14 UTC (rev 20201)
@@ -419,7 +419,7 @@
 	return texid;
 }
 
-void glaDrawPixelsTex(float x, float y, int img_w, int img_h, int format, void *rect)
+void glaDrawPixelsTexScaled(float x, float y, int img_w, int img_h, int format, void *rect, float scaleX, float scaleY)
 {
 	unsigned char *uc_rect= (unsigned char*) rect;
 	float *f_rect= (float *)rect;
@@ -460,13 +460,13 @@
 			glVertex2f(rast_x, rast_y);
 
 			glTexCoord2f((float) (subpart_w-1)/tex_w, 0);
-			glVertex2f(rast_x+subpart_w*xzoom, rast_y);
+			glVertex2f(rast_x+subpart_w*xzoom*scaleX, rast_y);
 
 			glTexCoord2f((float) (subpart_w-1)/tex_w, (float) (subpart_h-1)/tex_h);
-			glVertex2f(rast_x+subpart_w*xzoom, rast_y+subpart_h*yzoom);
+			glVertex2f(rast_x+subpart_w*xzoom*scaleX, rast_y+subpart_h*yzoom*scaleY);
 
 			glTexCoord2f(0, (float) (subpart_h-1)/tex_h);
-			glVertex2f(rast_x, rast_y+subpart_h*yzoom);
+			glVertex2f(rast_x, rast_y+subpart_h*yzoom*scaleY);
 			glEnd();
 			glDisable(GL_TEXTURE_2D);
 		}
@@ -477,6 +477,11 @@
 	glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
 }
 
+void glaDrawPixelsTex(float x, float y, int img_w, int img_h, int format, void *rect)
+{
+	glaDrawPixelsTexScaled(x, y, img_w, img_h, format, rect, 1.0f, 1.0f);
+}
+
 void glaDrawPixelsSafe_to32(float fx, float fy, int img_w, int img_h, int row_w, float *rectf)
 {
 	float *rf;

Modified: branches/blender2.5/blender/source/blender/editors/space_file/file_draw.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_file/file_draw.c	2009-05-14 13:47:08 UTC (rev 20200)
+++ branches/blender2.5/blender/source/blender/editors/space_file/file_draw.c	2009-05-14 18:08:14 UTC (rev 20201)
@@ -44,12 +44,16 @@
 #include "BKE_global.h"
 #include "BKE_utildefines.h"
 
+#include "BLF_Api.h"
+
 #include "DNA_space_types.h"
 #include "DNA_scene_types.h"
 #include "DNA_screen_types.h"
 #include "DNA_userdef_types.h"
 #include "DNA_windowmanager_types.h"
 
+#include "ED_datafiles.h"
+
 #include "IMB_imbuf_types.h"
 #include "IMB_imbuf.h"
  
@@ -88,8 +92,6 @@
 	B_FS_PARENT,
 } eFile_ButEvents;
 
-/* XXX very bad, need to check font code */
-static int gFontsize=12;
 
 static void do_file_buttons(bContext *C, void *arg, int event)
 {
@@ -152,19 +154,6 @@
 		uiDefBut(block, BUT, B_FS_CANCEL, "Cancel",		xmax-loadbutton, filebuty1, loadbutton, 21, params->file, 0.0, (float)FILE_MAXFILE-1, 0, 0, "");
 	}
 
-#if 0
-	/* menu[0] = NULL happens when no .Bfs is there, and first time browse
-	   disallow external directory browsing for databrowse */
-
-	if(menu[0] && (params->type != FILE_MAIN))	{ 
-		uiDefButS(block, MENU, 0 /* B_FS_DIR_MENU */, menu, xmin, filebuty2, fsmenubut_width, 21, &params->menu, 0, 0, 0, 0, "");
-		uiDefBut(block, BUT, 0 /* B_FS_BOOKMARK */, "B", xmin, filebuty1, bookmarkbut_width, 21, 0, 0, 0, 0, 0, "Bookmark current directory");
-	}
-
-	MEM_freeN(menu);
-#endif
-
-
 	uiEndBlock(C, block);
 	uiDrawBlock(C, block);
 }
@@ -180,8 +169,6 @@
 	
 	UI_ThemeColorShade(colorid, shade);
 	uiSetRoundBox(15);	
-	// glRecti(sx, sy - height, sx + width, sy);
-
 	uiRoundBox(sx, sy - height, sx + width, sy, 6);
 }
 
@@ -195,14 +182,14 @@
 	float sw = 0;
 	float pad = 0;
 
-	sw = UI_GetStringWidth(string);
+	sw = file_string_width(string);
 	if (flag == FILE_SHORTEN_FRONT) {
 		char *s = string;
 		BLI_strncpy(temp, "...", 4);
-		pad = UI_GetStringWidth(temp);
+		pad = file_string_width(temp);
 		while (s && (sw+pad>w)) {
 			s++;

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list