]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gtk/gnome/gprint.h
Compile fix for --enable-stl.
[wxWidgets.git] / include / wx / gtk / gnome / gprint.h
index 80189e3561981eb5dda09f88cfceb7ca4fab71ee..4cdb6d999c368edcd6ef8f3e8c0cd460af92ff8d 100644 (file)
@@ -38,7 +38,8 @@ public:
     virtual bool TransferTo( wxPrintData &data );
     virtual bool TransferFrom( const wxPrintData &data );
 
-    virtual bool Ok() const { return true; }
+    virtual bool Ok() const { return IsOk(); }
+    virtual bool IsOk() const { return true; }
 
     GnomePrintConfig* GetPrintConfig() { return m_config; }
     void SetPrintJob( GnomePrintJob *job ) { m_job = job; }
@@ -77,6 +78,8 @@ public:
     virtual wxPageSetupDialogBase *CreatePageSetupDialog( wxWindow *parent,
                                                           wxPageSetupDialogData * data = NULL );
 
+    virtual wxDC* CreatePrinterDC( const wxPrintData& data );
+
     virtual bool HasPrintSetupDialog();
     virtual wxDialog *CreatePrintSetupDialog( wxWindow *parent, wxPrintData *data );
     virtual bool HasOwnPrintToFile();
@@ -98,7 +101,7 @@ public:
     wxGnomePrintDialog( wxWindow *parent,
                          wxPrintDialogData* data = NULL );
     wxGnomePrintDialog( wxWindow *parent, wxPrintData* data);
-    ~wxGnomePrintDialog();
+    virtual ~wxGnomePrintDialog();
 
     wxPrintData& GetPrintData()
         { return m_printDialogData.GetPrintData(); }
@@ -138,7 +141,7 @@ class wxGnomePageSetupDialog: public wxPageSetupDialogBase
 public:
     wxGnomePageSetupDialog( wxWindow *parent,
                             wxPageSetupDialogData* data = NULL );
-    ~wxGnomePageSetupDialog();
+    virtual ~wxGnomePageSetupDialog();
 
     virtual wxPageSetupDialogData& GetPageSetupDialogData();
 
@@ -198,12 +201,11 @@ class wxGnomePrintDC: public wxDC
 {
 public:
     wxGnomePrintDC( wxGnomePrinter *printer );
-    ~wxGnomePrintDC();
-
-    bool Ok() const;
+    wxGnomePrintDC( const wxPrintData& data );
+    virtual ~wxGnomePrintDC();
 
-    virtual void BeginDrawing() {}
-    virtual void EndDrawing() {}
+    bool Ok() const { return IsOk(); }
+    bool IsOk() const;
 
     bool DoFloodFill(wxCoord x1, wxCoord y1, const wxColour &col, int style=wxFLOOD_SURFACE );
     bool DoGetPixel(wxCoord x1, wxCoord y1, wxColour *col) const;
@@ -276,6 +278,7 @@ private:
     static float ms_PSScaleFactor;
 
 private:
+    wxPrintData             m_printData;
     PangoContext           *m_context;
     PangoLayout            *m_layout;
     PangoFontDescription   *m_fontdesc;
@@ -283,11 +286,13 @@ private:
     unsigned char           m_currentRed;
     unsigned char           m_currentGreen;
     unsigned char           m_currentBlue;
-    wxPrintData             m_printData;
 
     wxGnomePrinter         *m_printer;
     GnomePrintContext      *m_gpc;
+    GnomePrintJob*          m_job; // only used and destroyed when created with wxPrintData
 
+    void makeEllipticalPath(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
+    
 private:
     wxCoord XDEV2LOG(wxCoord x) const
     {
@@ -354,6 +359,34 @@ private:
     DECLARE_NO_COPY_CLASS(wxGnomePrintDC)
 };
 
+// ----------------------------------------------------------------------------
+// wxGnomePrintPreview: programmer creates an object of this class to preview a
+// wxPrintout.
+// ----------------------------------------------------------------------------
+
+class wxGnomePrintPreview : public wxPrintPreviewBase
+{
+public:
+    wxGnomePrintPreview(wxPrintout *printout,
+                             wxPrintout *printoutForPrinting = (wxPrintout *) NULL,
+                             wxPrintDialogData *data = (wxPrintDialogData *) NULL);
+    wxGnomePrintPreview(wxPrintout *printout,
+                             wxPrintout *printoutForPrinting,
+                             wxPrintData *data);
+
+    virtual ~wxGnomePrintPreview();
+
+    virtual bool Print(bool interactive);
+    virtual void DetermineScaling();
+
+private:
+    void Init(wxPrintout *printout, wxPrintout *printoutForPrinting);
+
+private:
+    DECLARE_CLASS(wxGnomePrintPreview)
+};
+
+
 #endif
     // wxUSE_LIBGNOMEPRINT