diff options
author | Caolán McNamara <caolanm@redhat.com> | 2015-03-04 13:16:48 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2015-03-04 13:17:27 +0000 |
commit | 3cc36adbb48947ca1d670eef158908ff592abb8a (patch) | |
tree | ff76d7c2d5f5837405991b10a822d8dc4d0df685 | |
parent | 7c065a13e132b240b89801788a6e59d50001d224 (diff) |
duplicate of getCairoContext logic
Change-Id: I8ec75a69dc8b63cf0cbf51a409a253cda765b815
-rw-r--r-- | vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx | 12 |
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 ); |