X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b5dbe15d0bacde245539f54c4d97af6b4696f01f..4f2511d706e5274a34e1521e11c1b95fed735b42:/include/wx/html/winpars.h?ds=sidebyside diff --git a/include/wx/html/winpars.h b/include/wx/html/winpars.h index 08638dee80..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, wxChar nbsp); + 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; @@ -201,13 +215,21 @@ private: // html font sizes and faces of fixed and proportional fonts #if !wxUSE_UNICODE + wxChar m_nbsp; wxFontEncoding m_InputEnc, m_OutputEnc; // I/O font encodings 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) };