]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/html/htmprint.h
Smartphone menus.
[wxWidgets.git] / include / wx / html / htmprint.h
index 71448016c7d89de593085d030d98e1ef5511b7e7..c80acd66559e59d4cf10f1b063d32c7a28237958 100644 (file)
@@ -11,7 +11,7 @@
 #ifndef _WX_HTMPRINT_H_
 #define _WX_HTMPRINT_H_
 
-#if defined(__GNUG__) && !defined(__APPLE__)
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
 #pragma interface "htmprint.h"
 #endif
 
@@ -21,6 +21,7 @@
 
 #include "wx/html/htmlcell.h"
 #include "wx/html/winpars.h"
+#include "wx/html/htmlfilt.h"
 
 #include "wx/print.h"
 #include "wx/printdlg.h"
@@ -33,7 +34,7 @@
 //                  portion of DC
 //--------------------------------------------------------------------------------
 
-class WXDLLEXPORT wxHtmlDCRenderer : public wxObject
+class WXDLLIMPEXP_HTML wxHtmlDCRenderer : public wxObject
 {
 public:
     wxHtmlDCRenderer();
@@ -105,12 +106,12 @@ enum {
 
 //--------------------------------------------------------------------------------
 // wxHtmlPrintout
-//                  This class is derived from standard wxWindows printout class
+//                  This class is derived from standard wxWidgets printout class
 //                  and is used to print HTML documents.
 //--------------------------------------------------------------------------------
 
 
-class WXDLLEXPORT wxHtmlPrintout : public wxPrintout
+class WXDLLIMPEXP_HTML wxHtmlPrintout : public wxPrintout
 {
 public:
     wxHtmlPrintout(const wxString& title = wxT("Printout"));
@@ -151,6 +152,13 @@ public:
     bool HasPage(int page);
     void GetPageInfo(int *minPage, int *maxPage, int *selPageFrom, int *selPageTo);
     bool OnBeginDocument(int startPage, int endPage);
+    void OnPreparePrinting();
+
+    // Adds input filter
+    static void AddFilter(wxHtmlFilter *filter);
+
+    // Cleanup
+    static void CleanUpStatics();
 
 private:
 
@@ -174,6 +182,9 @@ private:
     wxHtmlDCRenderer *m_Renderer, *m_RendererHdr;
     float m_MarginTop, m_MarginBottom, m_MarginLeft, m_MarginRight, m_MarginSpace;
 
+    // list of HTML filters
+    static wxList m_Filters;
+
     DECLARE_NO_COPY_CLASS(wxHtmlPrintout)
 };
 
@@ -193,10 +204,10 @@ private:
 //                         stores page&printer settings in it.
 //--------------------------------------------------------------------------------
 
-class WXDLLEXPORT wxHtmlEasyPrinting : public wxObject
+class WXDLLIMPEXP_HTML wxHtmlEasyPrinting : public wxObject
 {
 public:
-    wxHtmlEasyPrinting(const wxString& name = wxT("Printing"), wxFrame *parent_frame = NULL);
+    wxHtmlEasyPrinting(const wxString& name = wxT("Printing"), wxWindow *parentWindow = NULL);
     ~wxHtmlEasyPrinting();
 
     bool PreviewFile(const wxString &htmlfile);
@@ -226,7 +237,7 @@ public:
     void SetFonts(wxString normal_face, wxString fixed_face, const int *sizes = 0);
     // Sets fonts to be used when displaying HTML page. (if size null then default sizes used)
 
-    wxPrintData *GetPrintData() {return m_PrintData;}
+    wxPrintData *GetPrintData();
     wxPageSetupDialogData *GetPageSetupData() {return m_PageSetupData;}
             // return page setting data objects. 
             // (You can set their parameters.)
@@ -244,7 +255,7 @@ private:
     int *m_FontsSizes;
     wxString m_FontFaceFixed, m_FontFaceNormal;
     wxString m_Headers[2], m_Footers[2];
-    wxFrame *m_Frame;
+    wxWindow *m_ParentWindow;
 
     DECLARE_NO_COPY_CLASS(wxHtmlEasyPrinting)
 };