summaryrefslogtreecommitdiff
path: root/include/vcl/wall.hxx
diff options
context:
space:
mode:
authorXisco Fauli <anistenis@gmail.com>2016-05-02 03:16:10 +0200
committerThorsten Behrens <Thorsten.Behrens@CIB.de>2016-05-04 12:23:45 +0000
commitb6f3b2b0ab9404917b7805bb89701c110b468768 (patch)
tree5e5d9ed346a1165c82bcbd20996d04f843598d80 /include/vcl/wall.hxx
parentc3ec547ca9762d42b8864b0872b12f3cd8999b0b (diff)
tdf#62525 vcl: use cow_wrapper for wall
Change-Id: Iaf0b288a4c40f1e471a0a59b6baf17c317810d23 Reviewed-on: https://gerrit.libreoffice.org/24575 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Diffstat (limited to 'include/vcl/wall.hxx')
-rw-r--r--include/vcl/wall.hxx15
1 files changed, 9 insertions, 6 deletions
diff --git a/include/vcl/wall.hxx b/include/vcl/wall.hxx
index f727dc7d27cc..282a1db20b27 100644
--- a/include/vcl/wall.hxx
+++ b/include/vcl/wall.hxx
@@ -23,6 +23,7 @@
#include <tools/color.hxx>
#include <tools/gen.hxx>
#include <vcl/dllapi.h>
+#include <o3tl/cow_wrapper.hxx>
class Gradient;
class BitmapEx;
@@ -48,15 +49,17 @@ enum class WallpaperStyle
class VCL_DLLPUBLIC Wallpaper
{
-private:
- ImplWallpaper* mpImplWallpaper;
+public:
+ typedef o3tl::cow_wrapper<ImplWallpaper> ImplType;
- SAL_DLLPRIVATE void ImplMakeUnique( bool bReleaseCache = true );
- SAL_DLLPRIVATE Gradient ImplGetApplicationGradient() const;
+ SAL_DLLPRIVATE void ImplSetCachedBitmap( BitmapEx& rBmp ) const;
+ SAL_DLLPRIVATE const BitmapEx* ImplGetCachedBitmap() const;
+ SAL_DLLPRIVATE void ImplReleaseCachedBitmap() const;
-public:
- SAL_DLLPRIVATE ImplWallpaper* ImplGetImpWallpaper() const { return mpImplWallpaper; }
+private:
+ ImplType mpImplWallpaper;
+ SAL_DLLPRIVATE Gradient ImplGetApplicationGradient() const;
public:
Wallpaper();