diff options
author | Eirik Aavitsland <eirik.aavitsland@theqtcompany.com> | 2015-12-10 11:01:29 +0100 |
---|---|---|
committer | aavit <eirik.aavitsland@theqtcompany.com> | 2016-01-18 08:33:04 +0000 |
commit | bfd367c6ec37c9d883c51316a149447b63005011 (patch) | |
tree | 362eede2404c6c3377bcb75cbfb9041c3231e653 /src/plugins/platforms/mirclient/qmirclientwindow.h | |
parent | 1172e18c3c180f2f3641e6c29688199eb5c46650 (diff) |
Mirclient: update with upstream changes
Merge in the changes up to revision 306 of the lp:qtubuntu repo.
Change-Id: I55dcb9e06e0a3503d6abe4b0894d5ef5a785b6bb
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
Diffstat (limited to 'src/plugins/platforms/mirclient/qmirclientwindow.h')
-rw-r--r-- | src/plugins/platforms/mirclient/qmirclientwindow.h | 33 |
1 files changed, 19 insertions, 14 deletions
diff --git a/src/plugins/platforms/mirclient/qmirclientwindow.h b/src/plugins/platforms/mirclient/qmirclientwindow.h index f342669544..4ec7879949 100644 --- a/src/plugins/platforms/mirclient/qmirclientwindow.h +++ b/src/plugins/platforms/mirclient/qmirclientwindow.h @@ -40,20 +40,23 @@ #include <qpa/qplatformwindow.h> #include <QSharedPointer> +#include <QMutex> -#include <mir_toolkit/mir_client_library.h> +#include <memory> class QMirClientClipboard; class QMirClientInput; class QMirClientScreen; -class QMirClientWindowPrivate; +class QMirClientSurface; +struct MirConnection; +struct MirSurface; class QMirClientWindow : public QObject, public QPlatformWindow { Q_OBJECT public: - QMirClientWindow(QWindow *w, QSharedPointer<QMirClientClipboard> clipboard, QMirClientScreen *screen, - QMirClientInput *input, MirConnection *mir_connection); + QMirClientWindow(QWindow *w, const QSharedPointer<QMirClientClipboard> &clipboard, QMirClientScreen *screen, + QMirClientInput *input, MirConnection *mirConnection); virtual ~QMirClientWindow(); // QPlatformWindow methods. @@ -61,20 +64,22 @@ public: void setGeometry(const QRect&) override; void setWindowState(Qt::WindowState state) override; void setVisible(bool visible) override; + void setWindowTitle(const QString &title) override; + void propagateSizeHints() override; // New methods. - void* eglSurface() const; - void handleSurfaceResize(int width, int height); - void handleSurfaceFocusChange(bool focused); - void onBuffersSwapped_threadSafe(int newBufferWidth, int newBufferHeight); - - QMirClientWindowPrivate* priv() { return d; } + void *eglSurface() const; + MirSurface *mirSurface() const; + void handleSurfaceResized(int width, int height); + void handleSurfaceFocused(); + void onSwapBuffersDone(); private: - void createWindow(); - void moveResize(const QRect& rect); - - QMirClientWindowPrivate *d; + void updatePanelHeightHack(Qt::WindowState); + mutable QMutex mMutex; + const WId mId; + const QSharedPointer<QMirClientClipboard> mClipboard; + std::unique_ptr<QMirClientSurface> mSurface; }; #endif // QMIRCLIENTWINDOW_H |