[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