summaryrefslogtreecommitdiff
path: root/drawinglayer/source/attribute/sdrfillattribute.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'drawinglayer/source/attribute/sdrfillattribute.cxx')
-rw-r--r--drawinglayer/source/attribute/sdrfillattribute.cxx45
1 files changed, 28 insertions, 17 deletions
diff --git a/drawinglayer/source/attribute/sdrfillattribute.cxx b/drawinglayer/source/attribute/sdrfillattribute.cxx
index 393df42637c5..8cee8f98d1e9 100644
--- a/drawinglayer/source/attribute/sdrfillattribute.cxx
+++ b/drawinglayer/source/attribute/sdrfillattribute.cxx
@@ -22,7 +22,7 @@
#include <drawinglayer/attribute/sdrfillgraphicattribute.hxx>
#include <drawinglayer/attribute/fillhatchattribute.hxx>
#include <drawinglayer/attribute/fillgradientattribute.hxx>
-#include <rtl/instance.hxx>
+#include <utility>
namespace drawinglayer::attribute
@@ -41,23 +41,19 @@ namespace drawinglayer::attribute
ImpSdrFillAttribute(
double fTransparence,
const basegfx::BColor& rColor,
- const FillGradientAttribute& rGradient,
- const FillHatchAttribute& rHatch,
- const SdrFillGraphicAttribute& rFillGraphic)
+ FillGradientAttribute aGradient,
+ FillHatchAttribute aHatch,
+ SdrFillGraphicAttribute aFillGraphic)
: mfTransparence(fTransparence),
maColor(rColor),
- maGradient(rGradient),
- maHatch(rHatch),
- maFillGraphic(rFillGraphic)
+ maGradient(std::move(aGradient)),
+ maHatch(std::move(aHatch)),
+ maFillGraphic(std::move(aFillGraphic))
{
}
ImpSdrFillAttribute()
- : mfTransparence(0.0),
- maColor(basegfx::BColor()),
- maGradient(FillGradientAttribute()),
- maHatch(FillHatchAttribute()),
- maFillGraphic(SdrFillGraphicAttribute())
+ : mfTransparence(0.0)
{
}
@@ -81,8 +77,16 @@ namespace drawinglayer::attribute
namespace
{
- struct theGlobalDefault :
- public rtl::Static< SdrFillAttribute::ImplType, theGlobalDefault > {};
+ SdrFillAttribute::ImplType& theGlobalDefault()
+ {
+ static SdrFillAttribute::ImplType SINGLETON;
+ return SINGLETON;
+ }
+ SdrFillAttribute::ImplType& slideBackgroundFillGlobalDefault()
+ {
+ static SdrFillAttribute::ImplType SINGLETON2;
+ return SINGLETON2;
+ }
}
SdrFillAttribute::SdrFillAttribute(
@@ -96,8 +100,10 @@ namespace drawinglayer::attribute
{
}
- SdrFillAttribute::SdrFillAttribute()
- : mpSdrFillAttribute(theGlobalDefault::get())
+ SdrFillAttribute::SdrFillAttribute(bool bSlideBackgroundFill)
+ : mpSdrFillAttribute(bSlideBackgroundFill
+ ? slideBackgroundFillGlobalDefault()
+ : theGlobalDefault())
{
}
@@ -109,7 +115,12 @@ namespace drawinglayer::attribute
bool SdrFillAttribute::isDefault() const
{
- return mpSdrFillAttribute.same_object(theGlobalDefault::get());
+ return mpSdrFillAttribute.same_object(theGlobalDefault());
+ }
+
+ bool SdrFillAttribute::isSlideBackgroundFill() const
+ {
+ return mpSdrFillAttribute.same_object(slideBackgroundFillGlobalDefault());
}
SdrFillAttribute& SdrFillAttribute::operator=(const SdrFillAttribute&) = default;