123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
- file Copyright.txt or https://cmake.org/licensing for details. */
- #ifndef cmWIXRichTextFormatWriter_h
- #define cmWIXRichTextFormatWriter_h
- #include "cmConfigure.h" // IWYU pragma: keep
- #include "cmsys/FStream.hxx"
- #include <string>
- /** \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;
- };
- #endif
|