summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2015-03-18 09:46:04 +0000
committerCaolán McNamara <caolanm@redhat.com>2015-03-18 12:32:30 +0000
commit34dc97c79165a038fd1262902a414fe78882aaba (patch)
treedb27e5b67c2c82881aa3802130949eaed8224cdc /vcl
parent69d0d5f567f1418060f0c925b0dada2cb608eacc (diff)
move IsCairoWorking to vclplug level and rename
Change-Id: Id31de932afa61df6933d61ddba971f5d7060f0c1
Diffstat (limited to 'vcl')
-rw-r--r--vcl/generic/print/genpspgraphics.cxx5
-rw-r--r--vcl/headless/svpgdi.cxx5
-rw-r--r--vcl/inc/generic/genpspgraphics.h1
-rw-r--r--vcl/inc/headless/svpgdi.hxx1
-rw-r--r--vcl/inc/quartz/salgdi.h1
-rw-r--r--vcl/inc/salgdi.hxx3
-rw-r--r--vcl/inc/unx/salgdi.h1
-rw-r--r--vcl/inc/win/salgdi.h1
-rw-r--r--vcl/quartz/salgdicommon.cxx5
-rw-r--r--vcl/source/outdev/outdev.cxx11
-rw-r--r--vcl/unx/generic/gdi/salgdi.cxx7
-rw-r--r--vcl/win/source/gdi/salgdi.cxx5
12 files changed, 46 insertions, 0 deletions
diff --git a/vcl/generic/print/genpspgraphics.cxx b/vcl/generic/print/genpspgraphics.cxx
index a2cdf8bdd6a0..a5457ce399f6 100644
--- a/vcl/generic/print/genpspgraphics.cxx
+++ b/vcl/generic/print/genpspgraphics.cxx
@@ -1209,6 +1209,11 @@ SystemGraphicsData GenPspGraphics::GetGraphicsData() const
return SystemGraphicsData();
}
+bool GenPspGraphics::SupportsCairo() const
+{
+ return false;
+}
+
SystemFontData GenPspGraphics::GetSysFontData( int /* nFallbacklevel */ ) const
{
return SystemFontData();
diff --git a/vcl/headless/svpgdi.cxx b/vcl/headless/svpgdi.cxx
index ea043b1b070b..f63ae479f31b 100644
--- a/vcl/headless/svpgdi.cxx
+++ b/vcl/headless/svpgdi.cxx
@@ -733,4 +733,9 @@ bool SvpSalGraphics::supportsOperation( OutDevSupportType ) const
#endif
+bool SvpSalGraphics::SupportsCairo() const
+{
+ return false;
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/generic/genpspgraphics.h b/vcl/inc/generic/genpspgraphics.h
index 2982c8328228..25de8687b283 100644
--- a/vcl/inc/generic/genpspgraphics.h
+++ b/vcl/inc/generic/genpspgraphics.h
@@ -201,6 +201,7 @@ public:
sal_uInt8 nTransparency ) SAL_OVERRIDE;
virtual SystemGraphicsData GetGraphicsData() const SAL_OVERRIDE;
+ virtual bool SupportsCairo() const SAL_OVERRIDE;
virtual SystemFontData GetSysFontData( int nFallbacklevel ) const SAL_OVERRIDE;
virtual void BeginPaint() SAL_OVERRIDE { };
diff --git a/vcl/inc/headless/svpgdi.hxx b/vcl/inc/headless/svpgdi.hxx
index e9f51105143e..5bbf81607ef6 100644
--- a/vcl/inc/headless/svpgdi.hxx
+++ b/vcl/inc/headless/svpgdi.hxx
@@ -199,6 +199,7 @@ public:
virtual bool drawEPS( long nX, long nY, long nWidth, long nHeight, void* pPtr, sal_uLong nSize ) SAL_OVERRIDE;
virtual SystemGraphicsData GetGraphicsData() const SAL_OVERRIDE;
+ virtual bool SupportsCairo() const SAL_OVERRIDE;
virtual SystemFontData GetSysFontData( int nFallbacklevel ) const SAL_OVERRIDE;
virtual void BeginPaint() SAL_OVERRIDE { };
diff --git a/vcl/inc/quartz/salgdi.h b/vcl/inc/quartz/salgdi.h
index 737f8d453f41..54bd2a932831 100644
--- a/vcl/inc/quartz/salgdi.h
+++ b/vcl/inc/quartz/salgdi.h
@@ -418,6 +418,7 @@ public:
virtual SystemGraphicsData
GetGraphicsData() const SAL_OVERRIDE;
+ virtual bool SupportsCairo() const SAL_OVERRIDE;
virtual SystemFontData GetSysFontData( int /* nFallbacklevel */ ) const SAL_OVERRIDE;
virtual void BeginPaint() SAL_OVERRIDE { };
diff --git a/vcl/inc/salgdi.hxx b/vcl/inc/salgdi.hxx
index 114a5c214784..ef1812077ee8 100644
--- a/vcl/inc/salgdi.hxx
+++ b/vcl/inc/salgdi.hxx
@@ -438,6 +438,9 @@ public:
virtual SystemGraphicsData GetGraphicsData() const = 0;
+ /// Check whether cairo will work
+ virtual bool SupportsCairo() const = 0;
+
virtual SystemFontData GetSysFontData( int nFallbacklevel ) const = 0;
protected:
diff --git a/vcl/inc/unx/salgdi.h b/vcl/inc/unx/salgdi.h
index 5f04d79bca92..b8a2a60972de 100644
--- a/vcl/inc/unx/salgdi.h
+++ b/vcl/inc/unx/salgdi.h
@@ -262,6 +262,7 @@ public:
long nHeight, sal_uInt8 nTransparency ) SAL_OVERRIDE;
virtual SystemGraphicsData GetGraphicsData() const SAL_OVERRIDE;
+ virtual bool SupportsCairo() const SAL_OVERRIDE;
virtual SystemFontData GetSysFontData( int nFallbackLevel ) const SAL_OVERRIDE;
virtual void BeginPaint() SAL_OVERRIDE;
diff --git a/vcl/inc/win/salgdi.h b/vcl/inc/win/salgdi.h
index b6036f5331a0..287daf4effb2 100644
--- a/vcl/inc/win/salgdi.h
+++ b/vcl/inc/win/salgdi.h
@@ -445,6 +445,7 @@ public:
virtual bool IsNativeControlSupported( ControlType nType, ControlPart nPart ) SAL_OVERRIDE;
virtual SystemGraphicsData GetGraphicsData() const SAL_OVERRIDE;
+ virtual bool SupportsCairo() const SAL_OVERRIDE;
virtual SystemFontData GetSysFontData( int nFallbacklevel ) const SAL_OVERRIDE;
virtual void BeginPaint() SAL_OVERRIDE;
diff --git a/vcl/quartz/salgdicommon.cxx b/vcl/quartz/salgdicommon.cxx
index 4ee18f5fb439..b982dd4ff7bb 100644
--- a/vcl/quartz/salgdicommon.cxx
+++ b/vcl/quartz/salgdicommon.cxx
@@ -1445,6 +1445,11 @@ SystemGraphicsData AquaSalGraphics::GetGraphicsData() const
return aRes;
}
+bool AquaSalGraphics::SupportsCairo() const
+{
+ return true;
+}
+
long AquaSalGraphics::GetGraphicsWidth() const
{
long w = 0;
diff --git a/vcl/source/outdev/outdev.cxx b/vcl/source/outdev/outdev.cxx
index 0305c947637d..c64fbfffcc84 100644
--- a/vcl/source/outdev/outdev.cxx
+++ b/vcl/source/outdev/outdev.cxx
@@ -297,6 +297,17 @@ SystemGraphicsData OutputDevice::GetSystemGfxData() const
return mpGraphics->GetGraphicsData();
}
+bool OutputDevice::SupportsCairo() const
+{
+ if (!mpGraphics)
+ {
+ if (!AcquireGraphics())
+ return false;
+ }
+
+ return mpGraphics->SupportsCairo();
+}
+
css::uno::Any OutputDevice::GetSystemGfxDataAny() const
{
const SystemGraphicsData aSysData = GetSystemGfxData();
diff --git a/vcl/unx/generic/gdi/salgdi.cxx b/vcl/unx/generic/gdi/salgdi.cxx
index 375a9dd1966a..2a76110fe4fa 100644
--- a/vcl/unx/generic/gdi/salgdi.cxx
+++ b/vcl/unx/generic/gdi/salgdi.cxx
@@ -455,6 +455,13 @@ SystemGraphicsData X11SalGraphics::GetGraphicsData() const
return aRes;
}
+bool X11SalGraphics::SupportsCairo() const
+{
+ Display *pDisplay = GetXDisplay();
+ int nDummy;
+ return XQueryExtension(pDisplay, "RENDER", &nDummy, &nDummy, &nDummy);
+}
+
// draw a poly-polygon
bool X11SalGraphics::drawPolyPolygon( const ::basegfx::B2DPolyPolygon& rOrigPolyPoly, double fTransparency )
{
diff --git a/vcl/win/source/gdi/salgdi.cxx b/vcl/win/source/gdi/salgdi.cxx
index c2d644dbb7a5..fc74d0567779 100644
--- a/vcl/win/source/gdi/salgdi.cxx
+++ b/vcl/win/source/gdi/salgdi.cxx
@@ -1072,6 +1072,11 @@ SystemGraphicsData WinSalGraphics::GetGraphicsData() const
return aRes;
}
+bool WinSalGraphics::SupportsCairo() const
+{
+ return true;
+}
+
void WinSalGraphics::BeginPaint()
{
return mpImpl->beginPaint();