[Bf-blender-cvs] [16e220c9592] blender2.8: Cleanup: deprecate area.headertype.

Brecht Van Lommel noreply at git.blender.org
Sun May 6 20:16:51 CEST 2018


Commit: 16e220c95929365e3e75479018bdbd71b0ad2981
Author: Brecht Van Lommel
Date:   Sun May 6 18:36:54 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB16e220c95929365e3e75479018bdbd71b0ad2981

Cleanup: deprecate area.headertype.

This was still used in a few places but not kept in sync with the actual
header position. Always get alignment from the header region now.

===================================================================

M	source/blender/blenloader/intern/versioning_250.c
M	source/blender/editors/include/ED_screen.h
M	source/blender/editors/interface/interface_region_menu_popup.c
M	source/blender/editors/screen/area.c
M	source/blender/editors/screen/screen_edit.c
M	source/blender/editors/screen/screen_ops.c
M	source/blender/makesdna/DNA_screen_types.h

===================================================================

diff --git a/source/blender/blenloader/intern/versioning_250.c b/source/blender/blenloader/intern/versioning_250.c
index b7108c882a2..3f85011db0b 100644
--- a/source/blender/blenloader/intern/versioning_250.c
+++ b/source/blender/blenloader/intern/versioning_250.c
@@ -99,7 +99,7 @@ static void area_add_header_region(ScrArea *sa, ListBase *lb)
 
 	BLI_addtail(lb, ar);
 	ar->regiontype = RGN_TYPE_HEADER;
-	if (sa->headertype == HEADERDOWN)
+	if (sa->headertype == 1)
 		ar->alignment = RGN_ALIGN_BOTTOM;
 	else
 		ar->alignment = RGN_ALIGN_TOP;
diff --git a/source/blender/editors/include/ED_screen.h b/source/blender/editors/include/ED_screen.h
index a1c429043cc..5bfa73f6271 100644
--- a/source/blender/editors/include/ED_screen.h
+++ b/source/blender/editors/include/ED_screen.h
@@ -135,6 +135,7 @@ void    ED_area_newspace(struct bContext *C, ScrArea *sa, int type, const bool s
 void    ED_area_prevspace(struct bContext *C, ScrArea *sa);
 void    ED_area_swapspace(struct bContext *C, ScrArea *sa1, ScrArea *sa2);
 int     ED_area_headersize(void);
+int     ED_area_header_alignment(const ScrArea *area);
 int     ED_area_global_size_y(const ScrArea *area);
 bool    ED_area_is_global(const ScrArea *area);
 int     ED_region_global_size_y(void);
diff --git a/source/blender/editors/interface/interface_region_menu_popup.c b/source/blender/editors/interface/interface_region_menu_popup.c
index a2491e85aab..a6046e551c6 100644
--- a/source/blender/editors/interface/interface_region_menu_popup.c
+++ b/source/blender/editors/interface/interface_region_menu_popup.c
@@ -290,7 +290,7 @@ static uiBlock *ui_block_func_POPUP(bContext *C, uiPopupBlockHandle *handle, voi
 		/* for a header menu we set the direction automatic */
 		if (!pup->slideout && flip) {
 			ScrArea *sa = CTX_wm_area(C);
-			if (sa && sa->headertype == HEADERDOWN) {
+			if (sa && ED_area_header_alignment(sa) == RGN_ALIGN_BOTTOM) {
 				ARegion *ar = CTX_wm_region(C);
 				if (ar && ar->regiontype == RGN_TYPE_HEADER) {
 					UI_block_direction_set(block, UI_DIR_UP);
diff --git a/source/blender/editors/screen/area.c b/source/blender/editors/screen/area.c
index 611e5fdd636..2357f5cdb69 100644
--- a/source/blender/editors/screen/area.c
+++ b/source/blender/editors/screen/area.c
@@ -1729,7 +1729,6 @@ void ED_area_data_copy(ScrArea *sa_dst, ScrArea *sa_src, const bool do_free)
 	const char spacetype = sa_dst->spacetype;
 	const short flag_copy = HEADER_NO_PULLDOWN;
 	
-	sa_dst->headertype = sa_src->headertype;
 	sa_dst->spacetype = sa_src->spacetype;
 	sa_dst->type = sa_src->type;
 
@@ -1759,7 +1758,6 @@ void ED_area_data_copy(ScrArea *sa_dst, ScrArea *sa_src, const bool do_free)
 
 void ED_area_data_swap(ScrArea *sa_dst, ScrArea *sa_src)
 {
-	SWAP(short, sa_dst->headertype, sa_src->headertype);
 	SWAP(char, sa_dst->spacetype, sa_src->spacetype);
 	SWAP(SpaceType *, sa_dst->type, sa_src->type);
 
@@ -2327,6 +2325,18 @@ int ED_area_headersize(void)
 	return (int)(HEADERY * UI_DPI_FAC);
 }
 
+
+int ED_area_header_alignment(const ScrArea *area)
+{
+	for (ARegion *ar = area->regionbase.first; ar; ar = ar->next) {
+		if (ar->regiontype == RGN_TYPE_HEADER) {
+			return ar->alignment;
+		}
+	}
+
+	return RGN_ALIGN_NONE;
+}
+
 /**
  * \return the final height of a global \a area, accounting for DPI.
  */
diff --git a/source/blender/editors/screen/screen_edit.c b/source/blender/editors/screen/screen_edit.c
index 1cadefadd5c..d024262121c 100644
--- a/source/blender/editors/screen/screen_edit.c
+++ b/source/blender/editors/screen/screen_edit.c
@@ -170,7 +170,7 @@ ScrEdge *screen_find_active_scredge(
 static ScrArea *screen_addarea_ex(
         ScrAreaMap *area_map,
         ScrVert *bottom_left, ScrVert *top_left, ScrVert *top_right, ScrVert *bottom_right,
-        short headertype, short spacetype)
+        short spacetype)
 {
 	ScrArea *sa = MEM_callocN(sizeof(ScrArea), "addscrarea");
 
@@ -178,7 +178,6 @@ static ScrArea *screen_addarea_ex(
 	sa->v2 = top_left;
 	sa->v3 = top_right;
 	sa->v4 = bottom_right;
-	sa->headertype = headertype;
 	sa->spacetype = spacetype;
 
 	BLI_addtail(&area_map->areabase, sa);
@@ -188,10 +187,10 @@ static ScrArea *screen_addarea_ex(
 static ScrArea *screen_addarea(
         bScreen *sc,
         ScrVert *left_bottom, ScrVert *left_top, ScrVert *right_top, ScrVert *right_bottom,
-        short headertype, short spacetype)
+        short spacetype)
 {
 	return screen_addarea_ex(AREAMAP_FROM_SCREEN(sc), left_bottom, left_top, right_top, right_bottom,
-	                         headertype, spacetype);
+	                         spacetype);
 }
 
 static void screen_delarea(bContext *C, bScreen *sc, ScrArea *sa)
@@ -273,7 +272,7 @@ ScrArea *area_split(bScreen *sc, ScrArea *sa, char dir, float fac, int merge)
 		
 		if (fac > 0.5f) {
 			/* new areas: top */
-			newa = screen_addarea(sc, sv1, sa->v2, sa->v3, sv2, sa->headertype, sa->spacetype);
+			newa = screen_addarea(sc, sv1, sa->v2, sa->v3, sv2, sa->spacetype);
 
 			/* area below */
 			sa->v2 = sv1;
@@ -281,7 +280,7 @@ ScrArea *area_split(bScreen *sc, ScrArea *sa, char dir, float fac, int merge)
 		}
 		else {
 			/* new areas: bottom */
-			newa = screen_addarea(sc, sa->v1, sv1, sv2, sa->v4, sa->headertype, sa->spacetype);
+			newa = screen_addarea(sc, sa->v1, sv1, sv2, sa->v4, sa->spacetype);
 
 			/* area above */
 			sa->v1 = sv1;
@@ -305,7 +304,7 @@ ScrArea *area_split(bScreen *sc, ScrArea *sa, char dir, float fac, int merge)
 		
 		if (fac > 0.5f) {
 			/* new areas: right */
-			newa = screen_addarea(sc, sv1, sv2, sa->v3, sa->v4, sa->headertype, sa->spacetype);
+			newa = screen_addarea(sc, sv1, sv2, sa->v3, sa->v4, sa->spacetype);
 
 			/* area left */
 			sa->v3 = sv2;
@@ -313,7 +312,7 @@ ScrArea *area_split(bScreen *sc, ScrArea *sa, char dir, float fac, int merge)
 		}
 		else {
 			/* new areas: left */
-			newa = screen_addarea(sc, sa->v1, sa->v2, sv2, sv1, sa->headertype, sa->spacetype);
+			newa = screen_addarea(sc, sa->v1, sa->v2, sv2, sv1, sa->spacetype);
 
 			/* area right */
 			sa->v1 = sv1;
@@ -355,7 +354,7 @@ bScreen *screen_add(const char *name, const int winsize_x, const int winsize_y)
 	screen_addedge(sc, sv4, sv1);
 	
 	/* dummy type, no spacedata */
-	screen_addarea(sc, sv1, sv2, sv3, sv4, HEADERDOWN, SPACE_EMPTY);
+	screen_addarea(sc, sv1, sv2, sv3, sv4, SPACE_EMPTY);
 		
 	return sc;
 }
@@ -1093,7 +1092,7 @@ int ED_screen_area_active(const bContext *C)
  */
 static ScrArea *screen_area_create_with_geometry(
         ScrAreaMap *area_map, const rcti *rect,
-        short headertype, short spacetype)
+        short spacetype)
 {
 	ScrVert *bottom_left  = screen_addvert_ex(area_map, rect->xmin, rect->ymin);
 	ScrVert *top_left     = screen_addvert_ex(area_map, rect->xmin, rect->ymax);
@@ -1105,7 +1104,7 @@ static ScrArea *screen_area_create_with_geometry(
 	screen_addedge_ex(area_map, top_right, bottom_right);
 	screen_addedge_ex(area_map, bottom_right, bottom_left);
 
-	return screen_addarea_ex(area_map, bottom_left, top_left, top_right, bottom_right, headertype, spacetype);
+	return screen_addarea_ex(area_map, bottom_left, top_left, top_right, bottom_right, spacetype);
 }
 
 void ED_screen_global_topbar_area_create(wmWindow *win, const bScreen *screen)
@@ -1120,7 +1119,7 @@ void ED_screen_global_topbar_area_create(wmWindow *win, const bScreen *screen)
 		BLI_rcti_init(&rect, 0, WM_window_pixels_x(win) - 1, 0, WM_window_pixels_y(win) - 1);
 		rect.ymin = rect.ymax - size_y;
 
-		sa = screen_area_create_with_geometry(&win->global_areas, &rect, HEADERTOP, SPACE_TOPBAR);
+		sa = screen_area_create_with_geometry(&win->global_areas, &rect, SPACE_TOPBAR);
 		st = BKE_spacetype_from_id(SPACE_TOPBAR);
 		sl = st->new(sa, WM_window_get_active_scene(win));
 		sa->regionbase = sl->regionbase;
diff --git a/source/blender/editors/screen/screen_ops.c b/source/blender/editors/screen/screen_ops.c
index 5a231a24304..3d18e9cbaee 100644
--- a/source/blender/editors/screen/screen_ops.c
+++ b/source/blender/editors/screen/screen_ops.c
@@ -2112,7 +2112,8 @@ static int region_scale_get_maxsize(RegionMoveData *rmd)
 	if (rmd->ar->regiontype == RGN_TYPE_TOOL_PROPS) {
 		/* this calculation seems overly verbose
 		 * can someone explain why this method is necessary? - campbell */
-		maxsize = rmd->maxsize - ((rmd->sa->headertype == HEADERTOP) ? UI_UNIT_Y * 2 : UI_UNIT_Y) - (UI_UNIT_Y / 4);
+		const bool top_header = ED_area_header_alignment(rmd->sa) == RGN_ALIGN_TOP;
+		maxsize = rmd->maxsize - ((top_header) ? UI_UNIT_Y * 2 : UI_UNIT_Y) - (UI_UNIT_Y / 4);
 	}
 
 	return maxsize;
diff --git a/source/blender/makesdna/DNA_screen_types.h b/source/blender/makesdna/DNA_screen_types.h
index 4274f348b2d..7392a56722e 100644
--- a/source/blender/makesdna/DNA_screen_types.h
+++ b/source/blender/makesdna/DNA_screen_types.h
@@ -264,7 +264,7 @@ typedef struct ScrArea {
 
 	short winx, winy;				/* size */
 
-	short headertype;				/* OLD! 0=no header, 1= down, 2= up */
+	short headertype DNA_DEPRECATED;/* OLD! 0=no header, 1= down, 2= up */
 	short do_refresh;				/* private, for spacetype refresh callback */
 	short flag;
 	short region_active_win;		/* index of last used region of 'RGN_TYPE_WINDOW'
@@ -355,9 +355,6 @@ enum {
 #define AREAMINX	32
 #define HEADERY		26
 
-#define HEADERDOWN	1
-#define HEADERTOP	2
-
 /* screen->state */
 enum {
 	SCREENNORMAL     = 0,



More information about the Bf-blender-cvs mailing list