diff --git a/vcl/headless/svpgdi.cxx b/vcl/headless/svpgdi.cxx index 46d8a8a8dbda..3f4a042e3d2e 100644 --- a/vcl/headless/svpgdi.cxx +++ b/vcl/headless/svpgdi.cxx @@ -389,7 +389,9 @@ SvpSalGraphics::~SvpSalGraphics() void SvpSalGraphics::setSurface(cairo_surface_t* pSurface) { m_pSurface = pSurface; +#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 14, 0) cairo_surface_get_device_scale(pSurface, &m_fScale, nullptr); +#endif ResetClipRegion(); } @@ -991,8 +993,9 @@ void SvpSalGraphics::copyBits( const SalTwoRect& rTR, aTR.mnSrcWidth * m_fScale, aTR.mnSrcHeight * m_fScale); #endif +#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 14, 0) cairo_surface_set_device_scale(pCopy, m_fScale, m_fScale); - +#endif cairo_t* cr = cairo_create(pCopy); cairo_set_source_surface(cr, source, -aTR.mnSrcX, -aTR.mnSrcY); cairo_rectangle(cr, 0, 0, aTR.mnSrcWidth, aTR.mnSrcHeight); diff --git a/vcl/headless/svpvd.cxx b/vcl/headless/svpvd.cxx index f0d31f84b069..ca28a5246b46 100644 --- a/vcl/headless/svpvd.cxx +++ b/vcl/headless/svpvd.cxx @@ -89,7 +89,9 @@ bool SvpSalVirtualDevice::SetSizeUsingBuffer( long nNewDX, long nNewDY, nNewDX, nNewDY); } +#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 14, 0) cairo_surface_set_device_scale(m_pSurface, m_fScale, m_fScale); +#endif // update device in existing graphics for( std::list< SvpSalGraphics* >::iterator it = m_aGraphics.begin();