diff options
author | Caolán McNamara <caolanm@redhat.com> | 2018-03-08 17:35:21 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2018-03-08 21:33:21 +0100 |
commit | b18e2d80d7ed102645f7d6df75f521cd584c8a71 (patch) | |
tree | 3f996b238c4a0d41691e7d0aa2857ab575b974d5 /cui | |
parent | 598cf9f76176c6bef00402755d0e941a036c6a2d (diff) |
color picker behaviour changed
since...
commit db42098d99bd8648fcd7b6f669e3e5ad4142670a
Date: Fri Feb 9 10:47:48 2018 +0200
use VirtualDevice in ColorFieldControl
as part of moving use of BitmapWriteAccess inside of vcl/
changing the radiobutton selected used to change the
contents of the color picker widget, after that point it
got locked to the original contents.
Change-Id: I94c730f1868efc388cba7720364bc04a666d4fbd
Reviewed-on: https://gerrit.libreoffice.org/50969
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'cui')
-rw-r--r-- | cui/source/dialogs/colorpicker.cxx | 46 |
1 files changed, 23 insertions, 23 deletions
diff --git a/cui/source/dialogs/colorpicker.cxx b/cui/source/dialogs/colorpicker.cxx index 2619fa1c6f3a..3557e1401f54 100644 --- a/cui/source/dialogs/colorpicker.cxx +++ b/cui/source/dialogs/colorpicker.cxx @@ -265,41 +265,41 @@ void ColorFieldControl::UpdateBitmap() { const Size aSize(GetOutputSizePixel()); + if (mxBitmap && mxBitmap->GetOutputSizePixel() != aSize) + mxBitmap.disposeAndClear(); + const sal_Int32 nWidth = aSize.Width(); const sal_Int32 nHeight = aSize.Height(); if (nWidth == 0 || nHeight == 0) return; - if (mxBitmap && mxBitmap->GetOutputSizePixel() == aSize) - return; - - mxBitmap.disposeAndClear(); - mxBitmap = VclPtr<VirtualDevice>::Create(); - mxBitmap->SetOutputSizePixel(aSize); + if (!mxBitmap) + { + mxBitmap = VclPtr<VirtualDevice>::Create(); + mxBitmap->SetOutputSizePixel(aSize); - maRGB_Horiz.resize( nWidth ); - maGrad_Horiz.resize( nWidth ); - maPercent_Horiz.resize( nWidth ); + maRGB_Horiz.resize( nWidth ); + maGrad_Horiz.resize( nWidth ); + maPercent_Horiz.resize( nWidth ); - sal_uInt8* pRGB = maRGB_Horiz.data(); - sal_uInt16* pGrad = maGrad_Horiz.data(); - sal_uInt16* pPercent = maPercent_Horiz.data(); + sal_uInt8* pRGB = maRGB_Horiz.data(); + sal_uInt16* pGrad = maGrad_Horiz.data(); + sal_uInt16* pPercent = maPercent_Horiz.data(); - for( sal_Int32 x = 0; x < nWidth; x++ ) - { - *pRGB++ = static_cast<sal_uInt8>((x * 256) / nWidth); - *pGrad++ = static_cast<sal_uInt16>((x * 359) / nWidth); - *pPercent++ = static_cast<sal_uInt16>((x * 100) / nWidth); - } + for( sal_Int32 x = 0; x < nWidth; x++ ) + { + *pRGB++ = static_cast<sal_uInt8>((x * 256) / nWidth); + *pGrad++ = static_cast<sal_uInt16>((x * 359) / nWidth); + *pPercent++ = static_cast<sal_uInt16>((x * 100) / nWidth); + } - maRGB_Vert.resize(nHeight); - maPercent_Vert.resize(nHeight); + maRGB_Vert.resize(nHeight); + maPercent_Vert.resize(nHeight); - pRGB = maRGB_Vert.data(); - pPercent = maPercent_Vert.data(); + pRGB = maRGB_Vert.data(); + pPercent = maPercent_Vert.data(); - { sal_Int32 y = nHeight; while (y--) { |