[Bf-blender-cvs] [05c8590] multiview: multiview: remove old clean ui operator

Dalai Felinto noreply at git.blender.org
Fri Jul 25 22:38:00 CEST 2014


Commit: 05c8590896aeb9b7cfc63b91cfd3425bf5845624
Author: Dalai Felinto
Date:   Fri Jul 25 15:55:13 2014 -0300
Branches: multiview
https://developer.blender.org/rB05c8590896aeb9b7cfc63b91cfd3425bf5845624

multiview: remove old clean ui operator

This functionality is still necessary, but it was refactored and sent
for review independently in D678 (https://developer.blender.org/D678)

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

M	source/blender/editors/include/ED_screen.h
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/editors/include/ED_screen.h b/source/blender/editors/include/ED_screen.h
index dcca3db..d31be3e 100644
--- a/source/blender/editors/include/ED_screen.h
+++ b/source/blender/editors/include/ED_screen.h
@@ -111,7 +111,6 @@ ScrArea *ED_screen_full_newspace(struct bContext *C, ScrArea *sa, int type);
 void    ED_screen_full_prevspace(struct bContext *C, ScrArea *sa);
 void    ED_screen_full_restore(struct bContext *C, ScrArea *sa);
 struct ScrArea *ED_screen_full_toggle(struct bContext *C, struct wmWindow *win, struct ScrArea *sa);
-struct ScrArea *ED_screen_clean_toggle(struct bContext *C, struct wmWindow *win, struct ScrArea *sa);
 void    ED_screens_header_tools_menu_create(struct bContext *C, struct uiLayout *layout, void *arg);
 
 /* anim */
diff --git a/source/blender/editors/screen/area.c b/source/blender/editors/screen/area.c
index 495ab97..c671214 100644
--- a/source/blender/editors/screen/area.c
+++ b/source/blender/editors/screen/area.c
@@ -830,12 +830,9 @@ static void region_azone_tria(ScrArea *sa, AZone *az, ARegion *ar)
 }	
 
 
-static void region_azone_initialize(bScreen *screen, ScrArea *sa, ARegion *ar, AZEdge edge)
+static void region_azone_initialize(ScrArea *sa, ARegion *ar, AZEdge edge) 
 {
 	AZone *az;
-
-	if (screen->full == SCREENFULLCLEAN)
-		return;
 	
 	az = (AZone *)MEM_callocN(sizeof(AZone), "actionzone");
 	BLI_addtail(&(sa->actionzones), az);
@@ -862,18 +859,18 @@ static void region_azone_initialize(bScreen *screen, ScrArea *sa, ARegion *ar, A
 
 /* *************************************************************** */
 
-static void region_azone_add(bScreen *sc, ScrArea *sa, ARegion *ar, int alignment)
+static void region_azone_add(ScrArea *sa, ARegion *ar, int alignment)
 {
 	/* edge code (t b l r) is along which area edge azone will be drawn */
 	
 	if (alignment == RGN_ALIGN_TOP)
-		region_azone_initialize(sc, sa, ar, AE_BOTTOM_TO_TOPLEFT);
+		region_azone_initialize(sa, ar, AE_BOTTOM_TO_TOPLEFT);
 	else if (alignment == RGN_ALIGN_BOTTOM)
-		region_azone_initialize(sc, sa, ar, AE_TOP_TO_BOTTOMRIGHT);
+		region_azone_initialize(sa, ar, AE_TOP_TO_BOTTOMRIGHT);
 	else if (alignment == RGN_ALIGN_RIGHT)
-		region_azone_initialize(sc, sa, ar, AE_LEFT_TO_TOPRIGHT);
+		region_azone_initialize(sa, ar, AE_LEFT_TO_TOPRIGHT);
 	else if (alignment == RGN_ALIGN_LEFT)
-		region_azone_initialize(sc, sa, ar, AE_RIGHT_TO_TOPLEFT);
+		region_azone_initialize(sa, ar, AE_RIGHT_TO_TOPLEFT);
 }
 
 /* dir is direction to check, not the splitting edge direction! */
@@ -1170,7 +1167,7 @@ static void region_rect_recursive(wmWindow *win, ScrArea *sa, ARegion *ar, rcti
 		 * must be minimum '4' */
 	}
 	else {
-		region_azone_add(win->screen, sa, ar, alignment);
+		region_azone_add(sa, ar, alignment);
 	}
 
 	region_rect_recursive(win, sa, ar->next, remainder, quad);
diff --git a/source/blender/editors/screen/screen_edit.c b/source/blender/editors/screen/screen_edit.c
index 031afc0..5beab9f 100644
--- a/source/blender/editors/screen/screen_edit.c
+++ b/source/blender/editors/screen/screen_edit.c
@@ -1182,6 +1182,8 @@ void ED_screen_draw(wmWindow *win)
 		
 		glDisable(GL_BLEND);
 	}
+	
+	win->screen->do_draw = false;
 }
 
 /* helper call for below, dpi changes headers */
@@ -1584,7 +1586,7 @@ void ED_screen_delete(bContext *C, bScreen *sc)
 	int delete = 1;
 	
 	/* don't allow deleting temp fullscreens for now */
-	if (sc->full == SCREENFULL || sc->full == SCREENFULLCLEAN) {
+	if (sc->full == SCREENFULL) {
 		return;
 	}
 	
@@ -1899,102 +1901,6 @@ ScrArea *ED_screen_full_toggle(bContext *C, wmWindow *win, ScrArea *sa)
 	return sc->areabase.first;
 }
 
-/* this function toggles: if area is full then the parent will be restored */
-ScrArea *ED_screen_clean_toggle(bContext *C, wmWindow *win, ScrArea *sa)
-{
-	bScreen *sc, *oldscreen;
-	ARegion *ar;
-
-	if (sa) {
-		/* ensure we don't have a button active anymore, can crash when
-		 * switching screens with tooltip open because region and tooltip
-		 * are no longer in the same screen */
-		for (ar = sa->regionbase.first; ar; ar = ar->next)
-			uiFreeBlocks(C, &ar->uiblocks);
-
-		/* prevent hanging header prints */
-		ED_area_headerprint(sa, NULL);
-	}
-
-	if (sa && sa->fullclean) {
-		ScrArea *old;
-
-		sc = sa->fullclean;       /* the old screen to restore */
-		oldscreen = win->screen; /* the one disappearing */
-
-		sc->full = SCREENNORMAL;
-
-		/* find old area */
-		for (old = sc->areabase.first; old; old = old->next)
-			if (old->fullclean) break;
-		if (old == NULL) {
-			if (G.debug & G_DEBUG)
-				printf("%s: something wrong in areafullscreen\n", __func__);
-			return NULL;
-		}
-
-		/* restore the old side panels/header visibility */
-		for (ar = sa->regionbase.first; ar; ar = ar->next)
-			ar->flag = ar->flagclean;
-
-		ED_area_data_swap(old, sa);
-		old->fullclean = NULL;
-
-		/* animtimer back */
-		sc->animtimer = oldscreen->animtimer;
-		oldscreen->animtimer = NULL;
-
-		ED_screen_set(C, sc);
-
-		BKE_screen_free(oldscreen);
-		BKE_libblock_free(CTX_data_main(C), oldscreen);
-
-	}
-	else {
-		ScrArea *newa;
-		char newname[MAX_ID_NAME - 2];
-
-		oldscreen = win->screen;
-
-		oldscreen->full = SCREENFULLCLEAN;
-		BLI_snprintf(newname, sizeof(newname), "%s-%s", oldscreen->id.name + 2, "stereo");
-		sc = ED_screen_add(win, oldscreen->scene, newname);
-		sc->full = SCREENFULLCLEAN;
-
-		/* timer */
-		sc->animtimer = oldscreen->animtimer;
-		oldscreen->animtimer = NULL;
-
-		newa = (ScrArea *)sc->areabase.first;
-		ED_area_newspace(C, newa, sa->spacetype);
-
-		/* copy area */
-		ED_area_data_swap(newa, sa);
-
-		/* temporarily hide the side panels/header */
-		for (ar = newa->regionbase.first; ar; ar = ar->next) {
-			ar->flagclean = ar->flag;
-
-			if (ELEM(ar->regiontype,
-					  RGN_TYPE_UI,
-					  RGN_TYPE_PREVIEW,
-					  RGN_TYPE_HEADER,
-					  RGN_TYPE_TOOLS))
-				ar->flag |= RGN_FLAG_HIDDEN;
-		}
-
-		sa->fullclean = oldscreen;
-		newa->fullclean = oldscreen;
-
-		ED_screen_set(C, sc);
-	}
-
-	/* XXX bad code: setscreen() ends with first area active. fullscreen render assumes this too */
-	CTX_wm_area_set(C, sc->areabase.first);
-
-	return sc->areabase.first;
-}
-
 /* update frame rate info for viewport drawing */
 void ED_refresh_viewport_fps(bContext *C)
 {
diff --git a/source/blender/editors/screen/screen_ops.c b/source/blender/editors/screen/screen_ops.c
index faec7bc..7d22990 100644
--- a/source/blender/editors/screen/screen_ops.c
+++ b/source/blender/editors/screen/screen_ops.c
@@ -2332,43 +2332,6 @@ static void SCREEN_OT_screen_full_area(wmOperatorType *ot)
 	
 }
 
-/* special fullscreen mode. Initially intended for stereo-enabled editors
-   but useful for other editors as well */
-/* XXX no shortcut available for this
-   XXX we need a shortcut to toggle HEADER visiblity as well */
-static int screen_clean_full_area_exec(bContext *C, wmOperator *UNUSED(op))
-{
-	bScreen *screen = CTX_wm_screen(C);
-	ScrArea *sa = NULL;
-
-	/* search current screen for 'fullscreen' areas */
-	/* prevents restoring info header, when mouse is over it */
-	for (sa = screen->areabase.first; sa; sa = sa->next) {
-		if (sa->fullclean) break;
-	}
-
-	/* go fullscreen */
-	if (sa == NULL) {
-		sa = CTX_wm_area(C);
-		if (sa == NULL)
-			return OPERATOR_CANCELLED;
-	}
-
-	ED_screen_clean_toggle(C, CTX_wm_window(C), sa);
-	return OPERATOR_FINISHED;
-}
-
-static void SCREEN_OT_clean_full_area(wmOperatorType *ot)
-{
-	ot->name = "Toggle Clean Full Screen";
-	ot->description = "Toggle editor as clean fullscreen";
-	ot->idname = "SCREEN_OT_clean_full_area";
-
-	ot->exec = screen_clean_full_area_exec;
-	ot->poll = ED_operator_areaactive;
-	ot->flag = 0;
-}
-
 
 
 /* ************** join area operator ********************************************** */
@@ -3976,7 +3939,6 @@ void ED_operatortypes_screen(void)
 	WM_operatortype_append(SCREEN_OT_header_toolbox);
 	WM_operatortype_append(SCREEN_OT_screen_set);
 	WM_operatortype_append(SCREEN_OT_screen_full_area);
-	WM_operatortype_append(SCREEN_OT_clean_full_area);
 	WM_operatortype_append(SCREEN_OT_back_to_previous);
 	WM_operatortype_append(SCREEN_OT_spacedata_cleanup);
 	WM_operatortype_append(SCREEN_OT_screenshot);
@@ -4096,7 +4058,7 @@ void ED_keymap_screen(wmKeyConfig *keyconf)
 	WM_keymap_add_item(keymap, "SCREEN_OT_screen_full_area", SPACEKEY, KM_PRESS, KM_SHIFT, 0);
 	WM_keymap_add_item(keymap, "SCREEN_OT_screenshot", F3KEY, KM_PRESS, KM_CTRL, 0);
 	WM_keymap_add_item(keymap, "SCREEN_OT_screencast", F3KEY, KM_PRESS, KM_ALT, 0);
-
+	
 	/* tests */
 	WM_keymap_add_item(keymap, "SCREEN_OT_region_quadview", QKEY, KM_PRESS, KM_CTRL | KM_ALT, 0);
 	WM_keymap_verify_item(keymap, "SCREEN_OT_repeat_history", F3KEY, KM_PRESS, 0, 0);
diff --git a/source/blender/makesdna/DNA_screen_types.h b/source/blender/makesdna/DNA_screen_types.h
index 04f3ba6..38d3c27 100644
--- a/source/blender/makesdna/DNA_screen_types.h
+++ b/source/blender/makesdna/DNA_screen_types.h
@@ -225,9 +225,6 @@ typedef struct ScrArea {
 	ListBase handlers;		/* wmEventHandler */
 	
 	ListBase actionzones;	/* AZone */
-
-	bScreen *fullclean;			/* if area==fullclean, this is the parent */
-	void *pad2;
 } ScrArea;
 
 typedef struct ARegion {
@@ -250,8 +247,7 @@ typedef struct ARegion {
 	short do_draw_overlay;		/* private, cached notifier events */
 	short swap;					/* private, indicator to survive swap-exchange */
 	short overlap;				/* private, set for indicate drawing overlapped */
-	short flagclean;			/* temporary copy of flag settings for clean fullscreen */
-	short pad;
+	short pad[2];
 	
 	struct ARegionType *type;	/* callbacks for this region type */
 	
@@ -294,7 +290,6 @@ typedef struct ARegion {
 /* screen->full */
 #define SCREENNORMAL	0
 #define SCREENFULL		1
-#define SCREENFULLCLEAN 2
 
 /* Panel->flag */
 enum {




More information about the Bf-blender-cvs mailing list