doxygen: prevent GPL license block from being parsed as doxygen comment.
[blender.git] / source / blender / editors / screen / area.c
index c25a912..4ddb5d0 100644 (file)
@@ -1,4 +1,4 @@
-/**
+/*
  * $Id$
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
@@ -36,6 +36,7 @@
 #include "BLI_blenlib.h"
 #include "BLI_math.h"
 #include "BLI_rand.h"
+#include "BLI_utildefines.h"
 
 #include "BKE_context.h"
 #include "BKE_global.h"
@@ -163,27 +164,22 @@ void ED_area_overdraw_flush(ScrArea *sa, ARegion *ar)
 
 static void area_draw_azone(short x1, short y1, short x2, short y2)
 {
-       float xmin = x1;
-       float xmax = x2-2;
-       float ymin = y1-1;
-       float ymax = y2-3;
-       
-       float dx= 0.3f*(xmax-xmin);
-       float dy= 0.3f*(ymax-ymin);
+       int dx= floor(0.3f*(x2-x1));
+       int dy= floor(0.3f*(y2-y1));
        
        glColor4ub(255, 255, 255, 180);
-       fdrawline(xmin, ymax, xmax, ymin);
+       fdrawline(x1, y2, x2, y1);
        glColor4ub(255, 255, 255, 130);
-       fdrawline(xmin, ymax-dy, xmax-dx, ymin);
+       fdrawline(x1, y2-dy, x2-dx, y1);
        glColor4ub(255, 255, 255, 80);
-       fdrawline(xmin, ymax-2*dy, xmax-2*dx, ymin);
+       fdrawline(x1, y2-2*dy, x2-2*dx, y1);
        
        glColor4ub(0, 0, 0, 210);
-       fdrawline(xmin, ymax+1, xmax+1, ymin);
+       fdrawline(x1, y2+1, x2+1, y1);
        glColor4ub(0, 0, 0, 180);
-       fdrawline(xmin, ymax-dy+1, xmax-dx+1, ymin);
+       fdrawline(x1, y2-dy+1, x2-dx+1, y1);
        glColor4ub(0, 0, 0, 150);
-       fdrawline(xmin, ymax-2*dy+1, xmax-2*dx+1, ymin);
+       fdrawline(x1, y2-2*dy+1, x2-2*dx+1, y1);
 }
 
 
@@ -450,7 +446,6 @@ void ED_area_headerprint(ScrArea *sa, const char *str)
 /* ************************************************************ */
 
 
-#define AZONESPOT              12
 static void area_azone_initialize(ScrArea *sa) 
 {
        AZone *az;
@@ -464,8 +459,8 @@ static void area_azone_initialize(ScrArea *sa)
        az->type= AZONE_AREA;
        az->x1= sa->totrct.xmin;
        az->y1= sa->totrct.ymin;
-       az->x2= sa->totrct.xmin + AZONESPOT-1;
-       az->y2= sa->totrct.ymin + AZONESPOT-1;
+       az->x2= sa->totrct.xmin + AZONESPOT;
+       az->y2= sa->totrct.ymin + AZONESPOT;
        BLI_init_rcti(&az->rect, az->x1, az->x2, az->y1, az->y2);
        
        az= (AZone *)MEM_callocN(sizeof(AZone), "actionzone");
@@ -473,13 +468,13 @@ static void area_azone_initialize(ScrArea *sa)
        az->type= AZONE_AREA;
        az->x1= sa->totrct.xmax+1;
        az->y1= sa->totrct.ymax+1;
-       az->x2= sa->totrct.xmax-AZONESPOT+1;
-       az->y2= sa->totrct.ymax-AZONESPOT+1;
+       az->x2= sa->totrct.xmax-AZONESPOT;
+       az->y2= sa->totrct.ymax-AZONESPOT;
        BLI_init_rcti(&az->rect, az->x1, az->x2, az->y1, az->y2);
 }
 
 #define AZONEPAD_EDGE  4
-#define AZONEPAD_ICON  8
+#define AZONEPAD_ICON  9
 static void region_azone_edge(AZone *az, ARegion *ar)
 {
        switch(az->edge) {
@@ -959,7 +954,6 @@ void ED_region_toggle_hidden(bContext *C, ARegion *ar)
        ScrArea *sa= CTX_wm_area(C);
 
        ar->flag ^= RGN_FLAG_HIDDEN;
-       ar->v2d.flag &= ~V2D_IS_INITIALISED; /* XXX should become hide/unhide api? */
 
        if(ar->flag & RGN_FLAG_HIDDEN)
                WM_event_remove_handlers(C, &ar->handlers);
@@ -1103,10 +1097,12 @@ void ED_area_newspace(bContext *C, ScrArea *sa, int type)
                                
                /*send space change notifyer*/
                WM_event_add_notifier(C, NC_SPACE|ND_SPACE_CHANGED, sa);
-
-               ED_area_tag_redraw(sa);
+               
                ED_area_tag_refresh(sa);
        }
+       
+       /* also redraw when re-used */
+       ED_area_tag_redraw(sa);
 }
 
 void ED_area_prevspace(bContext *C, ScrArea *sa)
@@ -1130,7 +1126,7 @@ void ED_area_prevspace(bContext *C, ScrArea *sa)
        WM_event_add_notifier(C, NC_SPACE|ND_SPACE_CHANGED, sa);
 }
 
-static char *editortype_pup(void)
+static const char *editortype_pup(void)
 {
        return(
                   "Editor type:%t"
@@ -1227,7 +1223,7 @@ int ED_area_header_standardbuttons(const bContext *C, uiBlock *block, int yco)
 
 /************************ standard UI regions ************************/
 
-void ED_region_panels(const bContext *C, ARegion *ar, int vertical, char *context, int contextnr)
+void ED_region_panels(const bContext *C, ARegion *ar, int vertical, const char *context, int contextnr)
 {
        ScrArea *sa= CTX_wm_area(C);
        uiStyle *style= U.uistyles.first;
@@ -1288,6 +1284,9 @@ void ED_region_panels(const bContext *C, ARegion *ar, int vertical, char *contex
                                panel->labelofs= xco - triangle;
                                panel->layout= NULL;
                        }
+                       else {
+                               panel->labelofs= 0;
+                       }
 
                        if(open) {
                                short panelContext;