X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/846914d18d70a51a43f1ebfe0c850a64708cb772..5527476f67f7313aeea0d16b2fe366e5a5ddb493:/include/wx/html/winpars.h diff --git a/include/wx/html/winpars.h b/include/wx/html/winpars.h index bbfb4a8198..e44b2f5fba 100644 --- a/include/wx/html/winpars.h +++ b/include/wx/html/winpars.h @@ -19,8 +19,10 @@ #if wxUSE_HTML #include "wx/module.h" +#include "wx/font.h" #include "wx/html/htmlpars.h" #include "wx/html/htmlcell.h" +#include "wx/encconv.h" class wxHtmlWinParser; class wxHtmlWinTagHandler; @@ -39,6 +41,7 @@ class WXDLLEXPORT wxHtmlWinParser : public wxHtmlParser public: wxHtmlWinParser(wxWindow *wnd = NULL); + ~wxHtmlWinParser(); virtual void InitParser(const wxString& source); virtual void DoneParser(); @@ -54,22 +57,21 @@ class WXDLLEXPORT wxHtmlWinParser : public wxHtmlParser // NOTE : these functions do _not_ return _actual_ // height/width. They return h/w of default font // for this DC. If you want actual values, call - // GetDC() -> GetChar...() + // GetDC()->GetChar...() wxWindow *GetWindow() {return m_Window;} // returns associated wxWindow void SetFonts(wxString normal_face, wxString fixed_face, const int *sizes); // sets fonts to be used when displaying HTML page. - virtual wxList* GetTempData(); - static void AddModule(wxHtmlTagsModule *module); // Adds tags module. see wxHtmlTagsModule for details. + static void RemoveModule(wxHtmlTagsModule *module); // parsing-related methods. These methods are called by tag handlers: wxHtmlContainerCell *GetContainer() const {return m_Container;} // Returns pointer to actual container. Common use in tag handler is : - // m_WParser -> GetContainer() -> InsertCell(new ...); + // m_WParser->GetContainer()->InsertCell(new ...); wxHtmlContainerCell *OpenContainer(); // opens new container. This container is sub-container of opened // container. Sets GetContainer to newly created container @@ -91,16 +93,23 @@ class WXDLLEXPORT wxHtmlWinParser : public wxHtmlParser void SetFontUnderlined(int x) {m_FontUnderlined = x;} int GetFontFixed() const {return m_FontFixed;} void SetFontFixed(int x) {m_FontFixed = x;} + wxString GetFontFace() const {return GetFontFixed() ? m_FontFaceFixed : m_FontFaceNormal;} + void SetFontFace(const wxString& face); int GetAlign() const {return m_Align;} void SetAlign(int a) {m_Align = a;} - const wxColour& GetLinkColor() const {return m_LinkColor;} - void SetLinkColor(const wxColour& clr) {m_LinkColor = clr;} - const wxColour& GetActualColor() const {return m_ActualColor;} - void SetActualColor(const wxColour& clr) {m_ActualColor = clr;} - const wxHtmlLinkInfo& GetLink() const {return m_Link;} + const wxColour& GetLinkColor() const { return m_LinkColor; } + void SetLinkColor(const wxColour& clr) { m_LinkColor = clr; } + const wxColour& GetActualColor() const { return m_ActualColor; } + void SetActualColor(const wxColour& clr) { m_ActualColor = clr ;} + const wxHtmlLinkInfo& GetLink() const { return m_Link; } void SetLink(const wxHtmlLinkInfo& link); + void SetInputEncoding(wxFontEncoding enc); + wxFontEncoding GetInputEncoding() const { return m_InputEnc; } + wxFontEncoding GetOutputEncoding() const { return m_OutputEnc; } + wxEncodingConverter *GetEncodingConverter() const { return m_EncConv; } + virtual wxFont* CreateCurrentFont(); // creates font depending on m_Font* members. @@ -135,8 +144,10 @@ class WXDLLEXPORT wxHtmlWinParser : public wxHtmlParser // average height of normal-sized text int m_Align; // actual alignment - - wxFont *m_FontsTable[2][2][2][2][7]; + + wxFont* m_FontsTable[2][2][2][2][7]; + wxString m_FontsFacesTable[2][2][2][2][7]; + wxFontEncoding m_FontsEncTable[2][2][2][2][7]; // table of loaded fonts. 1st four indexes are 0 or 1, depending on on/off // state of these flags (from left to right): // [bold][italic][underlined][fixed_size] @@ -146,6 +157,10 @@ class WXDLLEXPORT wxHtmlWinParser : public wxHtmlParser int m_FontsSizes[7]; wxString m_FontFaceFixed, m_FontFaceNormal; // html font sizes and faces of fixed and proportional fonts + + wxFontEncoding m_InputEnc, m_OutputEnc; + // I/O font encodings + wxEncodingConverter *m_EncConv; };