Path: blob/master/Source/CPack/WiX/cmWIXRichTextFormatWriter.h
5018 views
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying1file LICENSE.rst or https://cmake.org/licensing for details. */2#pragma once34#include "cmConfigure.h" // IWYU pragma: keep56#include <string>78#include "cmsys/FStream.hxx"910/** \class cmWIXRichtTextFormatWriter11* \brief Helper class to generate Rich Text Format (RTF) documents12* from plain text (e.g. for license and welcome text)13*/14class cmWIXRichTextFormatWriter15{16public:17cmWIXRichTextFormatWriter(std::string const& filename);18~cmWIXRichTextFormatWriter();1920void AddText(std::string const& text);2122private:23void WriteHeader();24void WriteFontTable();25void WriteColorTable();26void WriteGenerator();2728void WriteDocumentPrefix();2930void ControlWord(std::string const& keyword);31void NewControlWord(std::string const& keyword);3233void StartGroup();34void EndGroup();3536void EmitUnicodeCodepoint(int c);37void EmitUnicodeSurrogate(int c);3839void EmitInvalidCodepoint(int c);4041cmsys::ofstream File;42};434445