1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "ui/aura/test/x11_event_sender.h"
9 #include "ui/aura/window_tree_host.h"
10 #include "ui/gfx/geometry/point.h"
15 void PostEventToWindowTreeHost(const XEvent
& xevent
, WindowTreeHost
* host
) {
16 XDisplay
* xdisplay
= gfx::GetXDisplay();
17 XID xwindow
= host
->GetAcceleratedWidget();
18 XEvent event
= xevent
;
19 event
.xany
.display
= xdisplay
;
20 event
.xany
.window
= xwindow
;
30 // The fields used below are in the same place for all of events
31 // above. Using xmotion from XEvent's unions to avoid repeating
33 event
.xmotion
.root
= DefaultRootWindow(event
.xany
.display
);
34 event
.xmotion
.time
= CurrentTime
;
36 gfx::Point
point(event
.xmotion
.x
, event
.xmotion
.y
);
37 host
->ConvertPointToNativeScreen(&point
);
38 event
.xmotion
.x_root
= point
.x();
39 event
.xmotion
.y_root
= point
.y();
44 XSendEvent(xdisplay
, xwindow
, False
, 0, &event
);