summaryrefslogtreecommitdiffstats
path: root/client/x11/red_window.cpp
diff options
context:
space:
mode:
authorYaniv Kamay <ykamay@redhat.com>2009-11-16 17:50:16 +0200
committerYaniv Kamay <ykamay@redhat.com>2009-11-30 18:03:35 +0200
commit3b51087b3656b111886c7397d0ddd499a96f9e2d (patch)
tree21cdb7b0dc282062bd811f65ee295a7074b58275 /client/x11/red_window.cpp
parenta70110c4e50aad99de7a844bb78eb868768e7841 (diff)
downloadspice-3b51087b3656b111886c7397d0ddd499a96f9e2d.tar.gz
spice-3b51087b3656b111886c7397d0ddd499a96f9e2d.tar.xz
spice-3b51087b3656b111886c7397d0ddd499a96f9e2d.zip
client: interactive screen layer
Diffstat (limited to 'client/x11/red_window.cpp')
-rw-r--r--client/x11/red_window.cpp18
1 files changed, 10 insertions, 8 deletions
diff --git a/client/x11/red_window.cpp b/client/x11/red_window.cpp
index 2b4228a2..1d989b7c 100644
--- a/client/x11/red_window.cpp
+++ b/client/x11/red_window.cpp
@@ -726,9 +726,9 @@ void RedWindow_p::win_proc(XEvent& event)
if (event.xmotion.x >= 0 && event.xmotion.y >= 0 &&
event.xmotion.x < size.x && event.xmotion.y < size.y) {
Point origin = red_window->get_origin();
- red_window->get_listener().on_mouse_motion(event.xmotion.x - origin.x,
- event.xmotion.y - origin.y,
- to_red_buttons_state(event.xmotion.state));
+ red_window->get_listener().on_pointer_motion(event.xmotion.x - origin.x,
+ event.xmotion.y - origin.y,
+ to_red_buttons_state(event.xmotion.state));
}
break;
}
@@ -758,7 +758,7 @@ void RedWindow_p::win_proc(XEvent& event)
DBG(0, "ButtonPress: invalid button %u", event.xbutton.button);
break;
}
- red_window->get_listener().on_button_press(button, state);
+ red_window->get_listener().on_mouse_button_press(button, state);
break;
}
case ButtonRelease: {
@@ -768,7 +768,7 @@ void RedWindow_p::win_proc(XEvent& event)
DBG(0, "ButtonRelease: invalid button %u", event.xbutton.button);
break;
}
- red_window->get_listener().on_button_release(button, state);
+ red_window->get_listener().on_mouse_button_release(button, state);
break;
}
case Expose: {
@@ -843,7 +843,9 @@ void RedWindow_p::win_proc(XEvent& event)
break;
case EnterNotify:
if (!red_window->_ignore_pointer) {
- red_window->on_pointer_enter();
+ Point origin = red_window->get_origin();
+ red_window->on_pointer_enter(event.xcrossing.x - origin.x, event.xcrossing.y - origin.y,
+ to_red_buttons_state(event.xmotion.state));
} else {
red_window->_shadow_pointer_state = true;
memcpy(&red_window->_shadow_pointer_event, &event, sizeof(XEvent));
@@ -1943,13 +1945,13 @@ void RedWindow::on_focus_out()
XPlatform::on_focus_out();
}
-void RedWindow::on_pointer_enter()
+void RedWindow::on_pointer_enter(int x, int y, unsigned int buttons_state)
{
if (_pointer_in_window) {
return;
}
_pointer_in_window = true;
- _listener.on_pointer_enter();
+ _listener.on_pointer_enter(x, y, buttons_state);
if (_focused && _trace_key_interception) {
do_start_key_interception();
}