[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [17995] branches/blender2.5/blender/source /blender: 2.5

Ton Roosendaal ton at blender.org
Sun Dec 21 18:18:37 CET 2008


Revision: 17995
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=17995
Author:   ton
Date:     2008-12-21 18:18:36 +0100 (Sun, 21 Dec 2008)

Log Message:
-----------
2.5

Added 'header print' feature back.

ED_area_headerprint(ScrArea *sa, const char *str);

Give it a NULL string to disable the feature.
On each call it tags the header for redraw.

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c
    branches/blender2.5/blender/source/blender/editors/include/ED_screen.h
    branches/blender2.5/blender/source/blender/editors/screen/Makefile
    branches/blender2.5/blender/source/blender/editors/screen/SConscript
    branches/blender2.5/blender/source/blender/editors/screen/area.c
    branches/blender2.5/blender/source/blender/editors/screen/screen_edit.c
    branches/blender2.5/blender/source/blender/makesdna/DNA_screen_types.h

Modified: branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c	2008-12-21 16:24:19 UTC (rev 17994)
+++ branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c	2008-12-21 17:18:36 UTC (rev 17995)
@@ -4151,6 +4151,7 @@
 {
 	ar->handlers.first= ar->handlers.last= NULL;
 	ar->uiblocks.first= ar->uiblocks.last= NULL;
+	ar->headerstr= NULL;
 	ar->regiondata= NULL;
 	ar->swinid= 0;
 	ar->type= NULL;

Modified: branches/blender2.5/blender/source/blender/editors/include/ED_screen.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/include/ED_screen.h	2008-12-21 16:24:19 UTC (rev 17994)
+++ branches/blender2.5/blender/source/blender/editors/include/ED_screen.h	2008-12-21 17:18:36 UTC (rev 17995)
@@ -64,6 +64,7 @@
 void	ED_area_exit(struct bContext *C, struct ScrArea *sa);
 int		ED_screen_area_active(const struct bContext *C);
 void	ED_area_tag_redraw(ScrArea *sa);
+void	ED_area_headerprint(ScrArea *sa, const char *str);
 
 /* screens */
 void	ED_screens_initialize(struct wmWindowManager *wm);

Modified: branches/blender2.5/blender/source/blender/editors/screen/Makefile
===================================================================
--- branches/blender2.5/blender/source/blender/editors/screen/Makefile	2008-12-21 16:24:19 UTC (rev 17994)
+++ branches/blender2.5/blender/source/blender/editors/screen/Makefile	2008-12-21 17:18:36 UTC (rev 17995)
@@ -37,6 +37,7 @@
 
 CPPFLAGS += -I$(NAN_GLEW)/include
 CPPFLAGS += -I$(OPENGL_HEADERS)
+CPPFLAGS += -I$(NAN_BMFONT)/include
 
 # not very neat....
 CPPFLAGS += -I../../windowmanager

Modified: branches/blender2.5/blender/source/blender/editors/screen/SConscript
===================================================================
--- branches/blender2.5/blender/source/blender/editors/screen/SConscript	2008-12-21 16:24:19 UTC (rev 17994)
+++ branches/blender2.5/blender/source/blender/editors/screen/SConscript	2008-12-21 17:18:36 UTC (rev 17995)
@@ -5,7 +5,7 @@
 
 incs = '../include ../../blenlib ../../blenkernel ../../makesdna ../../imbuf'
 incs += ' ../../blenloader ../../windowmanager ../../python ../../makesrna'
-incs += ' #/intern/guardedalloc #/extern/glew/include'
+incs += ' #/intern/guardedalloc #/extern/glew/include #intern/bmfont'
 
 defs = ''
 

Modified: branches/blender2.5/blender/source/blender/editors/screen/area.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/screen/area.c	2008-12-21 16:24:19 UTC (rev 17994)
+++ branches/blender2.5/blender/source/blender/editors/screen/area.c	2008-12-21 17:18:36 UTC (rev 17995)
@@ -36,6 +36,7 @@
 #include "BLI_rand.h"
 
 #include "BKE_context.h"
+#include "BKE_global.h"
 #include "BKE_screen.h"
 #include "BKE_utildefines.h"
 
@@ -54,6 +55,8 @@
 #include "UI_resources.h"
 #include "UI_view2d.h"
 
+#include "BMF_Api.h"
+
 #ifndef DISABLE_PYTHON
 #include "BPY_extern.h"
 #endif
@@ -181,31 +184,32 @@
 	/* note; this sets state, so we can use wmOrtho and friends */
 	wmSubWindowSet(win, ar->swinid);
 	
-	if(ar->swinid && at->draw) {
-		UI_SetTheme(sa);
-		at->draw(C, ar);
-		UI_SetTheme(NULL);
-	}
-	else {
-		float fac= 0.1*ar->swinid;
+	if(ar->swinid) {
+		/* optional header info instead? */
+		if(ar->headerstr) {
+			float col[3];
+			UI_SetTheme(sa);
+			UI_GetThemeColor3fv(TH_HEADER, col);
+			glClearColor(col[0], col[1], col[2], 0.0);
+			glClear(GL_COLOR_BUFFER_BIT);
+			
+			UI_ThemeColor(TH_MENU_TEXT);
+			glRasterPos2i(20, 6);
+			BMF_DrawString(G.font, ar->headerstr);
+		}
+		else if(at->draw) {
+			UI_SetTheme(sa);
+			at->draw(C, ar);
+			UI_SetTheme(NULL);
+		}
 		
-		fac= fac - (int)fac;
+		if(sa)
+			region_draw_emboss(ar);
 		
-		glClearColor(0.5, fac, 1.0f-fac, 0.0); 
-		glClear(GL_COLOR_BUFFER_BIT);
-		
-		/* swapbuffers indicator */
-		fac= BLI_frand();
-		glColor3f(fac, fac, fac);
-		glRecti(20,  2,  30,  12);
+		/* XXX test: add convention to end regions always in pixel space, for drawing of borders/gestures etc */
+		ED_region_pixelspace(ar);
 	}
-
-	if(sa)
-		region_draw_emboss(ar);
 	
-	/* XXX test: add convention to end regions always in pixel space, for drawing of borders/gestures etc */
-	ED_region_pixelspace(ar);
-	
 	ar->do_draw= 0;
 }
 
@@ -230,7 +234,29 @@
 }
 
 
+/* *************************************************************** */
 
+/* use NULL to disable it */
+void ED_area_headerprint(ScrArea *sa, const char *str)
+{
+	ARegion *ar;
+	
+	for(ar= sa->regionbase.first; ar; ar= ar->next) {
+		if(ar->regiontype==RGN_TYPE_HEADER) {
+			if(str) {
+				if(ar->headerstr==NULL)
+					ar->headerstr= MEM_mallocN(256, "headerprint");
+				BLI_strncpy(ar->headerstr, str, 256);
+			}
+			else if(ar->headerstr) {
+				MEM_freeN(ar->headerstr);
+				ar->headerstr= NULL;
+			}
+			ED_region_tag_redraw(ar);
+		}
+	}
+}
+
 /* *************************************************************** */
 
 /* dir is direction to check, not the splitting edge direction! */

Modified: branches/blender2.5/blender/source/blender/editors/screen/screen_edit.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/screen/screen_edit.c	2008-12-21 16:24:19 UTC (rev 17994)
+++ branches/blender2.5/blender/source/blender/editors/screen/screen_edit.c	2008-12-21 17:18:36 UTC (rev 17995)
@@ -1024,6 +1024,10 @@
 		wm_subwindow_close(CTX_wm_window(C), ar->swinid);
 	ar->swinid= 0;
 	
+	if(ar->headerstr)
+		MEM_freeN(ar->headerstr);
+	ar->headerstr= NULL;
+	
 	CTX_wm_region_set(C, prevar);
 }
 

Modified: branches/blender2.5/blender/source/blender/makesdna/DNA_screen_types.h
===================================================================
--- branches/blender2.5/blender/source/blender/makesdna/DNA_screen_types.h	2008-12-21 16:24:19 UTC (rev 17994)
+++ branches/blender2.5/blender/source/blender/makesdna/DNA_screen_types.h	2008-12-21 17:18:36 UTC (rev 17995)
@@ -140,6 +140,7 @@
 	ListBase uiblocks;
 	ListBase handlers;			/* wmEventHandler */
 	
+	char *headerstr;			/* use this string to draw info */
 	void *regiondata;			/* XXX 2.50, need spacedata equivalent? */
 } ARegion;
 





More information about the Bf-blender-cvs mailing list