[Scummvm-cvs-logs] CVS: scummvm/backends/dc input.cpp,1.21,1.22

Marcus Comstedt marcus_c at users.sourceforge.net
Sun Apr 3 14:42:23 CEST 2005


Update of /cvsroot/scummvm/scummvm/backends/dc
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27400

Modified Files:
	input.cpp 
Log Message:
Added mouse wheel support.

Index: input.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/backends/dc/input.cpp,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -d -r1.21 -r1.22
--- input.cpp	9 Dec 2004 20:21:31 -0000	1.21
+++ input.cpp	3 Apr 2005 21:41:39 -0000	1.22
@@ -33,6 +33,7 @@
   int lmb=0, rmb=0, newkey=0;
   static int lastkey = 0;
   static byte lastlmb = 0, lastrmb = 0;
+  static int8 mouse_wheel = 0, lastwheel = 0;
   shiftFlags = 0;
   for(int i=0; i<4; i++, pad++)
     if(pad->func & MAPLE_FUNC_CONTROLLER) {
@@ -68,12 +69,14 @@
       
       mouse_x += pad->cond.mouse.axis1;
       mouse_y += pad->cond.mouse.axis2;
+      mouse_wheel += pad->cond.mouse.axis3;
 
       if(inter)
 	inter->mouse(mouse_x, mouse_y);
 
       pad->cond.mouse.axis1 = 0;
       pad->cond.mouse.axis2 = 0;
+      pad->cond.mouse.axis3 = 0;
     } else if(pad->func & MAPLE_FUNC_KEYBOARD) {
       for(int p=0; p<6; p++) {
 	int shift = pad->cond.kbd.shift;
@@ -152,6 +155,15 @@
     return -OSystem::EVENT_RBUTTONUP;
   }
 
+  if(mouse_wheel != lastwheel)
+    if(((int8)(mouse_wheel - lastwheel)) > 0) {
+      lastwheel++;
+      return -OSystem::EVENT_WHEELDOWN;
+    } else {
+      --lastwheel;
+      return -OSystem::EVENT_WHEELUP;
+    }
+
   if(newkey && inter && newkey != lastkey) {
     int transkey = inter->key(newkey, shiftFlags);
     if(transkey) {





More information about the Scummvm-git-logs mailing list