]> git.saurik.com Git - wxWidgets.git/commitdiff
route all Cairo calls in GTK printing code through gs_cairo (is this still needed?)
authorVáclav Slavík <vslavik@fastmail.fm>
Sun, 21 Sep 2008 09:42:49 +0000 (09:42 +0000)
committerVáclav Slavík <vslavik@fastmail.fm>
Sun, 21 Sep 2008 09:42:49 +0000 (09:42 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55762 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/cairo.h
src/gtk/print.cpp

index 7133656190a8aba2d3975ff5cd647d191c5bed03..acb961c83f3d2022409aa45e986b7040b01277ec 100644 (file)
@@ -102,6 +102,8 @@ public:
         (cairo_pattern_t *pattern, cairo_filter_t filter), (pattern, filter) )
     wxDL_VOIDMETHOD_DEFINE( cairo_rectangle,
         (cairo_t *cr, double x, double y, double width, double height), (cr, x, y, width, height) )
+    wxDL_METHOD_DEFINE( cairo_t*, cairo_reference,
+        (cairo_t *cr), (cr), NULL )
     wxDL_VOIDMETHOD_DEFINE( cairo_reset_clip,
         (cairo_t *cr), (cr) )
     wxDL_VOIDMETHOD_DEFINE( cairo_restore,
index 62c47203f50c78b61b2d434c55cc2bb64e4d25ef..5be92542a8065e08929d021132b21b9b7abaffab 100644 (file)
@@ -1177,7 +1177,7 @@ bool wxGtkPrinterDCImpl::IsOk() const
 
 void* wxGtkPrinterDCImpl::GetCairoContext() const
 {
-    return (void*) cairo_reference( m_cairo );
+    return (void*) gs_cairo->cairo_reference( m_cairo );
 }
 
 bool wxGtkPrinterDCImpl::DoFloodFill(wxCoord WXUNUSED(x1),
@@ -1746,11 +1746,11 @@ void wxGtkPrinterDCImpl::DoDrawBitmap( const wxBitmap& bitmap, wxCoord x, wxCoor
 
     // Scale the image
     cairo_filter_t filter = CAIRO_FILTER_BILINEAR;
-    cairo_pattern_t* pattern = cairo_pattern_create_for_surface(surface);
-    cairo_pattern_set_filter(pattern,filter);
+    cairo_pattern_t* pattern = gs_cairo->cairo_pattern_create_for_surface(surface);
+    gs_cairo->cairo_pattern_set_filter(pattern,filter);
     wxDouble scaleX = (wxDouble) XLOG2DEVREL(bw) / (wxDouble) bw;
     wxDouble scaleY = (wxDouble) YLOG2DEVREL(bh) / (wxDouble) bh;
-    cairo_scale(m_cairo, scaleX, scaleY);
+    gs_cairo->cairo_scale(m_cairo, scaleX, scaleY);
 
     gs_cairo->cairo_set_source(m_cairo, pattern);
     // Use the original size here since the context is scaled already.