X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c782096417f0fd9de6c6d47b23174233ec6bcf57..eab1336c903271946530509a6c7939eba54371e6:/include/wx/html/winpars.h diff --git a/include/wx/html/winpars.h b/include/wx/html/winpars.h index 8f554ce8c2..5835338889 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,8 +221,15 @@ private: wxEncodingConverter *m_EncConv; #endif + // current whitespace handling mode + WhitespaceMode m_whitespaceMode; + wxHtmlWordCell *m_lastWordCell; + // current position on line, in num. of characters; used to properly + // expand TABs; only updated while inside+ int m_posColumn; + DECLARE_NO_COPY_CLASS(wxHtmlWinParser) };