diff options
author | Caolán McNamara <caolanm@redhat.com> | 2015-06-24 10:09:26 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2015-06-25 09:20:50 +0100 |
commit | edf56cb4300f68a3e513420feccbf8d5287a0428 (patch) | |
tree | 9ed4ce3eea6fed924a12179106ad494bf7b1d09d /vcl | |
parent | 65d31de78dd3f5055102122e60b7261f8b170df5 (diff) |
gtk3: move cairo region clipping to svp
Change-Id: I4b4f09ee3fb7edbda3b6bb5af024c0966e3a2082
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/headless/svpgdi.cxx | 14 | ||||
-rw-r--r-- | vcl/inc/headless/svpgdi.hxx | 1 | ||||
-rw-r--r-- | vcl/inc/unx/gtk/gtkgdi.hxx | 2 | ||||
-rw-r--r-- | vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx | 14 |
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: */ |