X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c782096417f0fd9de6c6d47b23174233ec6bcf57..86ac84b8ce086e6bbda58f422d41f84268606e35:/include/wx/html/winpars.h?ds=sidebyside diff --git a/include/wx/html/winpars.h b/include/wx/html/winpars.h index 8f554ce8c2..0c9d548c32 100644 --- a/include/wx/html/winpars.h +++ b/include/wx/html/winpars.h @@ -145,11 +145,25 @@ public: // creates font depending on m_Font* members. virtual wxFont* CreateCurrentFont(); + enum WhitespaceMode + { + Whitespace_Normal, // normal mode, collapse whitespace + Whitespace_Pre // inside
, keep whitespace as-is + }; + + // change the current whitespace handling mode + void SetWhitespaceMode(WhitespaceMode mode) { m_whitespaceMode = mode; } + WhitespaceMode GetWhitespaceMode() const { return m_whitespaceMode; } + protected: virtual void AddText(const wxString& txt); private: - void DoAddText(wxChar *temp, int& templen); + void FlushWordBuf(wxChar *temp, int& len); + void AddWord(wxHtmlWordCell *word); + void AddWord(const wxString& word) + { AddWord(new wxHtmlWordCell(word, *(GetDC()))); } + void AddPreBlock(const wxString& text); bool m_tmpLastWasSpace; wxChar *m_tmpStrBuf; @@ -207,9 +221,16 @@ private: wxEncodingConverter *m_EncConv; #endif + // current whitespace handling mode + WhitespaceMode m_whitespaceMode; + wxHtmlWordCell *m_lastWordCell; - DECLARE_NO_COPY_CLASS(wxHtmlWinParser) + // current position on line, in num. of characters; used to properly + // expand TABs; only updated while inside+ int m_posColumn; + + wxDECLARE_NO_COPY_CLASS(wxHtmlWinParser); }; @@ -236,7 +257,7 @@ public: protected: wxHtmlWinParser *m_WParser; // same as m_Parser, but overcasted - DECLARE_NO_COPY_CLASS(wxHtmlWinTagHandler) + wxDECLARE_NO_COPY_CLASS(wxHtmlWinTagHandler); };