| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
- file Copyright.txt or https://cmake.org/licensing for details. */
- #pragma once
- #include "cmConfigure.h" // IWYU pragma: keep
- #include <string>
- #include "cmsys/FStream.hxx"
- /** \class cmWIXRichtTextFormatWriter
- * \brief Helper class to generate Rich Text Format (RTF) documents
- * from plain text (e.g. for license and welcome text)
- */
- class cmWIXRichTextFormatWriter
- {
- public:
- cmWIXRichTextFormatWriter(std::string const& filename);
- ~cmWIXRichTextFormatWriter();
- void AddText(std::string const& text);
- private:
- void WriteHeader();
- void WriteFontTable();
- void WriteColorTable();
- void WriteGenerator();
- void WriteDocumentPrefix();
- void ControlWord(std::string const& keyword);
- void NewControlWord(std::string const& keyword);
- void StartGroup();
- void EndGroup();
- void EmitUnicodeCodepoint(int c);
- void EmitUnicodeSurrogate(int c);
- void EmitInvalidCodepoint(int c);
- cmsys::ofstream File;
- };
|