diff options
Diffstat (limited to 'src/extension/internal/pdf-input-cairo.cpp')
| -rw-r--r-- | src/extension/internal/pdf-input-cairo.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/extension/internal/pdf-input-cairo.cpp b/src/extension/internal/pdf-input-cairo.cpp index bc76a30b5..36ef66713 100644 --- a/src/extension/internal/pdf-input-cairo.cpp +++ b/src/extension/internal/pdf-input-cairo.cpp @@ -32,6 +32,7 @@ #include <poppler/glib/poppler-page.h> #include "ui/widget/spinbutton.h" +#include <gdkmm/general.h> namespace Inkscape { namespace Extension { @@ -482,9 +483,10 @@ bool PdfImportCairoDialog::_onExposePreview(GdkEventExpose */*event*/) { if (!back_pixmap) { return true; } - back_pixmap->draw_pixbuf(Glib::RefPtr<Gdk::GC>(), thumb, 0, 0, 0, 0, - _thumb_width, _thumb_height, - Gdk::RGB_DITHER_NONE, 0, 0); + + Cairo::RefPtr<Cairo::Context> cr = back_pixmap->create_cairo_context(); + Gdk::Cairo::set_source_pixbuf(cr, thumb, 0, 0); + cr->paint(); _previewArea->get_window()->set_back_pixmap(back_pixmap, false); _previewArea->get_window()->clear(); } @@ -493,9 +495,9 @@ bool PdfImportCairoDialog::_onExposePreview(GdkEventExpose */*event*/) { if (_render_thumb) { copy_cairo_surface_to_pixbuf(_cairo_surface, _thumb_data, thumb->gobj()); } - _previewArea->get_window()->draw_pixbuf(Glib::RefPtr<Gdk::GC>(), thumb, - 0, 0, 0, _render_thumb ? 0 : 20, - -1, -1, Gdk::RGB_DITHER_NONE, 0, 0); + Cairo::RefPtr<Cairo::Context> cr = _previewArea->get_window()->create_cairo_context(); + Gdk::Cairo::set_source_pixbuf(cr, thumb, 0, _render_thumb ? 0 : 20); + cr->paint(); return true; } |
