route all Cairo calls in GTK printing code through gs_cairo (is this still needed?)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55762 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík
2008-09-21 09:42:49 +00:00
parent 40fcf546f6
commit fc2bb342ec
2 changed files with 6 additions and 4 deletions

View File

@@ -102,6 +102,8 @@ public:
(cairo_pattern_t *pattern, cairo_filter_t filter), (pattern, filter) ) (cairo_pattern_t *pattern, cairo_filter_t filter), (pattern, filter) )
wxDL_VOIDMETHOD_DEFINE( cairo_rectangle, wxDL_VOIDMETHOD_DEFINE( cairo_rectangle,
(cairo_t *cr, double x, double y, double width, double height), (cr, x, y, width, height) ) (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, wxDL_VOIDMETHOD_DEFINE( cairo_reset_clip,
(cairo_t *cr), (cr) ) (cairo_t *cr), (cr) )
wxDL_VOIDMETHOD_DEFINE( cairo_restore, wxDL_VOIDMETHOD_DEFINE( cairo_restore,

View File

@@ -1177,7 +1177,7 @@ bool wxGtkPrinterDCImpl::IsOk() const
void* wxGtkPrinterDCImpl::GetCairoContext() 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), bool wxGtkPrinterDCImpl::DoFloodFill(wxCoord WXUNUSED(x1),
@@ -1746,11 +1746,11 @@ void wxGtkPrinterDCImpl::DoDrawBitmap( const wxBitmap& bitmap, wxCoord x, wxCoor
// Scale the image // Scale the image
cairo_filter_t filter = CAIRO_FILTER_BILINEAR; cairo_filter_t filter = CAIRO_FILTER_BILINEAR;
cairo_pattern_t* pattern = cairo_pattern_create_for_surface(surface); cairo_pattern_t* pattern = gs_cairo->cairo_pattern_create_for_surface(surface);
cairo_pattern_set_filter(pattern,filter); gs_cairo->cairo_pattern_set_filter(pattern,filter);
wxDouble scaleX = (wxDouble) XLOG2DEVREL(bw) / (wxDouble) bw; wxDouble scaleX = (wxDouble) XLOG2DEVREL(bw) / (wxDouble) bw;
wxDouble scaleY = (wxDouble) YLOG2DEVREL(bh) / (wxDouble) bh; 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); gs_cairo->cairo_set_source(m_cairo, pattern);
// Use the original size here since the context is scaled already. // Use the original size here since the context is scaled already.