Chromium Code Reviews| Index: ui/base/x/events_x.cc |
| diff --git a/ui/base/x/events_x.cc b/ui/base/x/events_x.cc |
| index 1a0a1467d4629aee66eb62e1beff18fa887d2e61..8dec811405639bd912aab2b309a2026e00f92663 100644 |
| --- a/ui/base/x/events_x.cc |
| +++ b/ui/base/x/events_x.cc |
| @@ -779,6 +779,28 @@ gfx::Point EventLocationFromNative(const base::NativeEvent& native_event) { |
| return gfx::Point(); |
| } |
| +gfx::Point EventRootLocationFromNative(const base::NativeEvent& native_event) { |
| + switch (native_event->type) { |
| + case ButtonPress: |
| + case ButtonRelease: |
| + return gfx::Point(native_event->xbutton.x_root, |
| + native_event->xbutton.y_root); |
| + case MotionNotify: |
| + return gfx::Point(native_event->xmotion.x_root, |
| + native_event->xmotion.y_root); |
| + case GenericEvent: { |
| + XIDeviceEvent* xievent = |
| + static_cast<XIDeviceEvent*>(native_event->xcookie.data); |
| + |
| + // TODO(erg): This is significantly more simple than the above. Does this |
| + // not handle an important case? |
|
Elliot Glaysher
2012/05/09 19:39:18
attn derat/sadrul: this appears to work, but I don
Daniel Erat
2012/05/09 20:58:27
I don't think that you need to worry about valuato
|
| + return gfx::Point(xievent->root_x, xievent->root_y); |
| + } |
| + } |
| + |
| + return gfx::Point(); |
| +} |
| + |
| int EventButtonFromNative(const base::NativeEvent& native_event) { |
| CHECK_EQ(GenericEvent, native_event->type); |
| XIDeviceEvent* xievent = |