diff options
author | Xisco Fauli <anistenis@gmail.com> | 2016-05-02 03:16:10 +0200 |
---|---|---|
committer | Thorsten Behrens <Thorsten.Behrens@CIB.de> | 2016-05-04 12:23:45 +0000 |
commit | b6f3b2b0ab9404917b7805bb89701c110b468768 (patch) | |
tree | 5e5d9ed346a1165c82bcbd20996d04f843598d80 /include | |
parent | c3ec547ca9762d42b8864b0872b12f3cd8999b0b (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')
-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(); |