pass modifier keys to click events (e.g. control | shift etc.)
Review URL: https://codereview.appspot.com/7062054
git-svn-id: http://skia.googlecode.com/svn/trunk@7082 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/views/unix/SkOSWindow_Unix.cpp b/src/views/unix/SkOSWindow_Unix.cpp
index 46a2b3d..6c973e0 100644
--- a/src/views/unix/SkOSWindow_Unix.cpp
+++ b/src/views/unix/SkOSWindow_Unix.cpp
@@ -150,6 +150,11 @@
XFlush(fUnixWindow.fDisplay);
}
+static unsigned getModifierKeys(const XEvent& evt) {
+// unsigned xmod = evt.xkey.state;
+ return 0; // TODO
+}
+
void SkOSWindow::loop() {
Display* dsp = fUnixWindow.fDisplay;
if (NULL == dsp) {
@@ -171,14 +176,17 @@
break;
case ButtonPress:
if (evt.xbutton.button == Button1)
- this->handleClick(evt.xbutton.x, evt.xbutton.y, SkView::Click::kDown_State);
+ this->handleClick(evt.xbutton.x, evt.xbutton.y,
+ SkView::Click::kDown_State, getModifierKeys(evt));
break;
case ButtonRelease:
if (evt.xbutton.button == Button1)
- this->handleClick(evt.xbutton.x, evt.xbutton.y, SkView::Click::kUp_State);
+ this->handleClick(evt.xbutton.x, evt.xbutton.y,
+ SkView::Click::kUp_State, getModifierKeys(evt));
break;
case MotionNotify:
- this->handleClick(evt.xmotion.x, evt.xmotion.y, SkView::Click::kMoved_State);
+ this->handleClick(evt.xmotion.x, evt.xmotion.y,
+ SkView::Click::kMoved_State, getModifierKeys(evt));
break;
case KeyPress: {
KeySym keysym = XkbKeycodeToKeysym(dsp, evt.xkey.keycode, 0, 0);