summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2015-03-04 13:16:48 +0000
committerCaolán McNamara <caolanm@redhat.com>2015-03-04 13:17:27 +0000
commit3cc36adbb48947ca1d670eef158908ff592abb8a (patch)
treeff76d7c2d5f5837405991b10a822d8dc4d0df685
parent7c065a13e132b240b89801788a6e59d50001d224 (diff)
duplicate of getCairoContext logic
Change-Id: I8ec75a69dc8b63cf0cbf51a409a253cda765b815
-rw-r--r--vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx12
1 files changed, 2 insertions, 10 deletions
diff --git a/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx b/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx
index 98b78503befc..966f96408264 100644
--- a/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx
+++ b/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx
@@ -973,26 +973,18 @@ void GtkSalGraphics::renderAreaToPix( cairo_surface_t *source,
if( !mpFrame->m_aFrame.get() )
return;
- basebmp::RawMemorySharedArray data = mpFrame->m_aFrame->getBuffer();
- basegfx::B2IVector size = mpFrame->m_aFrame->getSize();
- sal_Int32 nStride = mpFrame->m_aFrame->getScanlineStride();
long ax = region->x;
long ay = region->y;
+ basegfx::B2IVector size = mpFrame->m_aFrame->getSize();
long awidth = MIN (region->width, size.getX() - ax);
long aheight = MIN (region->height, size.getY() - ay);
- cairo_surface_t *target =
- cairo_image_surface_create_for_data(data.get(),
- CAIRO_FORMAT_RGB24,
- size.getX(), size.getY(),
- nStride);
- cairo_t *cr = cairo_create(target);
+ cairo_t *cr = getCairoContext();
cairo_set_source_surface( cr, source, ax, ay );
cairo_rectangle( cr, ax, ay, awidth, aheight );
cairo_fill( cr );
cairo_destroy(cr);
- cairo_surface_destroy(target);
if ( !mpFrame->isDuringRender() )
gtk_widget_queue_draw_area( mpFrame->getWindow(), ax, ay, awidth, aheight );