Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(130)

Side by Side Diff: ui/events/platform/x11/x11_event_source.h

Issue 244093002: x11: Make the event-source work with both glib and libevent message-pumps. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ui/events/events.gyp ('k') | ui/events/platform/x11/x11_event_source.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef UI_EVENTS_PLATFORM_X11_X11_EVENT_SOURCE_H_ 5 #ifndef UI_EVENTS_PLATFORM_X11_X11_EVENT_SOURCE_H_
6 #define UI_EVENTS_PLATFORM_X11_X11_EVENT_SOURCE_H_ 6 #define UI_EVENTS_PLATFORM_X11_X11_EVENT_SOURCE_H_
7 7
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "ui/events/events_export.h" 9 #include "ui/events/events_export.h"
10 #include "ui/events/platform/platform_event_source.h" 10 #include "ui/events/platform/platform_event_source.h"
(...skipping 23 matching lines...) Expand all
34 // xserver that |w| has been mapped; StructureNotifyMask events on |w| are 34 // xserver that |w| has been mapped; StructureNotifyMask events on |w| are
35 // pulled out from the queue and dispatched out of order. 35 // pulled out from the queue and dispatched out of order.
36 // 36 //
37 // For those that know X11, this is really a wrapper around XWindowEvent 37 // For those that know X11, this is really a wrapper around XWindowEvent
38 // which still makes sure the preempted event is dispatched instead of 38 // which still makes sure the preempted event is dispatched instead of
39 // dropped on the floor. This method exists because mapping a window is 39 // dropped on the floor. This method exists because mapping a window is
40 // asynchronous (and we receive an XEvent when mapped), while there are also 40 // asynchronous (and we receive an XEvent when mapped), while there are also
41 // functions which require a mapped window. 41 // functions which require a mapped window.
42 void BlockUntilWindowMapped(XID window); 42 void BlockUntilWindowMapped(XID window);
43 43
44 protected:
45 XDisplay* display() { return display_; }
46
44 private: 47 private:
45 // Initializes the glib event source for X.
46 void InitXSource();
47
48 // PlatformEventSource: 48 // PlatformEventSource:
49 virtual uint32_t DispatchEvent(XEvent* xevent) OVERRIDE; 49 virtual uint32_t DispatchEvent(XEvent* xevent) OVERRIDE;
50 50
51 // The connection to the X11 server used to receive the events. 51 // The connection to the X11 server used to receive the events.
52 XDisplay* display_; 52 XDisplay* display_;
53 53
54 // The GLib event source for X events.
55 GSource* x_source_;
56
57 // The poll attached to |x_source_|.
58 scoped_ptr<GPollFD> x_poll_;
59
60 DISALLOW_COPY_AND_ASSIGN(X11EventSource); 54 DISALLOW_COPY_AND_ASSIGN(X11EventSource);
61 }; 55 };
62 56
63 } // namespace ui 57 } // namespace ui
64 58
65 #endif // UI_EVENTS_PLATFORM_X11_X11_EVENT_SOURCE_H_ 59 #endif // UI_EVENTS_PLATFORM_X11_X11_EVENT_SOURCE_H_
OLDNEW
« no previous file with comments | « ui/events/events.gyp ('k') | ui/events/platform/x11/x11_event_source.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698