X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6d52ca536a0ecb6e69474d30461f6128497505a0..55410bb4f67febe1ca20654f078ea4fb9a6223ae:/src/gtk/print.cpp diff --git a/src/gtk/print.cpp b/src/gtk/print.cpp index a7c6f95081..4c77554f19 100644 --- a/src/gtk/print.cpp +++ b/src/gtk/print.cpp @@ -34,10 +34,8 @@ #include "wx/gtk/private.h" #include "wx/dynlib.h" #include "wx/paper.h" -#include "wx/rawbmp.h" #include -#include #if wxUSE_GRAPHICS_CONTEXT #include "wx/graphics.h" @@ -1175,7 +1173,7 @@ void* wxGtkPrinterDCImpl::GetCairoContext() const bool wxGtkPrinterDCImpl::DoFloodFill(wxCoord WXUNUSED(x1), wxCoord WXUNUSED(y1), const wxColour& WXUNUSED(col), - int WXUNUSED(style)) + wxFloodFillStyle WXUNUSED(style)) { // We can't access the given coord as a Cairo context is scalable, ie a // coord doesn't mean anything in this context. @@ -1429,7 +1427,9 @@ void wxGtkPrinterDCImpl::DoDrawLines(int n, wxPoint points[], wxCoord xoffset, w cairo_stroke ( m_cairo); } -void wxGtkPrinterDCImpl::DoDrawPolygon(int n, wxPoint points[], wxCoord xoffset, wxCoord yoffset, int fillStyle) +void wxGtkPrinterDCImpl::DoDrawPolygon(int n, wxPoint points[], + wxCoord xoffset, wxCoord yoffset, + wxPolygonFillMode fillStyle) { if (n==0) return; @@ -1463,7 +1463,9 @@ void wxGtkPrinterDCImpl::DoDrawPolygon(int n, wxPoint points[], wxCoord xoffset, cairo_restore(m_cairo); } -void wxGtkPrinterDCImpl::DoDrawPolyPolygon(int n, int count[], wxPoint points[], wxCoord xoffset, wxCoord yoffset, int fillStyle) +void wxGtkPrinterDCImpl::DoDrawPolyPolygon(int n, int count[], wxPoint points[], + wxCoord xoffset, wxCoord yoffset, + wxPolygonFillMode fillStyle) { wxDCImpl::DoDrawPolyPolygon( n, count, points, xoffset, yoffset, fillStyle ); } @@ -1622,7 +1624,7 @@ void wxGtkPrinterDCImpl::DoDrawSpline(const wxPointList *points) bool wxGtkPrinterDCImpl::DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height, wxDC *source, wxCoord xsrc, wxCoord ysrc, - int rop, bool useMask, + wxRasterOperationMode rop, bool useMask, wxCoord WXUNUSED_UNLESS_DEBUG(xsrcMask), wxCoord WXUNUSED_UNLESS_DEBUG(ysrcMask)) { @@ -1653,84 +1655,13 @@ void wxGtkPrinterDCImpl::DoDrawBitmap( const wxBitmap& bitmap, wxCoord x, wxCoor { wxCHECK_RET( bitmap.IsOk(), wxT("Invalid bitmap in wxGtkPrinterDCImpl::DoDrawBitmap")); - cairo_surface_t* surface; x = wxCoord(XLOG2DEV(x)); y = wxCoord(YLOG2DEV(y)); int bw = bitmap.GetWidth(); int bh = bitmap.GetHeight(); wxBitmap bmpSource = bitmap; // we need a non-const instance. - unsigned char* buffer = new unsigned char[bw*bh*4]; - wxUint32* data = (wxUint32*)buffer; - - wxMask *mask = NULL; - if (useMask) mask = bmpSource.GetMask(); - - // Create a surface object and copy the bitmap pixel data to it. If the image has alpha (or a mask represented as alpha) - // then we'll use a different format and iterator than if it doesn't. - if (bmpSource.HasAlpha() || mask) - { - surface = cairo_image_surface_create_for_data( - buffer, CAIRO_FORMAT_ARGB32, bw, bh, bw*4); - wxAlphaPixelData pixData(bmpSource, wxPoint(0,0), wxSize(bw, bh)); - wxCHECK_RET( pixData, wxT("Failed to gain raw access to bitmap data.")); - - wxAlphaPixelData::Iterator p(pixData); - int y, x; - for (y=0; y