summaryrefslogtreecommitdiff
path: root/vcl/headless
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/headless')
-rw-r--r--vcl/headless/SvpGraphicsBackend.cxx17
-rw-r--r--vcl/headless/svpgdi.cxx24
2 files changed, 20 insertions, 21 deletions
diff --git a/vcl/headless/SvpGraphicsBackend.cxx b/vcl/headless/SvpGraphicsBackend.cxx
index d8688f7cefd5..bac3d949a279 100644
--- a/vcl/headless/SvpGraphicsBackend.cxx
+++ b/vcl/headless/SvpGraphicsBackend.cxx
@@ -24,7 +24,10 @@
#include <basegfx/polygon/b2dpolygontools.hxx>
#include <vcl/BitmapTools.hxx>
-SvpGraphicsBackend::SvpGraphicsBackend() {}
+SvpGraphicsBackend::SvpGraphicsBackend(CairoCommon& rCairoCommon)
+ : m_rCairoCommon(rCairoCommon)
+{
+}
void SvpGraphicsBackend::Init() {}
@@ -34,9 +37,17 @@ bool SvpGraphicsBackend::setClipRegion(const vcl::Region& /*i_rClip*/) { return
void SvpGraphicsBackend::ResetClipRegion() {}
-sal_uInt16 SvpGraphicsBackend::GetBitCount() const { return 0; }
+sal_uInt16 SvpGraphicsBackend::GetBitCount() const
+{
+ if (cairo_surface_get_content(m_rCairoCommon.m_pSurface) != CAIRO_CONTENT_COLOR_ALPHA)
+ return 1;
+ return 32;
+}
-tools::Long SvpGraphicsBackend::GetGraphicsWidth() const { return 0; }
+tools::Long SvpGraphicsBackend::GetGraphicsWidth() const
+{
+ return m_rCairoCommon.m_pSurface ? m_rCairoCommon.m_aFrameSize.getX() : 0;
+}
void SvpGraphicsBackend::SetLineColor() {}
diff --git a/vcl/headless/svpgdi.cxx b/vcl/headless/svpgdi.cxx
index 1e6a6edf7100..d32c65448ce9 100644
--- a/vcl/headless/svpgdi.cxx
+++ b/vcl/headless/svpgdi.cxx
@@ -918,7 +918,7 @@ SvpSalGraphics::SvpSalGraphics()
, m_aFillColor(Color(0xFF, 0xFF, 0XFF))
, m_ePaintMode(PaintMode::Over)
, m_aTextRenderImpl(*this)
- , m_pBackend(new SvpGraphicsBackend())
+ , m_pBackend(new SvpGraphicsBackend(m_aCairoCommon))
{
bool bLOKActive = comphelper::LibreOfficeKit::isActive();
initWidgetDrawBackends(bLOKActive);
@@ -932,7 +932,7 @@ SvpSalGraphics::~SvpSalGraphics()
void SvpSalGraphics::setSurface(cairo_surface_t* pSurface, const basegfx::B2IVector& rSize)
{
m_aCairoCommon.m_pSurface = pSurface;
- m_aFrameSize = rSize;
+ m_aCairoCommon.m_aFrameSize = rSize;
dl_cairo_surface_get_device_scale(pSurface, &m_fScale, nullptr);
ResetClipRegion();
}
@@ -942,18 +942,6 @@ void SvpSalGraphics::GetResolution( sal_Int32& rDPIX, sal_Int32& rDPIY )
rDPIX = rDPIY = 96;
}
-sal_uInt16 SvpSalGraphics::GetBitCount() const
-{
- if (cairo_surface_get_content(m_aCairoCommon.m_pSurface) != CAIRO_CONTENT_COLOR_ALPHA)
- return 1;
- return 32;
-}
-
-tools::Long SvpSalGraphics::GetGraphicsWidth() const
-{
- return m_aCairoCommon.m_pSurface ? m_aFrameSize.getX() : 0;
-}
-
void SvpSalGraphics::ResetClipRegion()
{
m_aClipRegion.SetNull();
@@ -2487,8 +2475,8 @@ cairo_t* SvpSalGraphics::createTmpCompatibleCairoContext() const
cairo_surface_t *target = cairo_image_surface_create(
#endif
CAIRO_FORMAT_ARGB32,
- m_aFrameSize.getX() * m_fScale,
- m_aFrameSize.getY() * m_fScale);
+ m_aCairoCommon.m_aFrameSize.getX() * m_fScale,
+ m_aCairoCommon.m_aFrameSize.getY() * m_fScale);
dl_cairo_surface_set_device_scale(target, m_fScale, m_fScale);
@@ -2539,8 +2527,8 @@ void SvpSalGraphics::releaseCairoContext(cairo_t* cr, bool bXorModeAllowed, cons
basegfx::B2IRange aIntExtents(basegfx::unotools::b2ISurroundingRangeFromB2DRange(rExtents));
sal_Int32 nExtentsLeft(aIntExtents.getMinX()), nExtentsTop(aIntExtents.getMinY());
sal_Int32 nExtentsRight(aIntExtents.getMaxX()), nExtentsBottom(aIntExtents.getMaxY());
- sal_Int32 nWidth = m_aFrameSize.getX();
- sal_Int32 nHeight = m_aFrameSize.getY();
+ sal_Int32 nWidth = m_aCairoCommon.m_aFrameSize.getX();
+ sal_Int32 nHeight = m_aCairoCommon.m_aFrameSize.getY();
nExtentsLeft = std::max<sal_Int32>(nExtentsLeft, 0);
nExtentsTop = std::max<sal_Int32>(nExtentsTop, 0);
nExtentsRight = std::min<sal_Int32>(nExtentsRight, nWidth);