vcl/headless/BitmapHelper.cxx     |   62 ++++++++++++++++++++++++++++++++++++++
 vcl/headless/CairoCommon.cxx      |   28 -----------------
 vcl/headless/svpgdi.cxx           |   55 +--------------------------------
 vcl/inc/headless/BitmapHelper.hxx |   28 +++++++++++++++++
 vcl/inc/headless/CairoCommon.hxx  |    2 -
 5 files changed, 92 insertions(+), 83 deletions(-)

New commits:
commit 5a7cdbfbd3cbf3ea92c38e78a3b159fdffed7740
Author:     Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk>
AuthorDate: Wed Dec 29 15:38:28 2021 +0900
Commit:     Tomaž Vajngerl <qui...@gmail.com>
CommitDate: Wed Jan 5 04:35:15 2022 +0100

    vcl: move SystemDependentData classes to BitmapHelper
    
    SystemDependentData_BitmapHelper, SystemDependentData_MaskHelper
    to BitmapHelper.{hxx,cxx} files.
    
    Change-Id: I23f3b4badd8e262c442e5c6387876b078f22fd73
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127926
    Tested-by: Jenkins
    Reviewed-by: Tomaž Vajngerl <qui...@gmail.com>

diff --git a/vcl/headless/BitmapHelper.cxx b/vcl/headless/BitmapHelper.cxx
index 359db01bb45d..8d56631a4fee 100644
--- a/vcl/headless/BitmapHelper.cxx
+++ b/vcl/headless/BitmapHelper.cxx
@@ -121,4 +121,66 @@ MaskHelper::MaskHelper(const SalBitmap& rAlphaBitmap)
                                                            
pMaskBuf->mnScanlineSize));
     }
 }
+
+namespace
+{
+// check for env var that decides for using downscale pattern
+const char* pDisableDownScale(getenv("SAL_DISABLE_CAIRO_DOWNSCALE"));
+bool bDisableDownScale(nullptr != pDisableDownScale);
+
+sal_Int64 estimateUsageInBytesForSurfaceHelper(const SurfaceHelper* pHelper)
+{
+    sal_Int64 nRetval(0);
+
+    if (nullptr != pHelper)
+    {
+        cairo_surface_t* pSurface(pHelper->getSurface());
+
+        if (pSurface)
+        {
+            const tools::Long 
nStride(cairo_image_surface_get_stride(pSurface));
+            const tools::Long 
nHeight(cairo_image_surface_get_height(pSurface));
+
+            nRetval = nStride * nHeight;
+
+            // if we do downscale, size will grow by 1/4 + 1/16 + 1/32 + ...,
+            // rough estimation just multiplies by 1.25, should be good enough
+            // for estimation of buffer survival time
+            if (!bDisableDownScale)
+            {
+                nRetval = (nRetval * 5) / 4;
+            }
+        }
+    }
+
+    return nRetval;
+}
+
+} // end anonymous namespace
+
+SystemDependentData_BitmapHelper::SystemDependentData_BitmapHelper(
+    basegfx::SystemDependentDataManager& rSystemDependentDataManager,
+    const std::shared_ptr<BitmapHelper>& rBitmapHelper)
+    : basegfx::SystemDependentData(rSystemDependentDataManager)
+    , maBitmapHelper(rBitmapHelper)
+{
+}
+
+sal_Int64 SystemDependentData_BitmapHelper::estimateUsageInBytes() const
+{
+    return estimateUsageInBytesForSurfaceHelper(maBitmapHelper.get());
+}
+
+SystemDependentData_MaskHelper::SystemDependentData_MaskHelper(
+    basegfx::SystemDependentDataManager& rSystemDependentDataManager,
+    const std::shared_ptr<MaskHelper>& rMaskHelper)
+    : basegfx::SystemDependentData(rSystemDependentDataManager)
+    , maMaskHelper(rMaskHelper)
+{
+}
+
+sal_Int64 SystemDependentData_MaskHelper::estimateUsageInBytes() const
+{
+    return estimateUsageInBytesForSurfaceHelper(maMaskHelper.get());
+}
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/headless/CairoCommon.cxx b/vcl/headless/CairoCommon.cxx
index 6de48a501b98..94ca2c3158be 100644
--- a/vcl/headless/CairoCommon.cxx
+++ b/vcl/headless/CairoCommon.cxx
@@ -1180,34 +1180,6 @@ const char* 
pDisableDownScale(getenv("SAL_DISABLE_CAIRO_DOWNSCALE"));
 bool bDisableDownScale(nullptr != pDisableDownScale);
 }
 
-sal_Int64 estimateUsageInBytesForSurfaceHelper(const SurfaceHelper* pHelper)
-{
-    sal_Int64 nRetval(0);
-
-    if (nullptr != pHelper)
-    {
-        cairo_surface_t* pSurface(pHelper->getSurface());
-
-        if (pSurface)
-        {
-            const tools::Long 
nStride(cairo_image_surface_get_stride(pSurface));
-            const tools::Long 
nHeight(cairo_image_surface_get_height(pSurface));
-
-            nRetval = nStride * nHeight;
-
-            // if we do downscale, size will grow by 1/4 + 1/16 + 1/32 + ...,
-            // rough estimation just multiplies by 1.25, should be good enough
-            // for estimation of buffer survival time
-            if (!bDisableDownScale)
-            {
-                nRetval = (nRetval * 5) / 4;
-            }
-        }
-    }
-
-    return nRetval;
-}
-
 cairo_surface_t* SurfaceHelper::implCreateOrReuseDownscale(unsigned long 
nTargetWidth,
                                                            unsigned long 
nTargetHeight)
 {
diff --git a/vcl/headless/svpgdi.cxx b/vcl/headless/svpgdi.cxx
index 33e4e220cc69..3a321af10293 100644
--- a/vcl/headless/svpgdi.cxx
+++ b/vcl/headless/svpgdi.cxx
@@ -46,7 +46,6 @@
 #include <basegfx/polygon/b2dpolygontools.hxx>
 #include <basegfx/matrix/b2dhommatrix.hxx>
 #include <basegfx/utils/canvastools.hxx>
-#include <basegfx/utils/systemdependentdata.hxx>
 #include <basegfx/matrix/b2dhommatrixtools.hxx>
 #include <comphelper/lok.hxx>
 #include <unx/gendata.hxx>
@@ -60,60 +59,12 @@
 
 namespace
 {
-    class SystemDependentData_BitmapHelper : public 
basegfx::SystemDependentData
-    {
-    private:
-        std::shared_ptr<BitmapHelper>       maBitmapHelper;
-
-    public:
-        SystemDependentData_BitmapHelper(
-            basegfx::SystemDependentDataManager& rSystemDependentDataManager,
-            const std::shared_ptr<BitmapHelper>& rBitmapHelper)
-        :   basegfx::SystemDependentData(rSystemDependentDataManager),
-            maBitmapHelper(rBitmapHelper)
-        {
-        }
-
-        const std::shared_ptr<BitmapHelper>& getBitmapHelper() const { return 
maBitmapHelper; };
-        virtual sal_Int64 estimateUsageInBytes() const override;
-    };
-
-    sal_Int64 SystemDependentData_BitmapHelper::estimateUsageInBytes() const
-    {
-        return estimateUsageInBytesForSurfaceHelper(maBitmapHelper.get());
-    }
-
-    class SystemDependentData_MaskHelper : public basegfx::SystemDependentData
-    {
-    private:
-        std::shared_ptr<MaskHelper>       maMaskHelper;
-
-    public:
-        SystemDependentData_MaskHelper(
-            basegfx::SystemDependentDataManager& rSystemDependentDataManager,
-            const std::shared_ptr<MaskHelper>& rMaskHelper)
-        :   basegfx::SystemDependentData(rSystemDependentDataManager),
-            maMaskHelper(rMaskHelper)
-        {
-        }
-
-        const std::shared_ptr<MaskHelper>& getMaskHelper() const { return 
maMaskHelper; };
-        virtual sal_Int64 estimateUsageInBytes() const override;
-    };
-
-    sal_Int64 SystemDependentData_MaskHelper::estimateUsageInBytes() const
-    {
-        return estimateUsageInBytesForSurfaceHelper(maMaskHelper.get());
-    }
-
     // MM02 decide to use buffers or not
     const char* pDisableMM02Goodies(getenv("SAL_DISABLE_MM02_GOODIES"));
     bool bUseBuffer(nullptr == pDisableMM02Goodies);
     const tools::Long nMinimalSquareSizeToBuffer(64*64);
 
-    void tryToUseSourceBuffer(
-        const SalBitmap& rSourceBitmap,
-        std::shared_ptr<BitmapHelper>& rSurface)
+    void tryToUseSourceBuffer(const SalBitmap& rSourceBitmap, 
std::shared_ptr<BitmapHelper>& rSurface)
     {
         // MM02 try to access buffered BitmapHelper
         std::shared_ptr<SystemDependentData_BitmapHelper> 
pSystemDependentData_BitmapHelper;
@@ -148,9 +99,7 @@ namespace
         }
     }
 
-    void tryToUseMaskBuffer(
-        const SalBitmap& rMaskBitmap,
-        std::shared_ptr<MaskHelper>& rMask)
+    void tryToUseMaskBuffer(const SalBitmap& rMaskBitmap, 
std::shared_ptr<MaskHelper>& rMask)
     {
         // MM02 try to access buffered MaskHelper
         std::shared_ptr<SystemDependentData_MaskHelper> 
pSystemDependentData_MaskHelper;
diff --git a/vcl/inc/headless/BitmapHelper.hxx 
b/vcl/inc/headless/BitmapHelper.hxx
index 3cb6a70393f2..da5e417a4e9f 100644
--- a/vcl/inc/headless/BitmapHelper.hxx
+++ b/vcl/inc/headless/BitmapHelper.hxx
@@ -21,6 +21,7 @@
 
 #include <headless/CairoCommon.hxx>
 #include <headless/svpbmp.hxx>
+#include <basegfx/utils/systemdependentdata.hxx>
 
 class BitmapHelper : public SurfaceHelper
 {
@@ -45,4 +46,31 @@ public:
     explicit MaskHelper(const SalBitmap& rAlphaBitmap);
 };
 
+class SystemDependentData_BitmapHelper : public basegfx::SystemDependentData
+{
+private:
+    std::shared_ptr<BitmapHelper> maBitmapHelper;
+
+public:
+    SystemDependentData_BitmapHelper(
+        basegfx::SystemDependentDataManager& rSystemDependentDataManager,
+        const std::shared_ptr<BitmapHelper>& rBitmapHelper);
+
+    const std::shared_ptr<BitmapHelper>& getBitmapHelper() const { return 
maBitmapHelper; };
+    virtual sal_Int64 estimateUsageInBytes() const override;
+};
+
+class SystemDependentData_MaskHelper : public basegfx::SystemDependentData
+{
+private:
+    std::shared_ptr<MaskHelper> maMaskHelper;
+
+public:
+    SystemDependentData_MaskHelper(basegfx::SystemDependentDataManager& 
rSystemDependentDataManager,
+                                   const std::shared_ptr<MaskHelper>& 
rMaskHelper);
+
+    const std::shared_ptr<MaskHelper>& getMaskHelper() const { return 
maMaskHelper; };
+    virtual sal_Int64 estimateUsageInBytes() const override;
+};
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/headless/CairoCommon.hxx b/vcl/inc/headless/CairoCommon.hxx
index 8d5dd22b1a75..e8b1a4927e21 100644
--- a/vcl/inc/headless/CairoCommon.hxx
+++ b/vcl/inc/headless/CairoCommon.hxx
@@ -227,6 +227,4 @@ public:
                                 unsigned long nTargetHeight = 0) const;
 };
 
-VCL_DLLPUBLIC sal_Int64 estimateUsageInBytesForSurfaceHelper(const 
SurfaceHelper* pHelper);
-
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Reply via email to