summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--basctl/source/basicide/baside2.hxx2
-rw-r--r--basctl/source/basicide/baside2b.cxx2
-rw-r--r--filter/source/msfilter/mstoolbar.cxx2
-rw-r--r--include/svx/dialcontrol.hxx2
-rw-r--r--include/vcl/outdev.hxx1
-rw-r--r--include/vcl/print.hxx2
-rw-r--r--include/vcl/window.hxx2
-rw-r--r--starmath/source/tmpdevice.cxx4
-rw-r--r--svx/source/dialog/dialcontrol.cxx2
-rw-r--r--toolkit/source/awt/vclxwindow.cxx2
-rw-r--r--vcl/qa/cppunit/outdev.cxx22
-rw-r--r--vcl/source/outdev/wallpaper.cxx5
-rw-r--r--vcl/source/window/paint.cxx2
-rw-r--r--vcl/source/window/window.cxx7
14 files changed, 46 insertions, 11 deletions
diff --git a/basctl/source/basicide/baside2.hxx b/basctl/source/basicide/baside2.hxx
index 7fd23faa304f..dadcf639c666 100644
--- a/basctl/source/basicide/baside2.hxx
+++ b/basctl/source/basicide/baside2.hxx
@@ -418,7 +418,7 @@ public:
public:
void BasicAddWatch (OUString const&);
void BasicRemoveWatch ();
- Color const & GetBackgroundColor () const { return aSyntaxColors.GetBackgroundColor(); }
+ Color const & GetSyntaxBackgroundColor () const { return aSyntaxColors.GetBackgroundColor(); }
Color const & GetFontColor () const { return aSyntaxColors.GetFontColor(); }
Color const & GetSyntaxColor (TokenType eType) const { return aSyntaxColors.GetColor(eType); }
diff --git a/basctl/source/basicide/baside2b.cxx b/basctl/source/basicide/baside2b.cxx
index 4421e78cb6ff..57c18788319f 100644
--- a/basctl/source/basicide/baside2b.cxx
+++ b/basctl/source/basicide/baside2b.cxx
@@ -235,7 +235,7 @@ EditorWindow::EditorWindow (vcl::Window* pParent, ModulWindow* pModulWindow) :
bDelayHighlight(true),
pCodeCompleteWnd(VclPtr<CodeCompleteWindow>::Create(this))
{
- SetBackground(Wallpaper(rModulWindow.GetLayout().GetBackgroundColor()));
+ SetBackground(Wallpaper(rModulWindow.GetLayout().GetSyntaxBackgroundColor()));
SetPointer( PointerStyle::Text );
SetHelpId( HID_BASICIDE_EDITORWINDOW );
diff --git a/filter/source/msfilter/mstoolbar.cxx b/filter/source/msfilter/mstoolbar.cxx
index a17baaff276b..d8ddc076caec 100644
--- a/filter/source/msfilter/mstoolbar.cxx
+++ b/filter/source/msfilter/mstoolbar.cxx
@@ -65,7 +65,7 @@ void CustomToolBarImportHelper::applyIcons()
sal_uInt16 nColor = ui::ImageType::COLOR_NORMAL;
vcl::Window* topwin = Application::GetActiveTopWindow();
- if ( topwin != nullptr && topwin->GetDisplayBackground().GetColor().IsDark() )
+ if ( topwin != nullptr && topwin->GetBackgroundColor().IsDark() )
nColor = css::ui::ImageType::COLOR_HIGHCONTRAST;
ScaleImage( images[ 0 ], 16 );
diff --git a/include/svx/dialcontrol.hxx b/include/svx/dialcontrol.hxx
index c15e0ae92e3c..53976b86c606 100644
--- a/include/svx/dialcontrol.hxx
+++ b/include/svx/dialcontrol.hxx
@@ -43,9 +43,9 @@ public:
void DrawBackground( const Size& rSize, bool bEnabled );
void DrawBackground();
void DrawElements( const OUString& rText, sal_Int32 nAngle );
+ Color GetBackgroundColor() const override;
private:
- const Color& GetBackgroundColor() const;
const Color& GetTextColor() const;
const Color& GetScaleLineColor() const;
const Color& GetButtonLineColor() const;
diff --git a/include/vcl/outdev.hxx b/include/vcl/outdev.hxx
index 8d385e003dd2..cac19b490fa3 100644
--- a/include/vcl/outdev.hxx
+++ b/include/vcl/outdev.hxx
@@ -629,6 +629,7 @@ public:
const Point& rPos, const Size& rSize, const Size& rBackgroundSize) const;
const Wallpaper& GetBackground() const { return maBackground; }
+ virtual Color GetBackgroundColor() const;
bool IsBackground() const { return mbBackground; }
void SetFont( const vcl::Font& rNewFont );
diff --git a/include/vcl/print.hxx b/include/vcl/print.hxx
index 957d97b49a61..854c08d96660 100644
--- a/include/vcl/print.hxx
+++ b/include/vcl/print.hxx
@@ -289,6 +289,8 @@ public:
PrinterSetupMode eMode = PrinterSetupMode::DocumentGlobal);
bool SetPrinterProps( const Printer* pPrinter );
+ Color GetBackgroundColor() const override { return COL_WHITE; }
+
/** SetPrinterOptions is used internally only now
in earlier times it was used only to set the options loaded directly from the configuration
diff --git a/include/vcl/window.hxx b/include/vcl/window.hxx
index ce8669895fe5..a93b1da700a8 100644
--- a/include/vcl/window.hxx
+++ b/include/vcl/window.hxx
@@ -764,6 +764,8 @@ public:
::OutputDevice const* GetOutDev() const;
::OutputDevice* GetOutDev();
+ Color GetBackgroundColor() const override;
+
virtual void EnableRTL ( bool bEnable = true ) override;
virtual void MouseMove( const MouseEvent& rMEvt );
virtual void MouseButtonDown( const MouseEvent& rMEvt );
diff --git a/starmath/source/tmpdevice.cxx b/starmath/source/tmpdevice.cxx
index d69dc0be2c89..778d9196ad35 100644
--- a/starmath/source/tmpdevice.cxx
+++ b/starmath/source/tmpdevice.cxx
@@ -54,9 +54,7 @@ Color SmTmpDevice::Impl_GetColor( const Color& rColor )
nNewCol = COL_BLACK;
else
{
- Color aBgCol( rOutDev.GetBackground().GetColor() );
- if (OUTDEV_WINDOW == rOutDev.GetOutDevType())
- aBgCol = static_cast<vcl::Window &>(rOutDev).GetDisplayBackground().GetColor();
+ Color aBgCol(rOutDev.GetBackgroundColor());
nNewCol = SM_MOD()->GetColorConfig().GetColorValue(svtools::FONTCOLOR).nColor;
diff --git a/svx/source/dialog/dialcontrol.cxx b/svx/source/dialog/dialcontrol.cxx
index 2d5062f4e441..50f65ed2a0be 100644
--- a/svx/source/dialog/dialcontrol.cxx
+++ b/svx/source/dialog/dialcontrol.cxx
@@ -111,7 +111,7 @@ void DialControlBmp::DrawElements( const OUString& rText, sal_Int32 nAngle )
DrawEllipse( tools::Rectangle( nX - nSize, nY - nSize, nX + nSize, nY + nSize ) );
}
-const Color& DialControlBmp::GetBackgroundColor() const
+Color DialControlBmp::GetBackgroundColor() const
{
return GetSettings().GetStyleSettings().GetDialogColor();
}
diff --git a/toolkit/source/awt/vclxwindow.cxx b/toolkit/source/awt/vclxwindow.cxx
index 04c8cffc2a2b..d632fc13036b 100644
--- a/toolkit/source/awt/vclxwindow.cxx
+++ b/toolkit/source/awt/vclxwindow.cxx
@@ -2012,7 +2012,7 @@ css::uno::Any VCLXWindow::getProperty( const OUString& PropertyName )
aProp <<= GetWindow()->GetControlBackground();
break;
case BASEPROPERTY_DISPLAYBACKGROUNDCOLOR:
- aProp <<= GetWindow()->GetDisplayBackground().GetColor();
+ aProp <<= GetWindow()->GetBackgroundColor();
break;
case BASEPROPERTY_FONTRELIEF:
aProp <<= static_cast<sal_Int16>(GetWindow()->GetControlFont().GetRelief());
diff --git a/vcl/qa/cppunit/outdev.cxx b/vcl/qa/cppunit/outdev.cxx
index 45bae92ca58c..b91248078ab8 100644
--- a/vcl/qa/cppunit/outdev.cxx
+++ b/vcl/qa/cppunit/outdev.cxx
@@ -10,6 +10,8 @@
#include <test/bootstrapfixture.hxx>
#include <vcl/virdev.hxx>
+#include <vcl/print.hxx>
+#include <vcl/window.hxx>
#include <vcl/bitmapaccess.hxx>
#include <basegfx/matrix/b2dhommatrix.hxx>
@@ -21,18 +23,38 @@ public:
void testVirtualDevice();
void testUseAfterDispose();
+ void testPrinterBackgroundColor();
+ void testWindowBackgroundColor();
CPPUNIT_TEST_SUITE(VclOutdevTest);
CPPUNIT_TEST(testVirtualDevice);
CPPUNIT_TEST(testUseAfterDispose);
+ CPPUNIT_TEST(testPrinterBackgroundColor);
+ CPPUNIT_TEST(testWindowBackgroundColor);
CPPUNIT_TEST_SUITE_END();
};
+void VclOutdevTest::testPrinterBackgroundColor()
+{
+ ScopedVclPtrInstance<Printer> pPrinter;
+ CPPUNIT_ASSERT_EQUAL(pPrinter->GetBackgroundColor(), COL_WHITE);
+}
+
+void VclOutdevTest::testWindowBackgroundColor()
+{
+ ScopedVclPtrInstance<vcl::Window> pWindow(nullptr, WB_APP | WB_STDWORK);
+ pWindow->SetBackground(Wallpaper(COL_WHITE));
+ CPPUNIT_ASSERT_EQUAL(pWindow->GetBackgroundColor(), COL_WHITE);
+}
+
void VclOutdevTest::testVirtualDevice()
{
ScopedVclPtrInstance< VirtualDevice > pVDev;
pVDev->SetOutputSizePixel(Size(32,32));
pVDev->SetBackground(Wallpaper(COL_WHITE));
+
+ CPPUNIT_ASSERT_EQUAL(pVDev->GetBackgroundColor(), COL_WHITE);
+
pVDev->Erase();
pVDev->DrawPixel(Point(1,2),COL_BLUE);
pVDev->DrawPixel(Point(31,30),COL_RED);
diff --git a/vcl/source/outdev/wallpaper.cxx b/vcl/source/outdev/wallpaper.cxx
index 71cd67017bcd..d2a5f1003940 100644
--- a/vcl/source/outdev/wallpaper.cxx
+++ b/vcl/source/outdev/wallpaper.cxx
@@ -27,6 +27,11 @@
#include <wall2.hxx>
+Color OutputDevice::GetBackgroundColor() const
+{
+ return GetBackground().GetColor();
+}
+
void OutputDevice::DrawWallpaper( const tools::Rectangle& rRect,
const Wallpaper& rWallpaper )
{
diff --git a/vcl/source/window/paint.cxx b/vcl/source/window/paint.cxx
index 34e76fa6c316..8bdbc5a3b79f 100644
--- a/vcl/source/window/paint.cxx
+++ b/vcl/source/window/paint.cxx
@@ -333,7 +333,7 @@ void RenderTools::DrawSelectionBackground(vcl::RenderContext& rRenderContext, vc
bool bBright = ( rStyles.GetFaceColor() == COL_WHITE );
int c1 = aSelectionBorderColor.GetLuminance();
- int c2 = rWindow.GetDisplayBackground().GetColor().GetLuminance();
+ int c2 = rWindow.GetBackgroundColor().GetLuminance();
if (!bDark && !bBright && std::abs(c2 - c1) < (pPaintColor ? 40 : 75))
{
diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx
index 88ea0087a1f8..96b066ee23a0 100644
--- a/vcl/source/window/window.cxx
+++ b/vcl/source/window/window.cxx
@@ -585,6 +585,11 @@ Window::~Window()
return this;
}
+Color Window::GetBackgroundColor() const
+{
+ return GetDisplayBackground().GetColor();
+}
+
} /* namespace vcl */
WindowImpl::WindowImpl( WindowType nType )
@@ -3320,7 +3325,7 @@ void Window::DrawSelectionBackground( const tools::Rectangle& rRect,
bool bBright = ( rStyles.GetFaceColor() == COL_WHITE );
int c1 = aSelectionBorderCol.GetLuminance();
- int c2 = GetDisplayBackground().GetColor().GetLuminance();
+ int c2 = GetBackgroundColor().GetLuminance();
if( !bDark && !bBright && abs( c2-c1 ) < 75 )
{