diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/vcl/wall.hxx | 15 |
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(); |