diff options
Diffstat (limited to 'src/rtfformatting.h')
-rw-r--r-- | src/rtfformatting.h | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/src/rtfformatting.h b/src/rtfformatting.h new file mode 100644 index 0000000..2dfc126 --- /dev/null +++ b/src/rtfformatting.h @@ -0,0 +1,122 @@ +// RtfTextProperties.h: interface for the RtfTextProperties class. +// +////////////////////////////////////////////////////////////////////// + +#if !defined(AFX_RTFTEXTPROPERTIES_H__719D85C9_69D9_4499_BE5E_7A9A7F6F9C38__INCLUDED_) +#define AFX_RTFTEXTPROPERTIES_H__719D85C9_69D9_4499_BE5E_7A9A7F6F9C38__INCLUDED_ + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 + +class RtfFormatting +{ +public: + RtfFormatting() + { + resetText(); + resetPara(); + } + + RtfFormatting(const RtfFormatting& format) + { + copy(format); + } + + bool textEquals(const RtfFormatting& format) const + { + return m_bold == format.m_bold && + m_italic == format.m_italic && + m_strike == format.m_italic && + m_hidden == format.m_hidden && + m_underline == format.m_underline && + m_color == format.m_color; + } + + bool paraEquals(RtfFormatting& format) const + { + return m_style == format.m_style && + m_list == format.m_list && + m_inTbl == format.m_inTbl; + } + + void copy(const RtfFormatting& format) + { + m_bold = format.m_bold; + m_italic = format.m_italic; + m_strike = format.m_italic; + m_hidden = format.m_hidden; + m_underline = format.m_underline; + m_color = format.m_color; + + m_style = format.m_style; + m_list = format.m_list; + m_inTbl = format.m_inTbl; + } + + void resetText() + { + m_bold = m_italic = m_strike = + m_underline = m_hidden = false; + m_color = -1; + } + + void resetPara() + { + m_style = m_list = -1; + m_inTbl = false; + } + + bool textIsBold() const + { return m_bold; } + bool textIsItalic() const + { return m_italic; } + bool textIsStrike() const + { return m_strike; } + bool textIsUnderline() const + { return m_underline; } + bool textIsHidden() const + { return m_hidden; } + int textColor() const + { return m_color; } + int paraStyle() const + { return m_style; } + int paraList() const + { return m_list; } + bool paraInTable() const + { return m_inTbl; } + + void textSetBold(bool bold) + { m_bold = bold; } + void textSetItalic(bool italic) + { m_italic = italic; } + void textSetStrike(bool strike) + { m_strike = strike; } + void textSetUnderline(bool underline) + { m_underline = underline; } + void textSetHidden(bool hidden) + { m_hidden = hidden; } + void textSetColor(int color) + { m_color = color; } + void paraSetStyle(int style) + { m_style = style; } + void paraSetList(int list) + { m_list = list; } + void paraSetTable(bool inTable) + { m_inTbl = inTable; } + +protected: + bool m_bold; + bool m_italic; + bool m_strike; + bool m_underline; + bool m_hidden; + int m_color; + + int m_style; + int m_list; + bool m_inTbl; + // TODO: Character styles +}; + +#endif // !defined(AFX_RTFTEXTPROPERTIES_H__719D85C9_69D9_4499_BE5E_7A9A7F6F9C38__INCLUDED_) |