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;
 


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to