X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8d489a5e4bbe809f18a5db15e65b58219cf48354..refs/heads/master:/src/gtk/print.cpp diff --git a/src/gtk/print.cpp b/src/gtk/print.cpp index f2f1b27f40..d776a88b52 100644 --- a/src/gtk/print.cpp +++ b/src/gtk/print.cpp @@ -3,7 +3,6 @@ // Author: Anthony Bretaudeau // Purpose: GTK printing support // Created: 2007-08-25 -// RCS-ID: $Id$ // Copyright: (c) 2007 wxWidgets development team // Licence: wxWindows Licence ///////////////////////////////////////////////////////////////////////////// @@ -34,6 +33,7 @@ #include "wx/dynlib.h" #include "wx/paper.h" #include "wx/scopeguard.h" +#include "wx/modalhook.h" #include @@ -51,10 +51,6 @@ #include "wx/link.h" wxFORCE_LINK_THIS_MODULE(gtk_print) -#if wxUSE_LIBGNOMEPRINT -#include "wx/gtk/gnome/gprint.h" -#endif - #include "wx/gtk/private/object.h" // Useful to convert angles from/to Rad to/from Deg. @@ -64,8 +60,7 @@ static const double DEG2RAD = M_PI / 180.0; //---------------------------------------------------------------------------- // wxGtkPrintModule // Initialized when starting the app : if it successfully load the gtk-print framework, -// it uses it. If not, it falls back to gnome print (see /gtk/gnome/gprint.cpp) then -// to postscript if gnomeprint is not available. +// it uses it. If not, it falls back to Postscript. //---------------------------------------------------------------------------- class wxGtkPrintModule: public wxModule @@ -73,10 +68,6 @@ class wxGtkPrintModule: public wxModule public: wxGtkPrintModule() { -#if wxUSE_LIBGNOMEPRINT - // This module must be initialized AFTER gnomeprint's one - AddDependency(wxCLASSINFO(wxGnomePrintModule)); -#endif } bool OnInit(); void OnExit() {} @@ -623,6 +614,8 @@ wxGtkPrintDialog::~wxGtkPrintDialog() // This is called even if we actually don't want the dialog to appear. int wxGtkPrintDialog::ShowModal() { + WX_HOOK_MODAL_DIALOG(); + // We need to restore the settings given in the constructor. wxPrintData data = m_printDialogData.GetPrintData(); wxGtkPrintNativeData *native = @@ -747,6 +740,8 @@ wxGtkPageSetupDialog::~wxGtkPageSetupDialog() int wxGtkPageSetupDialog::ShowModal() { + WX_HOOK_MODAL_DIALOG(); + // Get the config. m_pageDialogData.GetPrintData().ConvertToNative(); wxGtkPrintNativeData *native = (wxGtkPrintNativeData*) m_pageDialogData.GetPrintData().GetNativeData(); @@ -1205,7 +1200,7 @@ bool wxGtkPrinterDCImpl::IsOk() const void* wxGtkPrinterDCImpl::GetCairoContext() const { - return (void*) cairo_reference( m_cairo ); + return m_cairo; } void* wxGtkPrinterDCImpl::GetHandle() const @@ -1452,7 +1447,7 @@ void wxGtkPrinterDCImpl::DoDrawPoint(wxCoord x, wxCoord y) CalcBoundingBox( x, y ); } -void wxGtkPrinterDCImpl::DoDrawLines(int n, wxPoint points[], wxCoord xoffset, wxCoord yoffset) +void wxGtkPrinterDCImpl::DoDrawLines(int n, const wxPoint points[], wxCoord xoffset, wxCoord yoffset) { if ( m_pen.IsTransparent() ) return; @@ -1474,7 +1469,7 @@ void wxGtkPrinterDCImpl::DoDrawLines(int n, wxPoint points[], wxCoord xoffset, w cairo_stroke ( m_cairo); } -void wxGtkPrinterDCImpl::DoDrawPolygon(int n, wxPoint points[], +void wxGtkPrinterDCImpl::DoDrawPolygon(int n, const wxPoint points[], wxCoord xoffset, wxCoord yoffset, wxPolygonFillMode fillStyle) { @@ -1510,7 +1505,7 @@ void wxGtkPrinterDCImpl::DoDrawPolygon(int n, wxPoint points[], cairo_restore(m_cairo); } -void wxGtkPrinterDCImpl::DoDrawPolyPolygon(int n, int count[], wxPoint points[], +void wxGtkPrinterDCImpl::DoDrawPolyPolygon(int n, const int count[], const wxPoint points[], wxCoord xoffset, wxCoord yoffset, wxPolygonFillMode fillStyle) { @@ -2072,6 +2067,8 @@ void wxGtkPrinterDCImpl::DoSetClippingRegion(wxCoord x, wxCoord y, wxCoord width { cairo_rectangle ( m_cairo, XLOG2DEV(x), YLOG2DEV(y), XLOG2DEVREL(width), YLOG2DEVREL(height)); cairo_clip(m_cairo); + + wxDCImpl::DoSetClippingRegion(x, y, width, height); } void wxGtkPrinterDCImpl::DestroyClippingRegion()