]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/html/htmprint.h
wxChoicebook generic implementation.
[wxWidgets.git] / include / wx / html / htmprint.h
index eabe41acf4322d4857936938e893961f267264ea..e2a27bc59b8d0e5d57af47f648805266dd2977ea 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"
@@ -58,6 +59,9 @@ public:
     // Sets fonts to be used when displaying HTML page. (if size null then default sizes used).
     void SetFonts(wxString normal_face, wxString fixed_face, const int *sizes = NULL);
 
+    // Sets font sizes to be relative to the given size or the system default size
+    void NormalizeFontSizes(int size=-1);
+
     // [x,y] is position of upper-left corner of printing rectangle (see SetSize)
     // from is y-coordinate of the very first visible cell
     // to is y-coordinate of the next following page break, if any
@@ -105,7 +109,7 @@ 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.
 //--------------------------------------------------------------------------------
 
@@ -141,6 +145,9 @@ public:
     // Sets fonts to be used when displaying HTML page. (if size null then default sizes used).
     void SetFonts(wxString normal_face, wxString fixed_face, const int *sizes = NULL);
 
+    // Sets font sizes to be relative to the given size or the system default size
+    void NormalizeFontSizes(int size=-1);
+
     void SetMargins(float top = 25.2, float bottom = 25.2, float left = 25.2, float right = 25.2, 
                     float spaces = 5);
             // sets margins in milimeters. Defaults to 1 inch for margins and 0.5cm for space
@@ -151,6 +158,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 +188,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)
 };
 
@@ -226,7 +243,10 @@ 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;}
+    void NormalizeFontSizes(int size=-1);
+    // Sets font sizes to be relative to the given size or the system default size
+    
+    wxPrintData *GetPrintData();
     wxPageSetupDialogData *GetPageSetupData() {return m_PageSetupData;}
             // return page setting data objects. 
             // (You can set their parameters.)