X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/65dd9ae23c1532fbbd43c19dccd7cc8a25a8a6f4..b2eabfe86603fe932b61c513577a8e1b7d0fb815:/include/wx/gtk/print.h diff --git a/include/wx/gtk/print.h b/include/wx/gtk/print.h index a4175c2f1b..62a3514645 100644 --- a/include/wx/gtk/print.h +++ b/include/wx/gtk/print.h @@ -53,7 +53,7 @@ public: virtual wxPageSetupDialogBase *CreatePageSetupDialog( wxWindow *parent, wxPageSetupDialogData * data = NULL ); - virtual wxDC* CreatePrinterDC( const wxPrintData& data ); + virtual wxDCImpl* CreatePrinterDCImpl( wxPrinterDC *owner, const wxPrintData& data ); virtual bool HasPrintSetupDialog(); virtual wxDialog *CreatePrintSetupDialog( wxWindow *parent, wxPrintData *data ); @@ -215,18 +215,20 @@ private: }; //----------------------------------------------------------------------------- -// wxGtkPrintDC +// wxGtkPrinterDC //----------------------------------------------------------------------------- -class WXDLLIMPEXP_CORE wxGtkPrintDC: public wxDC +class WXDLLIMPEXP_CORE wxGtkPrinterDCImpl : public wxDCImpl { public: - wxGtkPrintDC( const wxPrintData& data ); - virtual ~wxGtkPrintDC(); + wxGtkPrinterDCImpl( wxPrinterDC *owner, const wxPrintData& data ); + virtual ~wxGtkPrinterDCImpl(); bool Ok() const { return IsOk(); } bool IsOk() const; + virtual void* GetCairoContext() const; + bool CanDrawBitmap() const { return true; } void Clear(); void SetFont( const wxFont& font ); @@ -247,7 +249,10 @@ public: void SetBackgroundMode(int mode); void SetPalette(const wxPalette& WXUNUSED(palette)) { } void SetResolution(int ppi); - int GetResolution(); + + // overriden for wxPrinterDC Impl + virtual int GetResolution() const; + virtual wxRect GetPaperRect() const; protected: bool DoFloodFill(wxCoord x1, wxCoord y1, const wxColour &col, int style=wxFLOOD_SURFACE ); @@ -266,8 +271,8 @@ protected: void DoDrawRoundedRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height, double radius = 20.0); void DoDrawEllipse(wxCoord x, wxCoord y, wxCoord width, wxCoord height); #if wxUSE_SPLINES - void DoDrawSpline(wxList *points); -#endif // wxUSE_SPLINES + void DoDrawSpline(const wxPointList *points); +#endif bool DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height, wxDC *source, wxCoord xsrc, wxCoord ysrc, int rop = wxCOPY, bool useMask = false, wxCoord xsrcMask = wxDefaultCoord, wxCoord ysrcMask = wxDefaultCoord); @@ -276,7 +281,10 @@ protected: void DoDrawText(const wxString& text, wxCoord x, wxCoord y ); void DoDrawRotatedText(const wxString& text, wxCoord x, wxCoord y, double angle); void DoSetClippingRegion(wxCoord x, wxCoord y, wxCoord width, wxCoord height); - void DoSetClippingRegionAsRegion( const wxRegion &WXUNUSED(clip) ) { } + void DoSetDeviceClippingRegion( const wxRegion &WXUNUSED(clip) ) + { + wxFAIL_MSG( "not implemented" ); + } void DoGetTextExtent(const wxString& string, wxCoord *x, wxCoord *y, wxCoord *descent = (wxCoord *) NULL, wxCoord *externalLeading = (wxCoord *) NULL, @@ -304,8 +312,8 @@ private: double m_PS2DEV; double m_DEV2PS; - DECLARE_DYNAMIC_CLASS(wxGtkPrintDC) - DECLARE_NO_COPY_CLASS(wxGtkPrintDC) + DECLARE_DYNAMIC_CLASS(wxGtkPrinterDCImpl) + DECLARE_NO_COPY_CLASS(wxGtkPrinterDCImpl) }; // ---------------------------------------------------------------------------- @@ -329,11 +337,16 @@ public: virtual void DetermineScaling(); private: - void Init(wxPrintout *printout, wxPrintout *printoutForPrinting); + void Init(wxPrintout *printout, + wxPrintout *printoutForPrinting, + wxPrintData *data); + + // resolution to use in DPI + int m_resolution; DECLARE_CLASS(wxGtkPrintPreview) }; -#endif +#endif // wxUSE_GTKPRINT -#endif +#endif // _WX_GTK_PRINT_H_