diff options
Diffstat (limited to 'src/plugins/platforms/windows/qwindowswindow.h')
-rw-r--r-- | src/plugins/platforms/windows/qwindowswindow.h | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/src/plugins/platforms/windows/qwindowswindow.h b/src/plugins/platforms/windows/qwindowswindow.h index 6d439bce1a..e8c30bd44b 100644 --- a/src/plugins/platforms/windows/qwindowswindow.h +++ b/src/plugins/platforms/windows/qwindowswindow.h @@ -41,7 +41,7 @@ #define QWINDOWSWINDOW_H #include <QtCore/qt_windows.h> -#include <QtCore/QPointer> +#include <QtCore/qpointer.h> #include "qwindowscursor.h" #include <qpa/qplatformwindow.h> @@ -59,7 +59,7 @@ class QDebug; struct QWindowsGeometryHint { - QWindowsGeometryHint() {} + QWindowsGeometryHint() = default; explicit QWindowsGeometryHint(const QWindow *w, const QMargins &customMargins); static QMargins frame(DWORD style, DWORD exStyle); static bool handleCalculateSize(const QMargins &customMargins, const MSG &msg, LRESULT *result); @@ -108,8 +108,8 @@ struct QWindowsWindowData { Qt::WindowFlags flags; QRect geometry; - QMargins frame; // Do not use directly for windows, see FrameDirty. - QMargins customMargins; // User-defined, additional frame for NCCALCSIZE + QMargins fullFrameMargins; // Do not use directly for windows, see FrameDirty. + QMargins customMargins; // User-defined, additional frame for NCCALCSIZE HWND hwnd = 0; bool embedded = false; @@ -120,14 +120,16 @@ struct QWindowsWindowData class QWindowsBaseWindow : public QPlatformWindow { + Q_DISABLE_COPY(QWindowsBaseWindow) public: explicit QWindowsBaseWindow(QWindow *window) : QPlatformWindow(window) {} WId winId() const override { return WId(handle()); } QRect geometry() const override { return geometry_sys(); } - QMargins frameMargins() const override { return frameMargins_sys(); } + QMargins frameMargins() const override { return fullFrameMargins(); } QPoint mapToGlobal(const QPoint &pos) const override; QPoint mapFromGlobal(const QPoint &pos) const override; + virtual QMargins fullFrameMargins() const { return frameMargins_sys(); } using QPlatformWindow::screenForGeometry; @@ -222,7 +224,7 @@ public: }; QWindowsWindow(QWindow *window, const QWindowsWindowData &data); - ~QWindowsWindow(); + ~QWindowsWindow() override; void initialize() override; @@ -251,13 +253,14 @@ public: void raise() override { raise_sys(); } void lower() override { lower_sys(); } - void windowEvent(QEvent *event) override; + bool windowEvent(QEvent *event) override; void propagateSizeHints() override; static bool handleGeometryChangingMessage(MSG *message, const QWindow *qWindow, const QMargins &marginsDp); bool handleGeometryChanging(MSG *message) const; QMargins frameMargins() const override; - void setFrameMargins(const QMargins &newMargins); + QMargins fullFrameMargins() const override; + void setFullFrameMargins(const QMargins &newMargins); void setOpacity(qreal level) override; void setMask(const QRegion ®ion) override; @@ -428,7 +431,7 @@ inline QWindowsWindow *QWindowsWindow::windowsWindowOf(const QWindow *w) void *QWindowsWindow::userDataOf(HWND hwnd) { - return (void *)GetWindowLongPtr(hwnd, GWLP_USERDATA); + return reinterpret_cast<void *>(GetWindowLongPtr(hwnd, GWLP_USERDATA)); } void QWindowsWindow::setUserDataOf(HWND hwnd, void *ud) |