diff options
author | Noel <noel.grandin@collabora.co.uk> | 2021-01-15 14:49:12 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2021-01-16 10:07:07 +0100 |
commit | 63a68064bb33f180b8a231f7524d99405d910226 (patch) | |
tree | 7ecf05b057c5ca4d80a48af045998a4b34484561 /UnoControls | |
parent | d534a4c7b45ff254b339e806c6a11f13d9ff0043 (diff) |
make the Color constructors explicitly specify transparency
to reduce the churn, we leave the existing constructor in place,
and add a clang plugin to detect when the value passed to the
existing constructor may contain transparency/alpha data.
i.e. we leave expressions like Color(0xffffff) alone, but
warn about any non-constant expression, and any expression
like Color(0xff000000)
Change-Id: Id2ce58e08882d9b7bd0b9f88eca97359dcdbcc8c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109362
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'UnoControls')
-rw-r--r-- | UnoControls/source/controls/progressbar.cxx | 4 | ||||
-rw-r--r-- | UnoControls/source/inc/progressbar.hxx | 8 | ||||
-rw-r--r-- | UnoControls/source/inc/progressmonitor.hxx | 4 | ||||
-rw-r--r-- | UnoControls/source/inc/statusindicator.hxx | 6 |
4 files changed, 11 insertions, 11 deletions
diff --git a/UnoControls/source/controls/progressbar.cxx b/UnoControls/source/controls/progressbar.cxx index f88aca35034b..a2a8222c0529 100644 --- a/UnoControls/source/controls/progressbar.cxx +++ b/UnoControls/source/controls/progressbar.cxx @@ -140,7 +140,7 @@ void SAL_CALL ProgressBar::setForegroundColor( sal_Int32 nColor ) MutexGuard aGuard (m_aMutex); // Safe color for later use. - m_nForegroundColor = Color(nColor); + m_nForegroundColor = Color(ColorTransparency, nColor); // Repaint control impl_paint ( 0, 0, impl_getGraphicsPeer() ); @@ -154,7 +154,7 @@ void SAL_CALL ProgressBar::setBackgroundColor ( sal_Int32 nColor ) MutexGuard aGuard (m_aMutex); // Safe color for later use. - m_nBackgroundColor = Color(nColor); + m_nBackgroundColor = Color(ColorTransparency, nColor); // Repaint control impl_paint ( 0, 0, impl_getGraphicsPeer() ); diff --git a/UnoControls/source/inc/progressbar.hxx b/UnoControls/source/inc/progressbar.hxx index 1f735286377b..f327b453b19b 100644 --- a/UnoControls/source/inc/progressbar.hxx +++ b/UnoControls/source/inc/progressbar.hxx @@ -30,14 +30,14 @@ namespace unocontrols { #define PROGRESSBAR_FREESPACE 4 #define PROGRESSBAR_DEFAULT_HORIZONTAL true #define PROGRESSBAR_DEFAULT_BLOCKDIMENSION Size(1,1) -#define PROGRESSBAR_DEFAULT_BACKGROUNDCOLOR sal_Int32(Color( 0x00, 0xC0, 0xC0, 0xC0 )) // lightgray -#define PROGRESSBAR_DEFAULT_FOREGROUNDCOLOR sal_Int32(Color( 0x00, 0x00, 0x00, 0x80 )) // blue +#define PROGRESSBAR_DEFAULT_BACKGROUNDCOLOR sal_Int32(Color( 0xC0, 0xC0, 0xC0 )) // lightgray +#define PROGRESSBAR_DEFAULT_FOREGROUNDCOLOR sal_Int32(Color( 0x00, 0x00, 0x80 )) // blue #define PROGRESSBAR_DEFAULT_MINRANGE INT_MIN #define PROGRESSBAR_DEFAULT_MAXRANGE INT_MAX #define PROGRESSBAR_DEFAULT_BLOCKVALUE 1 #define PROGRESSBAR_DEFAULT_VALUE PROGRESSBAR_DEFAULT_MINRANGE -#define PROGRESSBAR_LINECOLOR_BRIGHT sal_Int32(Color( 0x00, 0xFF, 0xFF, 0xFF )) // white -#define PROGRESSBAR_LINECOLOR_SHADOW sal_Int32(Color( 0x00, 0x00, 0x00, 0x00 )) // black +#define PROGRESSBAR_LINECOLOR_BRIGHT sal_Int32(Color( 0xFF, 0xFF, 0xFF )) // white +#define PROGRESSBAR_LINECOLOR_SHADOW sal_Int32(Color( 0x00, 0x00, 0x00 )) // black class ProgressBar final : public css::awt::XControlModel , public css::awt::XProgressBar diff --git a/UnoControls/source/inc/progressmonitor.hxx b/UnoControls/source/inc/progressmonitor.hxx index 7be8056396f3..3fe17c578751 100644 --- a/UnoControls/source/inc/progressmonitor.hxx +++ b/UnoControls/source/inc/progressmonitor.hxx @@ -39,8 +39,8 @@ class ProgressBar; #define PROGRESSMONITOR_FREEBORDER 10 // border around and between the controls #define PROGRESSMONITOR_DEFAULT_TOPIC "" #define PROGRESSMONITOR_DEFAULT_TEXT "" -#define PROGRESSMONITOR_LINECOLOR_BRIGHT sal_Int32(Color( 0x00, 0xFF, 0xFF, 0xFF )) // white -#define PROGRESSMONITOR_LINECOLOR_SHADOW sal_Int32(Color( 0x00, 0x00, 0x00, 0x00 )) // black +#define PROGRESSMONITOR_LINECOLOR_BRIGHT sal_Int32(Color( 0xFF, 0xFF, 0xFF )) // white +#define PROGRESSMONITOR_LINECOLOR_SHADOW sal_Int32(Color( 0x00, 0x00, 0x00 )) // black #define PROGRESSMONITOR_DEFAULT_WIDTH 350 #define PROGRESSMONITOR_DEFAULT_HEIGHT 100 diff --git a/UnoControls/source/inc/statusindicator.hxx b/UnoControls/source/inc/statusindicator.hxx index f47a52cbd814..14ac4e03b8d9 100644 --- a/UnoControls/source/inc/statusindicator.hxx +++ b/UnoControls/source/inc/statusindicator.hxx @@ -36,9 +36,9 @@ namespace unocontrols { class ProgressBar; #define STATUSINDICATOR_FREEBORDER 5 // border around and between the controls -#define STATUSINDICATOR_BACKGROUNDCOLOR sal_Int32(Color( 0x00, 0xC0, 0xC0, 0xC0 )) // lightgray -#define STATUSINDICATOR_LINECOLOR_BRIGHT sal_Int32(Color( 0x00, 0xFF, 0xFF, 0xFF )) // white -#define STATUSINDICATOR_LINECOLOR_SHADOW sal_Int32(Color( 0x00, 0x00, 0x00, 0x00 )) // black +#define STATUSINDICATOR_BACKGROUNDCOLOR sal_Int32(Color( 0xC0, 0xC0, 0xC0 )) // lightgray +#define STATUSINDICATOR_LINECOLOR_BRIGHT sal_Int32(Color( 0xFF, 0xFF, 0xFF )) // white +#define STATUSINDICATOR_LINECOLOR_SHADOW sal_Int32(Color( 0x00, 0x00, 0x00 )) // black #define STATUSINDICATOR_DEFAULT_WIDTH 300 #define STATUSINDICATOR_DEFAULT_HEIGHT 25 |