summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-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();