summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Lillqvist <tml@collabora.com>2016-12-12 19:53:42 +0200
committerTor Lillqvist <tml@collabora.com>2016-12-13 00:00:15 +0200
commitb5f0c82393d88b81ea1f75fcc4cafc2aa947e206 (patch)
tree0073a2de456df4911a99737ced1154f8641f7ed4
parentb5ae4ccf462da85ec87e953212135871fd98bfbb (diff)
Fix lossage with --disable-cairo-canvas
Change-Id: I9e822cfc1447fcd49c80c56df8ba37959555396a
-rw-r--r--vcl/inc/unx/gtk/gtkgdi.hxx7
-rw-r--r--vcl/inc/unx/salgdi.h3
-rw-r--r--vcl/unx/generic/gdi/font.cxx4
-rw-r--r--vcl/unx/generic/gdi/salgdi.cxx8
-rw-r--r--vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx6
5 files changed, 26 insertions, 2 deletions
diff --git a/vcl/inc/unx/gtk/gtkgdi.hxx b/vcl/inc/unx/gtk/gtkgdi.hxx
index e7169e95c20b..f780964c8694 100644
--- a/vcl/inc/unx/gtk/gtkgdi.hxx
+++ b/vcl/inc/unx/gtk/gtkgdi.hxx
@@ -20,6 +20,8 @@
#ifndef INCLUDED_VCL_INC_UNX_GTK_GTKGDI_HXX
#define INCLUDED_VCL_INC_UNX_GTK_GTKGDI_HXX
+#include <config_cairo_canvas.h>
+
#include <gtk/gtk.h>
#include <gdk/gdkx.h>
#include <gdk/gdkkeysyms.h>
@@ -112,9 +114,14 @@ public:
const OUString& rCaption,
Rectangle &rNativeBoundingRegion,
Rectangle &rNativeContentRegion ) override;
+#if ENABLE_CAIRO_CANVAS
+
virtual bool SupportsCairo() const override;
virtual cairo::SurfaceSharedPtr CreateSurface(const cairo::CairoSurfaceSharedPtr& rSurface) const override;
virtual cairo::SurfaceSharedPtr CreateSurface(const OutputDevice& rRefDevice, int x, int y, int width, int height) const override;
+
+#endif
+
void WidgetQueueDraw() const;
void updateSettings( AllSettings& rSettings );
diff --git a/vcl/inc/unx/salgdi.h b/vcl/inc/unx/salgdi.h
index 5eb9172d0876..ef7ad2cb8f45 100644
--- a/vcl/inc/unx/salgdi.h
+++ b/vcl/inc/unx/salgdi.h
@@ -249,6 +249,8 @@ public:
long nHeight, sal_uInt8 nTransparency ) override;
virtual SystemGraphicsData GetGraphicsData() const override;
+
+#if ENABLE_CAIRO_CANVAS
virtual bool SupportsCairo() const override;
virtual cairo::SurfaceSharedPtr CreateSurface(const cairo::CairoSurfaceSharedPtr& rSurface) const override;
virtual cairo::SurfaceSharedPtr CreateSurface(const OutputDevice& rRefDevice, int x, int y, int width, int height) const override;
@@ -256,7 +258,6 @@ public:
virtual css::uno::Any GetNativeSurfaceHandle(cairo::SurfaceSharedPtr& rSurface, const basegfx::B2ISize& rSize) const override;
virtual SystemFontData GetSysFontData( int nFallbackLevel ) const override;
-#if ENABLE_CAIRO_CANVAS
void clipRegion(cairo_t* cr);
#endif // ENABLE_CAIRO_CANVAS
diff --git a/vcl/unx/generic/gdi/font.cxx b/vcl/unx/generic/gdi/font.cxx
index 37a3846d7d23..b4141e07efad 100644
--- a/vcl/unx/generic/gdi/font.cxx
+++ b/vcl/unx/generic/gdi/font.cxx
@@ -122,11 +122,15 @@ SalLayout* X11SalGraphics::GetTextLayout( ImplLayoutArgs& rArgs, int nFallbackLe
return mxTextRenderImpl->GetTextLayout(rArgs, nFallbackLevel);
}
+#if ENABLE_CAIRO_CANVAS
+
SystemFontData X11SalGraphics::GetSysFontData( int nFallbackLevel ) const
{
return mxTextRenderImpl->GetSysFontData(nFallbackLevel);
}
+#endif
+
bool X11SalGraphics::CreateFontSubset(
const OUString& rToFile,
const PhysicalFontFace* pFont,
diff --git a/vcl/unx/generic/gdi/salgdi.cxx b/vcl/unx/generic/gdi/salgdi.cxx
index a7c7df80fc7b..63de2b436765 100644
--- a/vcl/unx/generic/gdi/salgdi.cxx
+++ b/vcl/unx/generic/gdi/salgdi.cxx
@@ -356,7 +356,9 @@ void X11SalGraphics::ResetClipRegion()
bool X11SalGraphics::setClipRegion( const vcl::Region& i_rClip )
{
+#if ENABLE_CAIRO_CANVAS
maClipRegion = i_rClip;
+#endif
return mxImpl->setClipRegion( i_rClip );
}
@@ -499,6 +501,8 @@ SystemGraphicsData X11SalGraphics::GetGraphicsData() const
return aRes;
}
+#if ENABLE_CAIRO_CANVAS
+
bool X11SalGraphics::SupportsCairo() const
{
Display *pDisplay = GetXDisplay();
@@ -571,6 +575,8 @@ css::uno::Any X11SalGraphics::GetNativeSurfaceHandle(cairo::SurfaceSharedPtr& rS
return css::uno::Any(args);
}
+#endif // ENABLE_CAIRO_CANVAS
+
// draw a poly-polygon
bool X11SalGraphics::drawPolyPolygon( const basegfx::B2DPolyPolygon& rOrigPolyPoly, double fTransparency )
{
@@ -586,12 +592,12 @@ bool X11SalGraphics::drawPolyPolygon( const basegfx::B2DPolyPolygon& rOrigPolyPo
return true;
}
+#if ENABLE_CAIRO_CANVAS
if(SALCOLOR_NONE == mnFillColor && SALCOLOR_NONE == mnPenColor)
{
return true;
}
-#if ENABLE_CAIRO_CANVAS
static bool bUseCairoForPolygons = false;
if (!m_bOpenGL && bUseCairoForPolygons && SupportsCairo())
diff --git a/vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx b/vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx
index 8b654d97c9d4..98c385f88b7c 100644
--- a/vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx
+++ b/vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx
@@ -9,6 +9,8 @@
#include <sal/config.h>
+#include <config_cairo_canvas.h>
+
#include <basegfx/range/b2ibox.hxx>
#include <unx/gtk/gtkframe.hxx>
#include <unx/gtk/gtkdata.hxx>
@@ -2884,6 +2886,8 @@ bool GtkSalGraphics::IsNativeControlSupported( ControlType nType, ControlPart nP
return false;
}
+#if ENABLE_CAIRO_CANVAS
+
bool GtkSalGraphics::SupportsCairo() const
{
return true;
@@ -2899,6 +2903,8 @@ cairo::SurfaceSharedPtr GtkSalGraphics::CreateSurface(const OutputDevice& /*rRef
return cairo::SurfaceSharedPtr(new cairo::Gtk3Surface(this, x, y, width, height));
}
+#endif
+
void GtkSalGraphics::WidgetQueueDraw() const
{
//request gtk to sync the entire contents