[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