From f2311f83be3e7ac586fca4b847af6a06ce5d6964 Mon Sep 17 00:00:00 2001 From: Jake Petroules <jake.petroules@petroules.com> Date: Fri, 5 Jul 2013 12:23:30 -0400 Subject: [PATCH] Add a convenience function for retrieving composition alpha state. Retrieving whether composition is opaque is by itself likely to be more useful to applications than also retrieving the colorization color. For example, this value may be used to determine whether drawing a glow behind text on glass like the OS does for the title bar, is appropriate. Change-Id: Ic48a527727eae303f53831fa8524fdf02acaa2bd Reviewed-by: Ivan Vizir <define-true-false@yandex.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> --- src/winextras/qwinfunctions.cpp | 12 ++++++++++++ src/winextras/qwinfunctions.h | 2 ++ 2 files changed, 14 insertions(+) diff --git a/src/winextras/qwinfunctions.cpp b/src/winextras/qwinfunctions.cpp index 52642f6..3a26551 100644 --- a/src/winextras/qwinfunctions.cpp +++ b/src/winextras/qwinfunctions.cpp @@ -1774,6 +1774,18 @@ void QWinExtras::setCompositionEnabled(bool enabled) qt_DwmEnableComposition(compositionEnabled); } +/*! + \since 5.2 + + Returns whether the colorization color is an opaque blend. + */ +bool QWinExtras::isCompositionOpaque() +{ + bool opaque; + colorizationColor(&opaque); + return opaque; +} + /*! \since 5.2 diff --git a/src/winextras/qwinfunctions.h b/src/winextras/qwinfunctions.h index 5e19e78..c77fea0 100644 --- a/src/winextras/qwinfunctions.h +++ b/src/winextras/qwinfunctions.h @@ -108,6 +108,7 @@ void Q_WINEXTRAS_EXPORT disableBlurBehindWindow(QWindow *window); bool Q_WINEXTRAS_EXPORT isCompositionEnabled(); void Q_WINEXTRAS_EXPORT setCompositionEnabled(bool enabled); +bool Q_WINEXTRAS_EXPORT isCompositionOpaque(); void Q_WINEXTRAS_EXPORT setCurrentProcessExplicitAppUserModelID(const QString &id); @@ -270,6 +271,7 @@ void disableBlurBehindWindow(QWindow *window); bool isCompositionEnabled(); void setCompositionEnabled(bool enabled); +bool isCompositionOpaque(); void setCurrentProcessExplicitAppUserModelID(const QString &id); void markFullscreenWindow(QWindow *, bool fullscreen = true); void taskbarActivateTab(QWindow *); -- GitLab