#ifndef DOC_STYLE_H
#define DOC_STYLE_H
#include <string>
#include "DocOutput.h"
enum TextRole
{
NormalRole,
Heading1Role,
Heading2Role,
Heading3Role,
Heading4Role,
BoldRole,
ItalicsRole,
QuoteRole,
CodeRole,
ListRole,
LinkRole,
EmailAddressRole,
OtherRole
};
class DocStyle
{
public:
DocStyle();
virtual ~DocStyle();
void readStyleFile(const char* a_fileName);
void writeStyleFile(const char* a_fileName);
void font(TextRole a_role, std::string& a_fontName, float& a_fontSize);
void foregroundColor(TextRole a_role, float& a_red, float& a_green, float& a_blue, float& a_alpha);
void backgroundColor(TextRole a_role, float& a_red, float& a_green, float& a_blue, float& a_alpha);
void adornNewPage(DocOutputPage& page);
private:
struct Pimpl;
std::unique_ptr<Pimpl> m_pimpl;
};
#endif // DOC_STYLE_H