diff options
author | Samuel Rødal <samuel.rodal@nokia.com> | 2011-04-27 17:40:16 +0200 |
---|---|---|
committer | Samuel Rødal <samuel.rodal@nokia.com> | 2011-04-28 15:39:52 +0200 |
commit | bbee0db8f99a6a2f3926ca1b4118189fb5a957dc (patch) | |
tree | 5524bf38debffd4bb5fb658e54a04b698e04e0b0 /src/plugins/platforms/xcb/qxcbconnection.h | |
parent | 290573425c3681ebca77b5e46f9b287479eca033 (diff) |
Preliminary QWindow event delivery.
(cherry picked from commit 28a09e668a8125cff680ab9f1e7256e7e4e34158)
Diffstat (limited to 'src/plugins/platforms/xcb/qxcbconnection.h')
-rw-r--r-- | src/plugins/platforms/xcb/qxcbconnection.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/plugins/platforms/xcb/qxcbconnection.h b/src/plugins/platforms/xcb/qxcbconnection.h index 6b5f81047d..cbdfff7e15 100644 --- a/src/plugins/platforms/xcb/qxcbconnection.h +++ b/src/plugins/platforms/xcb/qxcbconnection.h @@ -44,6 +44,7 @@ #include <xcb/xcb.h> +#include <QHash> #include <QList> #include <QObject> #include <QVector> @@ -51,6 +52,9 @@ #define Q_XCB_DEBUG class QXcbScreen; +class QXcbWindow; + +typedef QHash<xcb_window_t, QXcbWindow *> WindowMapper; namespace QXcbAtom { enum Atom { @@ -255,6 +259,9 @@ public: void sync(); void handleXcbError(xcb_generic_error_t *error); + void addWindow(xcb_window_t id, QXcbWindow *window); + void removeWindow(xcb_window_t id); + private slots: void processXcbEvents(); @@ -264,6 +271,7 @@ private: #ifdef XCB_USE_DRI2 void initializeDri2(); #endif + QXcbWindow *platformWindowFromId(xcb_window_t id); xcb_connection_t *m_connection; const xcb_setup_t *m_setup; @@ -303,6 +311,8 @@ private: template <typename cookie_t> friend cookie_t q_xcb_call_template(const cookie_t &cookie, QXcbConnection *connection, const char *file, int line); #endif + + WindowMapper m_mapper; }; #define DISPLAY_FROM_XCB(object) ((Display *)(object->connection()->xlib_display())) |