[Libreoffice-commits] core.git: vcl/inc vcl/unx
Tor Lillqvist
tml at collabora.com
Mon Dec 12 22:11:49 UTC 2016
vcl/inc/unx/gtk/gtkgdi.hxx | 7 +++++++
vcl/inc/unx/salgdi.h | 3 ++-
vcl/unx/generic/gdi/font.cxx | 4 ++++
vcl/unx/generic/gdi/salgdi.cxx | 8 +++++++-
vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx | 6 ++++++
5 files changed, 26 insertions(+), 2 deletions(-)
New commits:
commit b5f0c82393d88b81ea1f75fcc4cafc2aa947e206
Author: Tor Lillqvist <tml at collabora.com>
Date: Mon Dec 12 19:53:42 2016 +0200
Fix lossage with --disable-cairo-canvas
Change-Id: I9e822cfc1447fcd49c80c56df8ba37959555396a
diff --git a/vcl/inc/unx/gtk/gtkgdi.hxx b/vcl/inc/unx/gtk/gtkgdi.hxx
index e7169e9..f780964 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 5eb9172..ef7ad2c 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 37a3846..b4141e0 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 a7c7df8..63de2b43 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 8b654d9..98c385f 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
More information about the Libreoffice-commits
mailing list