summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorTomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>2016-07-20 17:21:12 +0900
committerTomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>2016-07-20 17:34:46 +0900
commit33f48960c6ce718937767796d39a40344a356956 (patch)
tree54eb8147b2bfd7c2985ddaa3499049e3e64022eb /vcl
parent788e8e6f4b9a66b4a6ba7ffbf234cb2cbbe3e998 (diff)
vcl: don't use the faster cairo code path when using OpenGL
Change-Id: Ia5f2fbf8765db4828338df4eb1f6d7405004e738
Diffstat (limited to 'vcl')
-rw-r--r--vcl/inc/unx/salgdi.h1
-rw-r--r--vcl/unx/generic/gdi/salgdi.cxx9
2 files changed, 6 insertions, 4 deletions
diff --git a/vcl/inc/unx/salgdi.h b/vcl/inc/unx/salgdi.h
index 7cb084130946..a9c91ed0e114 100644
--- a/vcl/inc/unx/salgdi.h
+++ b/vcl/inc/unx/salgdi.h
@@ -349,6 +349,7 @@ protected:
bool bPrinter_ : 1; // is Printer
bool bVirDev_ : 1; // is VirDev
bool bFontGC_ : 1; // is Font GC valid
+ bool m_bOpenGL : 1;
private:
std::unique_ptr<SalGraphicsImpl> mxImpl;
diff --git a/vcl/unx/generic/gdi/salgdi.cxx b/vcl/unx/generic/gdi/salgdi.cxx
index ea966b41a346..66c9e6248bbc 100644
--- a/vcl/unx/generic/gdi/salgdi.cxx
+++ b/vcl/unx/generic/gdi/salgdi.cxx
@@ -91,9 +91,10 @@ X11SalGraphics::X11SalGraphics():
bWindow_(false),
bPrinter_(false),
bVirDev_(false),
- bFontGC_(false)
+ bFontGC_(false),
+ m_bOpenGL(OpenGLHelper::isVCLOpenGLEnabled())
{
- if (OpenGLHelper::isVCLOpenGLEnabled())
+ if (m_bOpenGL)
{
mxImpl.reset(new X11OpenGLSalGraphicsImpl(*this));
mxTextRenderImpl.reset((new OpenGLX11CairoTextRender(*this)));
@@ -598,7 +599,7 @@ bool X11SalGraphics::drawPolyPolygon( const basegfx::B2DPolyPolygon& rOrigPolyPo
#if ENABLE_CAIRO_CANVAS
static bool bUseCairoForPolygons = false;
- if(bUseCairoForPolygons && SupportsCairo())
+ if (!m_bOpenGL && bUseCairoForPolygons && SupportsCairo())
{
// snap to raster if requested
basegfx::B2DPolyPolygon aPolyPoly(rOrigPolyPoly);
@@ -729,7 +730,7 @@ bool X11SalGraphics::drawPolyLine(
#if ENABLE_CAIRO_CANVAS
static bool bUseCairoForFatLines = true;
- if(bUseCairoForFatLines && SupportsCairo())
+ if (!m_bOpenGL && bUseCairoForFatLines && SupportsCairo())
{
cairo_t* cr = getCairoContext();
clipRegion(cr);