libcvd-members
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[libcvd-members] libcvd cvd/glwindow.h cvd_src/glwindow.cc


From: Gerhard Reitmayr
Subject: [libcvd-members] libcvd cvd/glwindow.h cvd_src/glwindow.cc
Date: Wed, 23 May 2007 17:55:49 +0000

CVSROOT:        /cvsroot/libcvd
Module name:    libcvd
Changes by:     Gerhard Reitmayr <gerhard>      07/05/23 17:55:49

Modified files:
        cvd            : glwindow.h 
        cvd_src        : glwindow.cc 

Log message:
        support for mouse move and mouse wheel in eventsummary

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/libcvd/cvd/glwindow.h?cvsroot=libcvd&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/libcvd/cvd_src/glwindow.cc?cvsroot=libcvd&r1=1.3&r2=1.4

Patches:
Index: cvd/glwindow.h
===================================================================
RCS file: /cvsroot/libcvd/libcvd/cvd/glwindow.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- cvd/glwindow.h      30 Apr 2007 16:23:54 -0000      1.3
+++ cvd/glwindow.h      23 May 2007 17:55:49 -0000      1.4
@@ -39,7 +39,7 @@
     class GLWindow {
     public:
        /// Symbols for mouse buttons and modifiers
-       enum MouseButton { BUTTON_LEFT=1, BUTTON_MIDDLE=2, BUTTON_RIGHT=4, 
BUTTON_MOD_CTRL=8, BUTTON_MOD_SHIFT=0x10 };
+       enum MouseButton { BUTTON_LEFT=1, BUTTON_MIDDLE=2, BUTTON_RIGHT=4, 
BUTTON_MOD_CTRL=8, BUTTON_MOD_SHIFT=0x10, BUTTON_WHEEL_UP=0x20, 
BUTTON_WHEEL_DOWN=0x40 };
        /// Symbols for window events
        enum EventType { EVENT_CLOSE };
 
@@ -77,12 +77,15 @@
            typedef std::map<int,int>::const_iterator key_iterator;
            /// button->frequency mapping for mouse presses and releases
            std::map<int,std::pair<ImageRef,int> > mouse_down, mouse_up;
+           typedef std::map<int,std::pair<ImageRef,int> >::const_iterator 
mouse_iterator;
            /// Generic window events -> frequency
            std::map<int,int> events;
            /// Reset the summary
            void clear() { *this = EventSummary(); }
            /// Has escape been pressed or the close button pressed?
            bool should_quit() const;
+           /// last seen cursor position from mouse_move
+           ImageRef cursor;
        };
 
        /// Construct a GLWindow of the given size and colour depth, with the 
given title.

Index: cvd_src/glwindow.cc
===================================================================
RCS file: /cvsroot/libcvd/libcvd/cvd_src/glwindow.cc,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- cvd_src/glwindow.cc 21 Mar 2007 23:49:40 -0000      1.3
+++ cvd_src/glwindow.cc 23 May 2007 17:55:49 -0000      1.4
@@ -171,6 +171,8 @@
   case Button1: return GLWindow::BUTTON_LEFT;
   case Button2: return GLWindow::BUTTON_MIDDLE;
   case Button3: return GLWindow::BUTTON_RIGHT;
+  case Button4: return GLWindow::BUTTON_WHEEL_UP;
+  case Button5: return GLWindow::BUTTON_WHEEL_DOWN;
   }
   return 0;
 }
@@ -312,6 +314,7 @@
 
     void on_key_down(GLWindow& win, int key) { ++summary.key_down[key]; }
     void on_key_up(GLWindow& win, int key) { ++summary.key_up[key]; }
+    void on_mouse_move(GLWindow& win, ImageRef where, int state) { 
summary.cursor = where; }
     void on_mouse_down(GLWindow& win, ImageRef where, int state, int button) { 
summary.mouse_down[button] = std::make_pair(where,state); }
     void on_mouse_up(GLWindow& win, ImageRef where, int state, int button) { 
summary.mouse_up[button] = std::make_pair(where,state); }
     void on_event(GLWindow& win, int event) { ++summary.events[event]; }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]