summaryrefslogtreecommitdiff
path: root/vcl/inc/headless
diff options
context:
space:
mode:
authorTomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>2018-08-22 13:43:11 +0200
committerJan Holesovsky <kendy@collabora.com>2018-11-09 18:42:24 +0100
commit527397abd6f59654f5a26643d62ec098170369c1 (patch)
tree1e9bf4aa8c3be80c01c95ff3594e31b686d3b861 /vcl/inc/headless
parent63f320f6352bfca0dcd7ed0b55b95e8bc27d8d67 (diff)
Support drawing custom widgets in headless backend
..and fallback the headless dawing also in gtk3 where needed Change-Id: Ic5da8fa7a04089342db8e2f334ced69691a15217
Diffstat (limited to 'vcl/inc/headless')
-rw-r--r--vcl/inc/headless/svpgdi.hxx21
1 files changed, 21 insertions, 0 deletions
diff --git a/vcl/inc/headless/svpgdi.hxx b/vcl/inc/headless/svpgdi.hxx
index 3ac06489ea73..b8d20a548a6f 100644
--- a/vcl/inc/headless/svpgdi.hxx
+++ b/vcl/inc/headless/svpgdi.hxx
@@ -33,6 +33,7 @@
#include <sallayout.hxx>
#include "svpcairotextrender.hxx"
#include <impfontmetricdata.hxx>
+#include <headless/CustomWidgetDraw.hxx>
#include <cairo.h>
@@ -259,6 +260,26 @@ public:
virtual SystemGraphicsData GetGraphicsData() const override;
+ // Native Widget Drawing interface
+ bool IsNativeControlSupported(ControlType eType, ControlPart ePart) override;
+
+ bool hitTestNativeControl(ControlType eType, ControlPart ePart,
+ const tools::Rectangle& rBoundingControlRegion,
+ const Point& rPosition, bool& rIsInside) override;
+
+ bool drawNativeControl(ControlType eType, ControlPart ePart,
+ const tools::Rectangle& rBoundingControlRegion,
+ ControlState eState, const ImplControlValue& aValue,
+ const OUString& aCaptions) override;
+
+ bool getNativeControlRegion(ControlType eType, ControlPart ePart,
+ const tools::Rectangle& rBoundingControlRegion,
+ ControlState eState,
+ const ImplControlValue& aValue,
+ const OUString& aCaption,
+ tools::Rectangle& rNativeBoundingRegion,
+ tools::Rectangle& rNativeContentRegion) override;
+
#if ENABLE_CAIRO_CANVAS
virtual bool SupportsCairo() const override;
virtual cairo::SurfaceSharedPtr CreateSurface(const cairo::CairoSurfaceSharedPtr& rSurface) const override;