Kaydet (Commit) b5f0c823 authored tarafından Tor Lillqvist's avatar Tor Lillqvist

Fix lossage with --disable-cairo-canvas

Change-Id: I9e822cfc1447fcd49c80c56df8ba37959555396a
üst b5ae4ccf
......@@ -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 );
......
......@@ -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
......
......@@ -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,
......
......@@ -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())
......
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment