Move access to SystemDependentDataHolder to Bitmap (2)
I was too positive thinking that SalBitmap would be fine, but it's locked to vcl. To be able to add system-dependent BitmapBuffering I move the access to Bitmap now. This is no functional change, but offers the same access as e.g. B2DPolygon/B2DPolyPolygon offer already. Also cleaned up usage/access to SystemDependentDataManager which removes quite some code in constructors and makes things easier in general. Change-Id: I2baa40a12479fab0fe66063a018f058c6b8f5597 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141507 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
This commit is contained in:
committed by
Armin Le Grand
parent
c74133420f
commit
02bd827f39
@@ -237,9 +237,9 @@ namespace basegfx
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<class T, class... Args>
|
template<class T, class... Args>
|
||||||
std::shared_ptr<T> addOrReplaceSystemDependentData(SystemDependentDataManager& manager, Args&&... args) const
|
std::shared_ptr<T> addOrReplaceSystemDependentData(Args&&... args) const
|
||||||
{
|
{
|
||||||
std::shared_ptr<T> r = std::make_shared<T>(manager, std::forward<Args>(args)...);
|
std::shared_ptr<T> r = std::make_shared<T>(std::forward<Args>(args)...);
|
||||||
|
|
||||||
// tdf#129845 only add to buffer if a relevant buffer time is estimated
|
// tdf#129845 only add to buffer if a relevant buffer time is estimated
|
||||||
if(r->calculateCombinedHoldCyclesInSeconds() > 0)
|
if(r->calculateCombinedHoldCyclesInSeconds() > 0)
|
||||||
|
@@ -128,9 +128,9 @@ namespace basegfx
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<class T, class... Args>
|
template<class T, class... Args>
|
||||||
std::shared_ptr<T> addOrReplaceSystemDependentData(SystemDependentDataManager& manager, Args&&... args) const
|
std::shared_ptr<T> addOrReplaceSystemDependentData(Args&&... args) const
|
||||||
{
|
{
|
||||||
std::shared_ptr<T> r = std::make_shared<T>(manager, std::forward<Args>(args)...);
|
std::shared_ptr<T> r = std::make_shared<T>(std::forward<Args>(args)...);
|
||||||
|
|
||||||
// tdf#129845 only add to buffer if a relevant buffer time is estimated
|
// tdf#129845 only add to buffer if a relevant buffer time is estimated
|
||||||
if(r->calculateCombinedHoldCyclesInSeconds() > 0)
|
if(r->calculateCombinedHoldCyclesInSeconds() > 0)
|
||||||
|
@@ -87,6 +87,8 @@ class AlphaMask;
|
|||||||
class OutputDevice;
|
class OutputDevice;
|
||||||
class SalBitmap;
|
class SalBitmap;
|
||||||
|
|
||||||
|
namespace basegfx { class SystemDependentDataHolder; }
|
||||||
|
|
||||||
struct BitmapSystemData
|
struct BitmapSystemData
|
||||||
{
|
{
|
||||||
#if defined(_WIN32)
|
#if defined(_WIN32)
|
||||||
@@ -497,6 +499,9 @@ public:
|
|||||||
bool bInvert = false,
|
bool bInvert = false,
|
||||||
bool msoBrightness = false );
|
bool msoBrightness = false );
|
||||||
|
|
||||||
|
// access to SystemDependentDataHolder, to support overload in derived class(es)
|
||||||
|
const basegfx::SystemDependentDataHolder* accessSystemDependentDataHolder() const;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
/** ReassignWithSize and recalculate bitmap.
|
/** ReassignWithSize and recalculate bitmap.
|
||||||
|
|
||||||
|
@@ -66,6 +66,7 @@ class MouseEvent;
|
|||||||
class GestureEventPan;
|
class GestureEventPan;
|
||||||
struct ImplSVEvent;
|
struct ImplSVEvent;
|
||||||
struct ConvertData;
|
struct ConvertData;
|
||||||
|
namespace basegfx { class SystemDependentDataManager; }
|
||||||
|
|
||||||
namespace com::sun::star::uno {
|
namespace com::sun::star::uno {
|
||||||
class XComponentContext;
|
class XComponentContext;
|
||||||
@@ -828,6 +829,12 @@ public:
|
|||||||
*/
|
*/
|
||||||
static OutputDevice* GetDefaultDevice();
|
static OutputDevice* GetDefaultDevice();
|
||||||
|
|
||||||
|
/** access the DataManager for buffering system-dependent data
|
||||||
|
|
||||||
|
@returns the global instance of the SystemDependentDataManager
|
||||||
|
*/
|
||||||
|
static basegfx::SystemDependentDataManager& GetSystemDependentDataManager();
|
||||||
|
|
||||||
/** Get the first top-level window of the application.
|
/** Get the first top-level window of the application.
|
||||||
|
|
||||||
@returns Pointer to top-level window (a Window object)
|
@returns Pointer to top-level window (a Window object)
|
||||||
|
@@ -161,9 +161,8 @@ sal_Int64 estimateUsageInBytesForSurfaceHelper(const SurfaceHelper* pHelper)
|
|||||||
} // end anonymous namespace
|
} // end anonymous namespace
|
||||||
|
|
||||||
SystemDependentData_BitmapHelper::SystemDependentData_BitmapHelper(
|
SystemDependentData_BitmapHelper::SystemDependentData_BitmapHelper(
|
||||||
basegfx::SystemDependentDataManager& rSystemDependentDataManager,
|
|
||||||
std::shared_ptr<BitmapHelper> xBitmapHelper)
|
std::shared_ptr<BitmapHelper> xBitmapHelper)
|
||||||
: basegfx::SystemDependentData(rSystemDependentDataManager)
|
: basegfx::SystemDependentData(Application::GetSystemDependentDataManager())
|
||||||
, maBitmapHelper(std::move(xBitmapHelper))
|
, maBitmapHelper(std::move(xBitmapHelper))
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@@ -174,9 +173,8 @@ sal_Int64 SystemDependentData_BitmapHelper::estimateUsageInBytes() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
SystemDependentData_MaskHelper::SystemDependentData_MaskHelper(
|
SystemDependentData_MaskHelper::SystemDependentData_MaskHelper(
|
||||||
basegfx::SystemDependentDataManager& rSystemDependentDataManager,
|
|
||||||
std::shared_ptr<MaskHelper> xMaskHelper)
|
std::shared_ptr<MaskHelper> xMaskHelper)
|
||||||
: basegfx::SystemDependentData(rSystemDependentDataManager)
|
: basegfx::SystemDependentData(Application::GetSystemDependentDataManager())
|
||||||
, maMaskHelper(std::move(xMaskHelper))
|
, maMaskHelper(std::move(xMaskHelper))
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@@ -204,9 +202,8 @@ void tryToUseSourceBuffer(const SalBitmap& rSourceBitmap, std::shared_ptr<Bitmap
|
|||||||
|
|
||||||
if (bBufferSource)
|
if (bBufferSource)
|
||||||
{
|
{
|
||||||
const SvpSalBitmap& rSrcBmp(static_cast<const SvpSalBitmap&>(rSourceBitmap));
|
|
||||||
pSystemDependentData_BitmapHelper
|
pSystemDependentData_BitmapHelper
|
||||||
= rSrcBmp.getSystemDependentDataT<SystemDependentData_BitmapHelper>();
|
= rSourceBitmap.getSystemDependentData<SystemDependentData_BitmapHelper>();
|
||||||
|
|
||||||
if (pSystemDependentData_BitmapHelper)
|
if (pSystemDependentData_BitmapHelper)
|
||||||
{
|
{
|
||||||
@@ -224,9 +221,7 @@ void tryToUseSourceBuffer(const SalBitmap& rSourceBitmap, std::shared_ptr<Bitmap
|
|||||||
if (bBufferSource)
|
if (bBufferSource)
|
||||||
{
|
{
|
||||||
// add to buffering mechanism to potentially reuse next time
|
// add to buffering mechanism to potentially reuse next time
|
||||||
const SvpSalBitmap& rSrcBmp(static_cast<const SvpSalBitmap&>(rSourceBitmap));
|
rSourceBitmap.addOrReplaceSystemDependentData<SystemDependentData_BitmapHelper>(rSurface);
|
||||||
rSrcBmp.addOrReplaceSystemDependentDataT<SystemDependentData_BitmapHelper>(
|
|
||||||
ImplGetSystemDependentDataManager(), rSurface);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -240,9 +235,8 @@ void tryToUseMaskBuffer(const SalBitmap& rMaskBitmap, std::shared_ptr<MaskHelper
|
|||||||
|
|
||||||
if (bBufferMask)
|
if (bBufferMask)
|
||||||
{
|
{
|
||||||
const SvpSalBitmap& rSrcBmp(static_cast<const SvpSalBitmap&>(rMaskBitmap));
|
|
||||||
pSystemDependentData_MaskHelper
|
pSystemDependentData_MaskHelper
|
||||||
= rSrcBmp.getSystemDependentDataT<SystemDependentData_MaskHelper>();
|
= rMaskBitmap.getSystemDependentData<SystemDependentData_MaskHelper>();
|
||||||
|
|
||||||
if (pSystemDependentData_MaskHelper)
|
if (pSystemDependentData_MaskHelper)
|
||||||
{
|
{
|
||||||
@@ -260,9 +254,7 @@ void tryToUseMaskBuffer(const SalBitmap& rMaskBitmap, std::shared_ptr<MaskHelper
|
|||||||
if (bBufferMask)
|
if (bBufferMask)
|
||||||
{
|
{
|
||||||
// add to buffering mechanism to potentially reuse next time
|
// add to buffering mechanism to potentially reuse next time
|
||||||
const SvpSalBitmap& rSrcBmp(static_cast<const SvpSalBitmap&>(rMaskBitmap));
|
rMaskBitmap.addOrReplaceSystemDependentData<SystemDependentData_MaskHelper>(rMask);
|
||||||
rSrcBmp.addOrReplaceSystemDependentDataT<SystemDependentData_MaskHelper>(
|
|
||||||
ImplGetSystemDependentDataManager(), rMask);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -306,10 +306,10 @@ basegfx::B2DPoint impPixelSnap(const basegfx::B2DPolygon& rPolygon,
|
|||||||
return rPolygon.getB2DPoint(nIndex);
|
return rPolygon.getB2DPoint(nIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
SystemDependentData_CairoPath::SystemDependentData_CairoPath(
|
SystemDependentData_CairoPath::SystemDependentData_CairoPath(size_t nSizeMeasure, cairo_t* cr,
|
||||||
basegfx::SystemDependentDataManager& rSystemDependentDataManager, size_t nSizeMeasure,
|
bool bNoJoin, bool bAntiAlias,
|
||||||
cairo_t* cr, bool bNoJoin, bool bAntiAlias, const std::vector<double>* pStroke)
|
const std::vector<double>* pStroke)
|
||||||
: basegfx::SystemDependentData(rSystemDependentDataManager)
|
: basegfx::SystemDependentData(Application::GetSystemDependentDataManager())
|
||||||
, mpCairoPath(nullptr)
|
, mpCairoPath(nullptr)
|
||||||
, mbNoJoin(bNoJoin)
|
, mbNoJoin(bNoJoin)
|
||||||
, mbAntiAlias(bAntiAlias)
|
, mbAntiAlias(bAntiAlias)
|
||||||
@@ -385,7 +385,7 @@ void add_polygon_path(cairo_t* cr, const basegfx::B2DPolyPolygon& rPolyPolygon,
|
|||||||
// for decisions how/what to buffer, see Note in WinSalGraphicsImpl::drawPolyPolygon
|
// for decisions how/what to buffer, see Note in WinSalGraphicsImpl::drawPolyPolygon
|
||||||
pSystemDependentData_CairoPath
|
pSystemDependentData_CairoPath
|
||||||
= rPolyPolygon.addOrReplaceSystemDependentData<SystemDependentData_CairoPath>(
|
= rPolyPolygon.addOrReplaceSystemDependentData<SystemDependentData_CairoPath>(
|
||||||
ImplGetSystemDependentDataManager(), nSizeMeasure, cr, false, false, nullptr);
|
nSizeMeasure, cr, false, false, nullptr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -856,8 +856,7 @@ bool CairoCommon::drawPolyLine(cairo_t* cr, basegfx::B2DRange* pExtents, const C
|
|||||||
{
|
{
|
||||||
pSystemDependentData_CairoPath
|
pSystemDependentData_CairoPath
|
||||||
= rPolyLine.addOrReplaceSystemDependentData<SystemDependentData_CairoPath>(
|
= rPolyLine.addOrReplaceSystemDependentData<SystemDependentData_CairoPath>(
|
||||||
ImplGetSystemDependentDataManager(), nSizeMeasure, cr, bNoJoin, bAntiAlias,
|
nSizeMeasure, cr, bNoJoin, bAntiAlias, pStroke);
|
||||||
pStroke);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -52,9 +52,7 @@ private:
|
|||||||
std::shared_ptr<BitmapHelper> maBitmapHelper;
|
std::shared_ptr<BitmapHelper> maBitmapHelper;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
SystemDependentData_BitmapHelper(
|
SystemDependentData_BitmapHelper(std::shared_ptr<BitmapHelper> xBitmapHelper);
|
||||||
basegfx::SystemDependentDataManager& rSystemDependentDataManager,
|
|
||||||
std::shared_ptr<BitmapHelper> xBitmapHelper);
|
|
||||||
|
|
||||||
const std::shared_ptr<BitmapHelper>& getBitmapHelper() const { return maBitmapHelper; };
|
const std::shared_ptr<BitmapHelper>& getBitmapHelper() const { return maBitmapHelper; };
|
||||||
virtual sal_Int64 estimateUsageInBytes() const override;
|
virtual sal_Int64 estimateUsageInBytes() const override;
|
||||||
@@ -66,8 +64,7 @@ private:
|
|||||||
std::shared_ptr<MaskHelper> maMaskHelper;
|
std::shared_ptr<MaskHelper> maMaskHelper;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
SystemDependentData_MaskHelper(basegfx::SystemDependentDataManager& rSystemDependentDataManager,
|
SystemDependentData_MaskHelper(std::shared_ptr<MaskHelper> xMaskHelper);
|
||||||
std::shared_ptr<MaskHelper> xMaskHelper);
|
|
||||||
|
|
||||||
const std::shared_ptr<MaskHelper>& getMaskHelper() const { return maMaskHelper; };
|
const std::shared_ptr<MaskHelper>& getMaskHelper() const { return maMaskHelper; };
|
||||||
virtual sal_Int64 estimateUsageInBytes() const override;
|
virtual sal_Int64 estimateUsageInBytes() const override;
|
||||||
|
@@ -96,8 +96,7 @@ private:
|
|||||||
std::vector<double> maStroke;
|
std::vector<double> maStroke;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
SystemDependentData_CairoPath(basegfx::SystemDependentDataManager& rSystemDependentDataManager,
|
SystemDependentData_CairoPath(size_t nSizeMeasure, cairo_t* cr, bool bNoJoin, bool bAntiAlias,
|
||||||
size_t nSizeMeasure, cairo_t* cr, bool bNoJoin, bool bAntiAlias,
|
|
||||||
const std::vector<double>* pStroke); // MM01
|
const std::vector<double>* pStroke); // MM01
|
||||||
virtual ~SystemDependentData_CairoPath() override;
|
virtual ~SystemDependentData_CairoPath() override;
|
||||||
|
|
||||||
|
@@ -61,7 +61,6 @@ public:
|
|||||||
virtual bool Scale( const double& rScaleX, const double& rScaleY, BmpScaleFlag nScaleFlag ) override;
|
virtual bool Scale( const double& rScaleX, const double& rScaleY, BmpScaleFlag nScaleFlag ) override;
|
||||||
virtual bool Replace( const Color& rSearchColor, const Color& rReplaceColor, sal_uInt8 nTol ) override;
|
virtual bool Replace( const Color& rSearchColor, const Color& rReplaceColor, sal_uInt8 nTol ) override;
|
||||||
|
|
||||||
protected:
|
|
||||||
virtual const basegfx::SystemDependentDataHolder* accessSystemDependentDataHolder() const override;
|
virtual const basegfx::SystemDependentDataHolder* accessSystemDependentDataHolder() const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -129,13 +129,13 @@ protected:
|
|||||||
int width, int height, int bitCount, int bytesPerRow, const BitmapPalette& palette,
|
int width, int height, int bitCount, int bytesPerRow, const BitmapPalette& palette,
|
||||||
BitConvert type );
|
BitConvert type );
|
||||||
|
|
||||||
|
public:
|
||||||
// access to SystemDependentDataHolder, to support overload in derived class(es)
|
// access to SystemDependentDataHolder, to support overload in derived class(es)
|
||||||
virtual const basegfx::SystemDependentDataHolder* accessSystemDependentDataHolder() const;
|
virtual const basegfx::SystemDependentDataHolder* accessSystemDependentDataHolder() const;
|
||||||
|
|
||||||
public:
|
|
||||||
// exclusive management op's for SystemDependentData at SalBitmap
|
// exclusive management op's for SystemDependentData at SalBitmap
|
||||||
template<class T>
|
template<class T>
|
||||||
std::shared_ptr<T> getSystemDependentDataT() const
|
std::shared_ptr<T> getSystemDependentData() const
|
||||||
{
|
{
|
||||||
const basegfx::SystemDependentDataHolder* pDataHolder(accessSystemDependentDataHolder());
|
const basegfx::SystemDependentDataHolder* pDataHolder(accessSystemDependentDataHolder());
|
||||||
if(pDataHolder)
|
if(pDataHolder)
|
||||||
@@ -144,13 +144,13 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<class T, class... Args>
|
template<class T, class... Args>
|
||||||
std::shared_ptr<T> addOrReplaceSystemDependentDataT(basegfx::SystemDependentDataManager& manager, Args&&... args) const
|
std::shared_ptr<T> addOrReplaceSystemDependentData(Args&&... args) const
|
||||||
{
|
{
|
||||||
const basegfx::SystemDependentDataHolder* pDataHolder(accessSystemDependentDataHolder());
|
const basegfx::SystemDependentDataHolder* pDataHolder(accessSystemDependentDataHolder());
|
||||||
if(!pDataHolder)
|
if(!pDataHolder)
|
||||||
return std::shared_ptr<T>();
|
return std::shared_ptr<T>();
|
||||||
|
|
||||||
std::shared_ptr<T> r = std::make_shared<T>(manager, std::forward<Args>(args)...);
|
std::shared_ptr<T> r = std::make_shared<T>(std::forward<Args>(args)...);
|
||||||
|
|
||||||
// tdf#129845 only add to buffer if a relevant buffer time is estimated
|
// tdf#129845 only add to buffer if a relevant buffer time is estimated
|
||||||
if(r->calculateCombinedHoldCyclesInSeconds() > 0)
|
if(r->calculateCombinedHoldCyclesInSeconds() > 0)
|
||||||
|
@@ -85,7 +85,6 @@ public:
|
|||||||
virtual bool Scale( const double& rScaleX, const double& rScaleY, BmpScaleFlag nScaleFlag ) override;
|
virtual bool Scale( const double& rScaleX, const double& rScaleY, BmpScaleFlag nScaleFlag ) override;
|
||||||
virtual bool Replace( const Color& rSearchColor, const Color& rReplaceColor, sal_uInt8 nTol ) override;
|
virtual bool Replace( const Color& rSearchColor, const Color& rReplaceColor, sal_uInt8 nTol ) override;
|
||||||
|
|
||||||
protected:
|
|
||||||
virtual const basegfx::SystemDependentDataHolder* accessSystemDependentDataHolder() const override;
|
virtual const basegfx::SystemDependentDataHolder* accessSystemDependentDataHolder() const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -1168,6 +1168,11 @@ OutputDevice* Application::GetDefaultDevice()
|
|||||||
return ImplGetDefaultWindow()->GetOutDev();
|
return ImplGetDefaultWindow()->GetOutDev();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
basegfx::SystemDependentDataManager& Application::GetSystemDependentDataManager()
|
||||||
|
{
|
||||||
|
return ImplGetSystemDependentDataManager();
|
||||||
|
}
|
||||||
|
|
||||||
vcl::Window* Application::GetFirstTopLevelWindow()
|
vcl::Window* Application::GetFirstTopLevelWindow()
|
||||||
{
|
{
|
||||||
ImplSVData* pSVData = ImplGetSVData();
|
ImplSVData* pSVData = ImplGetSVData();
|
||||||
|
@@ -1717,4 +1717,11 @@ bool Bitmap::Adjust( short nLuminancePercent, short nContrastPercent,
|
|||||||
return bRet;
|
return bRet;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const basegfx::SystemDependentDataHolder* Bitmap::accessSystemDependentDataHolder() const
|
||||||
|
{
|
||||||
|
if(!mxSalBmp)
|
||||||
|
return nullptr;
|
||||||
|
return mxSalBmp->accessSystemDependentDataHolder();
|
||||||
|
}
|
||||||
|
|
||||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||||
|
@@ -1601,7 +1601,6 @@ private:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
SystemDependentData_Triangulation(
|
SystemDependentData_Triangulation(
|
||||||
basegfx::SystemDependentDataManager& rSystemDependentDataManager,
|
|
||||||
basegfx::triangulator::B2DTriangleVector&& rTriangles,
|
basegfx::triangulator::B2DTriangleVector&& rTriangles,
|
||||||
double fLineWidth,
|
double fLineWidth,
|
||||||
basegfx::B2DLineJoin eJoin,
|
basegfx::B2DLineJoin eJoin,
|
||||||
@@ -1623,14 +1622,13 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
SystemDependentData_Triangulation::SystemDependentData_Triangulation(
|
SystemDependentData_Triangulation::SystemDependentData_Triangulation(
|
||||||
basegfx::SystemDependentDataManager& rSystemDependentDataManager,
|
|
||||||
basegfx::triangulator::B2DTriangleVector&& rTriangles,
|
basegfx::triangulator::B2DTriangleVector&& rTriangles,
|
||||||
double fLineWidth,
|
double fLineWidth,
|
||||||
basegfx::B2DLineJoin eJoin,
|
basegfx::B2DLineJoin eJoin,
|
||||||
css::drawing::LineCap eCap,
|
css::drawing::LineCap eCap,
|
||||||
double fMiterMinimumAngle,
|
double fMiterMinimumAngle,
|
||||||
const std::vector< double >* pStroke)
|
const std::vector< double >* pStroke)
|
||||||
: basegfx::SystemDependentData(rSystemDependentDataManager),
|
: basegfx::SystemDependentData(Application::GetSystemDependentDataManager()),
|
||||||
maTriangles(std::move(rTriangles)),
|
maTriangles(std::move(rTriangles)),
|
||||||
mfLineWidth(fLineWidth),
|
mfLineWidth(fLineWidth),
|
||||||
meJoin(eJoin),
|
meJoin(eJoin),
|
||||||
@@ -1823,7 +1821,6 @@ bool X11SalGraphicsImpl::drawPolyLine(
|
|||||||
// Add all values the triangulation is based off, too, to check for
|
// Add all values the triangulation is based off, too, to check for
|
||||||
// validity (see above)
|
// validity (see above)
|
||||||
pSystemDependentData_Triangulation = rPolygon.addOrReplaceSystemDependentData<SystemDependentData_Triangulation>(
|
pSystemDependentData_Triangulation = rPolygon.addOrReplaceSystemDependentData<SystemDependentData_Triangulation>(
|
||||||
ImplGetSystemDependentDataManager(),
|
|
||||||
std::move(aTriangles),
|
std::move(aTriangles),
|
||||||
fLineWidth,
|
fLineWidth,
|
||||||
eLineJoin,
|
eLineJoin,
|
||||||
|
@@ -1993,7 +1993,6 @@ private:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
SystemDependentData_GraphicsPath(
|
SystemDependentData_GraphicsPath(
|
||||||
basegfx::SystemDependentDataManager& rSystemDependentDataManager,
|
|
||||||
std::shared_ptr<Gdiplus::GraphicsPath>& rpGraphicsPath,
|
std::shared_ptr<Gdiplus::GraphicsPath>& rpGraphicsPath,
|
||||||
bool bNoLineJoin,
|
bool bNoLineJoin,
|
||||||
const std::vector< double >* pStroke); // MM01
|
const std::vector< double >* pStroke); // MM01
|
||||||
@@ -2009,11 +2008,10 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
SystemDependentData_GraphicsPath::SystemDependentData_GraphicsPath(
|
SystemDependentData_GraphicsPath::SystemDependentData_GraphicsPath(
|
||||||
basegfx::SystemDependentDataManager& rSystemDependentDataManager,
|
|
||||||
std::shared_ptr<Gdiplus::GraphicsPath>& rpGraphicsPath,
|
std::shared_ptr<Gdiplus::GraphicsPath>& rpGraphicsPath,
|
||||||
bool bNoLineJoin,
|
bool bNoLineJoin,
|
||||||
const std::vector< double >* pStroke)
|
const std::vector< double >* pStroke)
|
||||||
: basegfx::SystemDependentData(rSystemDependentDataManager),
|
: basegfx::SystemDependentData(Application::GetSystemDependentDataManager()),
|
||||||
mpGraphicsPath(rpGraphicsPath),
|
mpGraphicsPath(rpGraphicsPath),
|
||||||
mbNoLineJoin(bNoLineJoin),
|
mbNoLineJoin(bNoLineJoin),
|
||||||
maStroke()
|
maStroke()
|
||||||
@@ -2143,7 +2141,6 @@ bool WinSalGraphicsImpl::drawPolyPolygon(
|
|||||||
|
|
||||||
// add to buffering mechanism
|
// add to buffering mechanism
|
||||||
rPolyPolygon.addOrReplaceSystemDependentData<SystemDependentData_GraphicsPath>(
|
rPolyPolygon.addOrReplaceSystemDependentData<SystemDependentData_GraphicsPath>(
|
||||||
ImplGetSystemDependentDataManager(),
|
|
||||||
pGraphicsPath,
|
pGraphicsPath,
|
||||||
false,
|
false,
|
||||||
nullptr);
|
nullptr);
|
||||||
@@ -2462,7 +2459,6 @@ bool WinSalGraphicsImpl::drawPolyLine(
|
|||||||
if (!bPixelSnapHairline /*tdf#124700*/)
|
if (!bPixelSnapHairline /*tdf#124700*/)
|
||||||
{
|
{
|
||||||
rPolygon.addOrReplaceSystemDependentData<SystemDependentData_GraphicsPath>(
|
rPolygon.addOrReplaceSystemDependentData<SystemDependentData_GraphicsPath>(
|
||||||
ImplGetSystemDependentDataManager(),
|
|
||||||
pGraphicsPath,
|
pGraphicsPath,
|
||||||
bNoLineJoin,
|
bNoLineJoin,
|
||||||
pStroke);
|
pStroke);
|
||||||
|
@@ -89,7 +89,6 @@ private:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
SystemDependentData_GdiPlusBitmap(
|
SystemDependentData_GdiPlusBitmap(
|
||||||
basegfx::SystemDependentDataManager& rSystemDependentDataManager,
|
|
||||||
const std::shared_ptr<Gdiplus::Bitmap>& rGdiPlusBitmap,
|
const std::shared_ptr<Gdiplus::Bitmap>& rGdiPlusBitmap,
|
||||||
const WinSalBitmap* pAssociatedAlpha);
|
const WinSalBitmap* pAssociatedAlpha);
|
||||||
|
|
||||||
@@ -102,10 +101,9 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
SystemDependentData_GdiPlusBitmap::SystemDependentData_GdiPlusBitmap(
|
SystemDependentData_GdiPlusBitmap::SystemDependentData_GdiPlusBitmap(
|
||||||
basegfx::SystemDependentDataManager& rSystemDependentDataManager,
|
|
||||||
const std::shared_ptr<Gdiplus::Bitmap>& rGdiPlusBitmap,
|
const std::shared_ptr<Gdiplus::Bitmap>& rGdiPlusBitmap,
|
||||||
const WinSalBitmap* pAssociatedAlpha)
|
const WinSalBitmap* pAssociatedAlpha)
|
||||||
: basegfx::SystemDependentData(rSystemDependentDataManager),
|
: basegfx::SystemDependentData(Application::GetSystemDependentDataManager()),
|
||||||
mpGdiPlusBitmap(rGdiPlusBitmap),
|
mpGdiPlusBitmap(rGdiPlusBitmap),
|
||||||
mpAssociatedAlpha(pAssociatedAlpha)
|
mpAssociatedAlpha(pAssociatedAlpha)
|
||||||
{
|
{
|
||||||
@@ -170,7 +168,7 @@ std::shared_ptr< Gdiplus::Bitmap > WinSalBitmap::ImplGetGdiPlusBitmap(const WinS
|
|||||||
|
|
||||||
// try to access buffered data
|
// try to access buffered data
|
||||||
std::shared_ptr<SystemDependentData_GdiPlusBitmap> pSystemDependentData_GdiPlusBitmap(
|
std::shared_ptr<SystemDependentData_GdiPlusBitmap> pSystemDependentData_GdiPlusBitmap(
|
||||||
getSystemDependentDataT<SystemDependentData_GdiPlusBitmap>());
|
getSystemDependentData<SystemDependentData_GdiPlusBitmap>());
|
||||||
|
|
||||||
if(pSystemDependentData_GdiPlusBitmap)
|
if(pSystemDependentData_GdiPlusBitmap)
|
||||||
{
|
{
|
||||||
@@ -208,8 +206,7 @@ std::shared_ptr< Gdiplus::Bitmap > WinSalBitmap::ImplGetGdiPlusBitmap(const WinS
|
|||||||
}
|
}
|
||||||
|
|
||||||
// add to buffering mechanism
|
// add to buffering mechanism
|
||||||
addOrReplaceSystemDependentDataT<SystemDependentData_GdiPlusBitmap>(
|
addOrReplaceSystemDependentData<SystemDependentData_GdiPlusBitmap>(
|
||||||
ImplGetSystemDependentDataManager(),
|
|
||||||
aRetval,
|
aRetval,
|
||||||
pAssociatedAlpha);
|
pAssociatedAlpha);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user