summaryrefslogtreecommitdiff
path: root/canvas
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@collabora.com>2015-09-03 00:30:28 +0100
committerJan Holesovsky <kendy@collabora.com>2015-09-03 09:37:33 +0000
commit055f76b8f1897b79cc5f153da55e38b95ca551a2 (patch)
tree76511a7e0d4f5bc6036305fa6abe912e0f2c6573 /canvas
parentf7bc163ca4f643b6f046892de6d99ec8049b6955 (diff)
tdf#93870 - GL accel. via VCL canvas for presentations when GL enabled.
Change-Id: Ia31a88cb3d9e6baa987b22f77f407a3f592031f1 Reviewed-on: https://gerrit.libreoffice.org/18285 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Diffstat (limited to 'canvas')
-rw-r--r--canvas/Library_canvasfactory.mk1
-rw-r--r--canvas/source/cairo/cairo_canvas.cxx4
-rw-r--r--canvas/source/directx/dx_canvas.cxx4
-rw-r--r--canvas/source/factory/cf_service.cxx5
4 files changed, 14 insertions, 0 deletions
diff --git a/canvas/Library_canvasfactory.mk b/canvas/Library_canvasfactory.mk
index dec3175f0bbf..d3992fcc84d5 100644
--- a/canvas/Library_canvasfactory.mk
+++ b/canvas/Library_canvasfactory.mk
@@ -29,6 +29,7 @@ $(eval $(call gb_Library_use_libraries,canvasfactory,\
cppu \
cppuhelper \
sal \
+ vcl \
$(gb_UWINAPI) \
))
diff --git a/canvas/source/cairo/cairo_canvas.cxx b/canvas/source/cairo/cairo_canvas.cxx
index 6b46438f58a7..589d585121ba 100644
--- a/canvas/source/cairo/cairo_canvas.cxx
+++ b/canvas/source/cairo/cairo_canvas.cxx
@@ -31,6 +31,7 @@
#include <toolkit/helper/vclunohelper.hxx>
#include <tools/diagnose_ex.h>
#include <vcl/sysdata.hxx>
+#include <vcl/opengl/OpenGLWrapper.hxx>
#include <canvas/canvastools.hxx>
@@ -54,6 +55,9 @@ namespace cairocanvas
if( maArguments.getLength() == 0 )
return;
+ // tdf#93870 - force VCL canvas in OpenGL mode for now.
+ assert( !OpenGLWrapper::isVCLOpenGLEnabled() );
+
/* maArguments:
0: ptr to creating instance (Window or VirtualDevice)
1: SystemEnvData as a streamed Any (or empty for VirtualDevice)
diff --git a/canvas/source/directx/dx_canvas.cxx b/canvas/source/directx/dx_canvas.cxx
index f8578317d762..f9e6ee1fa526 100644
--- a/canvas/source/directx/dx_canvas.cxx
+++ b/canvas/source/directx/dx_canvas.cxx
@@ -38,6 +38,7 @@
#include <toolkit/helper/vclunohelper.hxx>
#include <tools/diagnose_ex.h>
#include <vcl/sysdata.hxx>
+#include <vcl/opengl/OpenGLWrapper.hxx>
#include <canvas/canvastools.hxx>
@@ -78,6 +79,9 @@ namespace dxcanvas
if( maArguments.getLength() == 0 )
return;
+ // tdf#93870 - force VCL canvas in OpenGL mode for now.
+ assert( !OpenGLWrapper::isVCLOpenGLEnabled() );
+
SAL_INFO("canvas.directx", "Canvas::initialize called" );
// At index 1, we expect a HWND handle here, containing a
diff --git a/canvas/source/factory/cf_service.cxx b/canvas/source/factory/cf_service.cxx
index 3a8130d4409f..bc8853800bc1 100644
--- a/canvas/source/factory/cf_service.cxx
+++ b/canvas/source/factory/cf_service.cxx
@@ -39,6 +39,7 @@
#include <osl/mutex.hxx>
#include <osl/process.h>
#include <o3tl/functional.hxx>
+#include <vcl/opengl/OpenGLWrapper.hxx>
using namespace ::com::sun::star;
using namespace ::com::sun::star::uno;
@@ -308,6 +309,10 @@ Reference<XInterface> CanvasFactory::lookupAndUse(
m_bCacheHasForcedLastImpl,
OUString("ForceSafeServiceImpl") );
+ // tdf#93870 - force VCL canvas in OpenGL mode for now.
+ if( OpenGLWrapper::isVCLOpenGLEnabled() )
+ bForceLastEntry = true;
+
// use anti-aliasing canvas, if config flag set (or not existing)
bool bUseAAEntry(true);
checkConfigFlag( bUseAAEntry,