summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2015-06-24 10:09:26 +0100
committerCaolán McNamara <caolanm@redhat.com>2015-06-25 09:20:50 +0100
commitedf56cb4300f68a3e513420feccbf8d5287a0428 (patch)
tree9ed4ce3eea6fed924a12179106ad494bf7b1d09d /vcl
parent65d31de78dd3f5055102122e60b7261f8b170df5 (diff)
gtk3: move cairo region clipping to svp
Change-Id: I4b4f09ee3fb7edbda3b6bb5af024c0966e3a2082
Diffstat (limited to 'vcl')
-rw-r--r--vcl/headless/svpgdi.cxx14
-rw-r--r--vcl/inc/headless/svpgdi.hxx1
-rw-r--r--vcl/inc/unx/gtk/gtkgdi.hxx2
-rw-r--r--vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx14
4 files changed, 15 insertions, 16 deletions
diff --git a/vcl/headless/svpgdi.cxx b/vcl/headless/svpgdi.cxx
index 4fe168956621..afc1bc44f5f8 100644
--- a/vcl/headless/svpgdi.cxx
+++ b/vcl/headless/svpgdi.cxx
@@ -117,6 +117,20 @@ namespace
}
}
+void SvpSalGraphics::clipRegion(cairo_t* cr)
+{
+ if (!m_aClipRegion.IsEmpty())
+ {
+ RectangleVector aRectangles;
+ m_aClipRegion.GetRegionRectangles(aRectangles);
+ for (RectangleVector::const_iterator aRectIter(aRectangles.begin()); aRectIter != aRectangles.end(); ++aRectIter)
+ {
+ cairo_rectangle(cr, aRectIter->Left(), aRectIter->Top(), aRectIter->GetWidth(), aRectIter->GetHeight());
+ }
+ cairo_clip(cr);
+ }
+}
+
#endif
bool SvpSalGraphics::drawAlphaRect(long nX, long nY, long nWidth, long nHeight, sal_uInt8 nTransparency)
diff --git a/vcl/inc/headless/svpgdi.hxx b/vcl/inc/headless/svpgdi.hxx
index aacbf99d38ee..587d488b3f37 100644
--- a/vcl/inc/headless/svpgdi.hxx
+++ b/vcl/inc/headless/svpgdi.hxx
@@ -212,6 +212,7 @@ public:
virtual SystemFontData GetSysFontData( int nFallbacklevel ) const SAL_OVERRIDE;
static cairo_t* createCairoContext(const basebmp::BitmapDeviceSharedPtr& rBuffer);
+ void clipRegion(cairo_t* cr);
#endif // ENABLE_CAIRO_CANVAS
diff --git a/vcl/inc/unx/gtk/gtkgdi.hxx b/vcl/inc/unx/gtk/gtkgdi.hxx
index 0d02188e6224..80de62b40a3b 100644
--- a/vcl/inc/unx/gtk/gtkgdi.hxx
+++ b/vcl/inc/unx/gtk/gtkgdi.hxx
@@ -61,8 +61,6 @@ public:
cairo_t* getCairoContext() const;
- void clipRegion(cairo_t* cr);
-
private:
GtkWidget *mpWindow;
static GtkStyleContext *mpButtonStyle;
diff --git a/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx b/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx
index 9457902d9732..985db9ef8f35 100644
--- a/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx
+++ b/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx
@@ -2103,18 +2103,4 @@ cairo_t* GtkSalGraphics::getCairoContext() const
return mpFrame->getCairoContext();
}
-void GtkSalGraphics::clipRegion(cairo_t* cr)
-{
- if (!m_aClipRegion.IsEmpty())
- {
- RectangleVector aRectangles;
- m_aClipRegion.GetRegionRectangles(aRectangles);
- for (RectangleVector::const_iterator aRectIter(aRectangles.begin()); aRectIter != aRectangles.end(); ++aRectIter)
- {
- cairo_rectangle(cr, aRectIter->Left(), aRectIter->Top(), aRectIter->GetWidth(), aRectIter->GetHeight());
- }
- cairo_clip(cr);
- }
-}
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */