00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef WP6CHARACTERGROUP_H
00027 #define WP6CHARACTERGROUP_H
00028
00029 #include "WP6VariableLengthGroup.h"
00030
00031 class WP6CharacterGroup_SetAlignmentCharacterSubGroup: public WP6VariableLengthGroup_SubGroup
00032 {
00033 public:
00034 WP6CharacterGroup_SetAlignmentCharacterSubGroup(WPXInputStream *input);
00035 void parse(WP6Listener *listener, const uint8_t numPrefixIDs, uint16_t const *prefixIDs) const;
00036
00037 private:
00038 uint8_t m_character;
00039 uint8_t m_characterSet;
00040 };
00041
00042 class WP6CharacterGroup_ColorSubGroup: public WP6VariableLengthGroup_SubGroup
00043 {
00044 public:
00045 WP6CharacterGroup_ColorSubGroup(WPXInputStream *input);
00046 void parse(WP6Listener *listener, const uint8_t numPrefixIDs, uint16_t const *prefixIDs) const;
00047
00048 private:
00049 uint8_t m_red;
00050 uint8_t m_green;
00051 uint8_t m_blue;
00052 };
00053
00054 class WP6CharacterGroup_CharacterShadingChangeSubGroup: public WP6VariableLengthGroup_SubGroup
00055 {
00056 public:
00057 WP6CharacterGroup_CharacterShadingChangeSubGroup(WPXInputStream *input);
00058 void parse(WP6Listener *listener, const uint8_t numPrefixIDs, uint16_t const *prefixIDs) const;
00059
00060 private:
00061 uint8_t m_shading;
00062 };
00063
00064 class WP6CharacterGroup_FontFaceChangeSubGroup : public WP6VariableLengthGroup_SubGroup
00065 {
00066 public:
00067 WP6CharacterGroup_FontFaceChangeSubGroup(WPXInputStream *input);
00068 void parse(WP6Listener *listener, const uint8_t numPrefixIDs, uint16_t const *prefixIDs) const;
00069
00070 private:
00071 uint16_t m_oldMatchedPointSize;
00072 uint16_t m_hash;
00073 uint16_t m_matchedFontIndex;
00074 uint16_t m_matchedFontPointSize;
00075 };
00076
00077 class WP6CharacterGroup_FontSizeChangeSubGroup : public WP6VariableLengthGroup_SubGroup
00078 {
00079 public:
00080 WP6CharacterGroup_FontSizeChangeSubGroup(WPXInputStream *input);
00081 void parse(WP6Listener *listener, const uint8_t numPrefixIDs, uint16_t const *prefixIDs) const;
00082
00083 private:
00084 uint16_t m_desiredFontPointSize;
00085 };
00086
00087 class WP6CharacterGroup_SetDotLeaderCharactersSubGroup: public WP6VariableLengthGroup_SubGroup
00088 {
00089 public:
00090 WP6CharacterGroup_SetDotLeaderCharactersSubGroup(WPXInputStream *input);
00091 void parse(WP6Listener *listener, const uint8_t numPrefixIDs, uint16_t const *prefixIDs) const;
00092
00093 private:
00094 uint8_t m_character;
00095 uint8_t m_characterSet;
00096 uint8_t m_numberOfSpaces;
00097 };
00098
00099 class WP6CharacterGroup_ParagraphNumberOnSubGroup : public WP6VariableLengthGroup_SubGroup
00100 {
00101 public:
00102 WP6CharacterGroup_ParagraphNumberOnSubGroup(WPXInputStream *input);
00103 void parse(WP6Listener *listener, const uint8_t numPrefixIDs, uint16_t const *prefixIDs) const;
00104
00105 private:
00106 uint16_t m_outlineHash;
00107 uint8_t m_level;
00108 uint8_t m_flag;
00109 };
00110
00111 class WP6CharacterGroup_TableDefinitionOnSubGroup : public WP6VariableLengthGroup_SubGroup
00112 {
00113 public:
00114 WP6CharacterGroup_TableDefinitionOnSubGroup(WPXInputStream *input);
00115 void parse(WP6Listener *listener, const uint8_t numPrefixIDs, uint16_t const *prefixIDs) const;
00116
00117 private:
00118 uint8_t m_flags;
00119 uint8_t m_position;
00120 uint16_t m_leftOffset;
00121 };
00122
00123 class WP6CharacterGroup_TableDefinitionOffSubGroup : public WP6VariableLengthGroup_SubGroup
00124 {
00125 public:
00126 WP6CharacterGroup_TableDefinitionOffSubGroup(WPXInputStream *input);
00127 void parse(WP6Listener *listener, const uint8_t numPrefixIDs, uint16_t const *prefixIDs) const;
00128
00129 private:
00130
00131 };
00132
00133 class WP6CharacterGroup_TableColumnSubGroup : public WP6VariableLengthGroup_SubGroup
00134 {
00135 public:
00136 WP6CharacterGroup_TableColumnSubGroup(WPXInputStream *input);
00137 void parse(WP6Listener *listener, const uint8_t numPrefixIDs, uint16_t const *prefixIDs) const;
00138
00139 private:
00140 uint8_t m_flags;
00141 uint16_t m_width;
00142 uint16_t m_leftGutter;
00143 uint16_t m_rightGutter;
00144 uint32_t m_attributes;
00145 uint8_t m_alignment;
00146 uint16_t m_absPosFromRight;
00147 uint16_t m_numberType;
00148 uint8_t m_currencyIndex;
00149 };
00150
00151 class WP6CharacterGroup : public WP6VariableLengthGroup
00152 {
00153 public:
00154 WP6CharacterGroup(WPXInputStream *input);
00155 ~WP6CharacterGroup();
00156 void _readContents(WPXInputStream *input);
00157 void parse(WP6Listener *listener);
00158
00159 private:
00160 WP6CharacterGroup(const WP6CharacterGroup&);
00161 WP6CharacterGroup& operator=(const WP6CharacterGroup&);
00162 WP6VariableLengthGroup_SubGroup *m_subGroupData;
00163
00164 };
00165
00166 #endif