[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [13080] branches/blender2.5/blender/source /blender/windowmanager: * add fullscreen toggle operator ( for testing fullscreen states in win32).
Nathan Letwory
jesterking at letwory.net
Tue Jan 1 10:07:03 CET 2008
Revision: 13080
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=13080
Author: jesterking
Date: 2008-01-01 10:07:02 +0100 (Tue, 01 Jan 2008)
Log Message:
-----------
* add fullscreen toggle operator (for testing fullscreen states in win32). hotkey is FKEY. Do test on other platforms, too.
Modified Paths:
--------------
branches/blender2.5/blender/source/blender/windowmanager/intern/wm.c
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_window.c
branches/blender2.5/blender/source/blender/windowmanager/wm_window.h
Modified: branches/blender2.5/blender/source/blender/windowmanager/intern/wm.c
===================================================================
--- branches/blender2.5/blender/source/blender/windowmanager/intern/wm.c 2008-01-01 02:20:13 UTC (rev 13079)
+++ branches/blender2.5/blender/source/blender/windowmanager/intern/wm.c 2008-01-01 09:07:02 UTC (rev 13080)
@@ -74,6 +74,7 @@
/* note, this doesn't replace existing keymap items */
WM_keymap_verify_item(&wm->windowkeymap, "WM_OT_window_duplicate", AKEY, KM_PRESS, 0, 0);
WM_keymap_verify_item(&wm->windowkeymap, "WM_OT_save_homefile", UKEY, KM_PRESS, KM_CTRL, 0);
+ WM_keymap_verify_item(&wm->windowkeymap, "WM_OT_window_fullscreen_toggle", FKEY, KM_PRESS, 0, 0);
}
/* ****************************************** */
Modified: branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c
===================================================================
--- branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c 2008-01-01 02:20:13 UTC (rev 13079)
+++ branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c 2008-01-01 09:07:02 UTC (rev 13080)
@@ -100,8 +100,18 @@
ot->flag= OPTYPE_REGISTER;
}
+static void WM_OT_window_fullscreen_toggle(wmOperatorType *ot)
+{
+ ot->name= "Toggle Fullscreen";
+ ot->idname= "WM_OT_window_fullscreen_toggle";
+ ot->interactive= NULL;
+ ot->exec= wm_window_fullscreen_toggle_op;
+ ot->poll= WM_operator_winactive;
+}
+
+
#define ADD_OPTYPE(opfunc) ot= MEM_callocN(sizeof(wmOperatorType), "operatortype"); \
opfunc(ot); \
BLI_addtail(&global_ops, ot)
@@ -120,6 +130,7 @@
ADD_OPTYPE(WM_OT_window_duplicate);
ADD_OPTYPE(WM_OT_save_homefile);
+ ADD_OPTYPE(WM_OT_window_fullscreen_toggle);
}
Modified: branches/blender2.5/blender/source/blender/windowmanager/intern/wm_window.c
===================================================================
--- branches/blender2.5/blender/source/blender/windowmanager/intern/wm_window.c 2008-01-01 02:20:13 UTC (rev 13079)
+++ branches/blender2.5/blender/source/blender/windowmanager/intern/wm_window.c 2008-01-01 09:07:02 UTC (rev 13080)
@@ -159,6 +159,19 @@
return 1;
}
+/* fullscreen operator callback */
+int wm_window_fullscreen_toggle_op(bContext *C, wmOperator *op)
+{
+ GHOST_TWindowState state = GHOST_GetWindowState(C->window->ghostwin);
+ if(state!=GHOST_kWindowStateFullScreen)
+ GHOST_SetWindowState(C->window->ghostwin, GHOST_kWindowStateFullScreen);
+ else
+ GHOST_SetWindowState(C->window->ghostwin, GHOST_kWindowStateNormal);
+
+ return 1;
+
+}
+
/* this is event from ghost */
static void wm_window_close(bContext *C, wmWindow *win)
{
@@ -388,14 +401,14 @@
state = GHOST_GetWindowState(win->ghostwin);
- /*if(state==GHOST_kWindowStateNormal)
+ if(state==GHOST_kWindowStateNormal)
printf("window state: normal\n");
else if(state==GHOST_kWindowStateMinimized)
printf("window state: minimized\n");
else if(state==GHOST_kWindowStateMaximized)
printf("window state: maximized\n");
else if(state==GHOST_kWindowStateFullScreen)
- printf("window state: fullscreen\n");*/
+ printf("window state: fullscreen\n");
// window_handle(win, RESHAPE, 1);
break;
Modified: branches/blender2.5/blender/source/blender/windowmanager/wm_window.h
===================================================================
--- branches/blender2.5/blender/source/blender/windowmanager/wm_window.h 2008-01-01 02:20:13 UTC (rev 13079)
+++ branches/blender2.5/blender/source/blender/windowmanager/wm_window.h 2008-01-01 09:07:02 UTC (rev 13080)
@@ -53,6 +53,7 @@
/* *************** window operators ************** */
int wm_window_duplicate_op (bContext *C, wmOperator *op);
+int wm_window_fullscreen_toggle_op(bContext *C, wmOperator *op);
#endif /* WM_WINDOW_H */
More information about the Bf-blender-cvs
mailing list