[Top][All Lists]
[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]; }
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [libcvd-members] libcvd cvd/glwindow.h cvd_src/glwindow.cc,
Gerhard Reitmayr <=