[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [35388] trunk/blender/source/blender: From the OFTL:

Ton Roosendaal ton at blender.org
Mon Mar 7 15:56:20 CET 2011


Revision: 35388
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=35388
Author:   ton
Date:     2011-03-07 14:56:19 +0000 (Mon, 07 Mar 2011)
Log Message:
-----------
>From the OFTL:

Arrows-move-cursor is back!
It now works for any running modal operator that doesn't handle own
arrow keys. Might need to become more restricted though, some modal
ops don't need it. Want to investigate that still where conflicts are.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_view3d/view3d_select.c
    trunk/blender/source/blender/editors/transform/transform.c
    trunk/blender/source/blender/windowmanager/intern/wm_cursors.c
    trunk/blender/source/blender/windowmanager/intern/wm_event_system.c
    trunk/blender/source/blender/windowmanager/wm_cursors.h

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_select.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_select.c	2011-03-07 13:23:45 UTC (rev 35387)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_select.c	2011-03-07 14:56:19 UTC (rev 35388)
@@ -198,26 +198,6 @@
 	}
 }
 
-#if 0
-void arrows_move_cursor(unsigned short event)
-{
-	short mval[2];
-
-	getmouseco_sc(mval);
-
-	if(event==UPARROWKEY) {
-		warp_pointer(mval[0], mval[1]+1);
-	} else if(event==DOWNARROWKEY) {
-		warp_pointer(mval[0], mval[1]-1);
-	} else if(event==LEFTARROWKEY) {
-		warp_pointer(mval[0]-1, mval[1]);
-	} else if(event==RIGHTARROWKEY) {
-		warp_pointer(mval[0]+1, mval[1]);
-	}
-}
-#endif
-
-
 /* *********************** GESTURE AND LASSO ******************* */
 
 static int view3d_selectable_data(bContext *C)

Modified: trunk/blender/source/blender/editors/transform/transform.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform.c	2011-03-07 13:23:45 UTC (rev 35387)
+++ trunk/blender/source/blender/editors/transform/transform.c	2011-03-07 14:56:19 UTC (rev 35388)
@@ -54,22 +54,10 @@
 
 #include "RNA_access.h"
 
-//#include "BIF_editview.h"		/* arrows_move_cursor	*/
 #include "BIF_gl.h"
 #include "BIF_glutil.h"
-//#include "BIF_mywindow.h"
-//#include "BIF_resources.h"
-//#include "BIF_screen.h"
-//#include "BIF_space.h"			/* undo					*/
-//#include "BIF_toets.h"			/* persptoetsen			*/
-//#include "BIF_mywindow.h"		/* warp_pointer			*/
-//#include "BIF_toolbox.h"			/* notice				*/
-//#include "BIF_editmesh.h"
-//#include "BIF_editsima.h"
-//#include "BIF_editparticle.h"
 
 #include "BKE_nla.h"
-//#include "BKE_bad_level_calls.h"/* popmenu and error	*/
 #include "BKE_bmesh.h"
 #include "BKE_context.h"
 #include "BKE_constraint.h"
@@ -78,8 +66,6 @@
 #include "BKE_pointcache.h"
 #include "BKE_unit.h"
 
-//#include "BSE_view.h"
-
 #include "ED_image.h"
 #include "ED_keyframing.h"
 #include "ED_screen.h"
@@ -551,9 +537,6 @@
 	WM_modalkeymap_add_item(keymap, AKEY, KM_PRESS, 0, 0, TFM_MODAL_ADD_SNAP);
 	WM_modalkeymap_add_item(keymap, AKEY, KM_PRESS, KM_ALT, 0, TFM_MODAL_REMOVE_SNAP);
 
-	WM_modalkeymap_add_item(keymap, UPARROWKEY, KM_PRESS, 0, 0, NUM_MODAL_INCREMENT_UP);
-	WM_modalkeymap_add_item(keymap, DOWNARROWKEY, KM_PRESS, 0, 0, NUM_MODAL_INCREMENT_DOWN);
-	
 	WM_modalkeymap_add_item(keymap, PAGEUPKEY, KM_PRESS, 0, 0, TFM_MODAL_PROPSIZE_UP);
 	WM_modalkeymap_add_item(keymap, PAGEDOWNKEY, KM_PRESS, 0, 0, TFM_MODAL_PROPSIZE_DOWN);
 	WM_modalkeymap_add_item(keymap, WHEELDOWNMOUSE, KM_PRESS, 0, 0, TFM_MODAL_PROPSIZE_UP);
@@ -1070,7 +1053,6 @@
 		// Snapping events
 		t->redraw |= handleSnapping(t, event);
 
-		//arrows_move_cursor(event->type);
 	}
 	else if (event->val==KM_RELEASE) {
 		switch (event->type){

Modified: trunk/blender/source/blender/windowmanager/intern/wm_cursors.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_cursors.c	2011-03-07 13:23:45 UTC (rev 35387)
+++ trunk/blender/source/blender/windowmanager/intern/wm_cursors.c	2011-03-07 14:56:19 UTC (rev 35388)
@@ -47,6 +47,7 @@
 #include "BKE_main.h"
 
 #include "WM_api.h"
+#include "WM_types.h"
 #include "wm_cursors.h"
 
 /* XXX this still is mess from old code */
@@ -211,6 +212,29 @@
 	}
 }
 
+/* give it a modal keymap one day? */
+int wm_cursor_arrow_move(wmWindow *win, wmEvent *event)
+{
+	if(win && event->val==KM_PRESS) {
+		
+		if(event->type==UPARROWKEY) {
+			WM_cursor_warp(win, event->x, event->y+1);
+			return 1;
+		} else if(event->type==DOWNARROWKEY) {
+			WM_cursor_warp(win, event->x, event->y-1);
+			return 1;
+		} else if(event->type==LEFTARROWKEY) {
+			WM_cursor_warp(win, event->x-1, event->y);
+			return 1;
+		} else if(event->type==RIGHTARROWKEY) {
+			WM_cursor_warp(win, event->x+1, event->y);
+			return 1;
+		}
+	}
+	return 0;
+}
+
+
 /* afer this you can call restore too */
 void WM_timecursor(wmWindow *win, int nr)
 {

Modified: trunk/blender/source/blender/windowmanager/intern/wm_event_system.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_event_system.c	2011-03-07 13:23:45 UTC (rev 35387)
+++ trunk/blender/source/blender/windowmanager/intern/wm_event_system.c	2011-03-07 14:56:19 UTC (rev 35388)
@@ -1557,6 +1557,9 @@
 			}
 		}
 	}
+	
+	if(action == (WM_HANDLER_BREAK|WM_HANDLER_MODAL))
+		wm_cursor_arrow_move(CTX_wm_window(C), event);
 
 	return action;
 }
@@ -1939,11 +1942,13 @@
 	WM_event_fileselect_event(C, op, full?EVT_FILESELECT_FULL_OPEN:EVT_FILESELECT_OPEN);
 }
 
+#if 0
 /* lets not expose struct outside wm? */
 static void WM_event_set_handler_flag(wmEventHandler *handler, int flag)
 {
 	handler->flag= flag;
 }
+#endif
 
 wmEventHandler *WM_event_add_modal_handler(bContext *C, wmOperator *op)
 {
@@ -2089,11 +2094,13 @@
 	}
 }
 
+#if 0
 static void WM_event_remove_handler(ListBase *handlers, wmEventHandler *handler)
 {
 	BLI_remlink(handlers, handler);
 	wm_event_free_handler(handler);
 }
+#endif
 
 void WM_event_add_mousemove(bContext *C)
 {

Modified: trunk/blender/source/blender/windowmanager/wm_cursors.h
===================================================================
--- trunk/blender/source/blender/windowmanager/wm_cursors.h	2011-03-07 13:23:45 UTC (rev 35387)
+++ trunk/blender/source/blender/windowmanager/wm_cursors.h	2011-03-07 14:56:19 UTC (rev 35388)
@@ -116,5 +116,11 @@
 #define SMALL_CURSOR 	0
 #define BIG_CURSOR 		1
 
+struct wmWindow;
+struct wmEvent;
+
+int wm_cursor_arrow_move(struct wmWindow *win, struct wmEvent *event);
+
+
 #endif /* WM_CURSORS_H */
 




More information about the Bf-blender-cvs mailing list