libwpd: WP6CharacterGroup.h Source File documentation

Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

# WP6CharacterGroup.h

Go to the documentation of this file.

    00001 /* libwpd
    00002  * Copyright (C) 2002 William Lachance (william.lachance@sympatico.ca)
    00003  * Copyright (C) 2002 Marc Maurer (j.m.maurer@student.utwente.nl)
    00004  *
    00005  * This library is free software; you can redistribute it and/or
    00006  * modify it under the terms of the GNU Lesser General Public
    00007  * License as published by the Free Software Foundation; either
    00008  * version 2 of the License, or (at your option) any later version.
    00009  *
    00010  * This library is distributed in the hope that it will be useful,
    00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    00013  * Library General Public License for more details.
    00014  *
    00015  * You should have received a copy of the GNU Library General Public
    00016  * License along with this library; if not, write to the Free Software
    00017  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
    00018  *
    00019  * For further information visit http://libwpd.sourceforge.net
    00020  */
    00021
    00022 /* "This product is not manufactured, approved, or supported by
    00023  * Corel Corporation or Corel Corporation Limited."
    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         virtual 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         virtual 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         virtual 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         virtual 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_SetDotLeaderCharactersSubGroup: public WP6VariableLengthGroup_SubGroup
    00078 {
    00079 public:
    00080         WP6CharacterGroup_SetDotLeaderCharactersSubGroup(WPXInputStream *input);
    00081         virtual void parse(WP6Listener *listener, const uint8_t numPrefixIDs, uint16_t const *prefixIDs) const;
    00082
    00083 private:
    00084         uint8_t m_character;
    00085         uint8_t m_characterSet;
    00086         uint8_t m_numberOfSpaces;
    00087 };
    00088
    00089 class WP6CharacterGroup_ParagraphNumberOnSubGroup : public WP6VariableLengthGroup_SubGroup
    00090 {
    00091 public:
    00092         WP6CharacterGroup_ParagraphNumberOnSubGroup(WPXInputStream *input);
    00093         virtual void parse(WP6Listener *listener, const uint8_t numPrefixIDs, uint16_t const *prefixIDs) const;
    00094
    00095 private:
    00096         uint16_t m_outlineHash;
    00097         uint8_t m_level;
    00098         uint8_t m_flag;
    00099 };
    00100
    00101 class WP6CharacterGroup_TableDefinitionOnSubGroup : public WP6VariableLengthGroup_SubGroup
    00102 {
    00103 public:
    00104         WP6CharacterGroup_TableDefinitionOnSubGroup(WPXInputStream *input);
    00105         virtual void parse(WP6Listener *listener, const uint8_t numPrefixIDs, uint16_t const *prefixIDs) const;
    00106
    00107 private:
    00108         uint8_t m_flags;
    00109         uint8_t m_position;
    00110         uint16_t m_leftOffset;
    00111 };
    00112
    00113 class WP6CharacterGroup_TableDefinitionOffSubGroup : public WP6VariableLengthGroup_SubGroup
    00114 {
    00115 public:
    00116         WP6CharacterGroup_TableDefinitionOffSubGroup(WPXInputStream *input);
    00117         virtual void parse(WP6Listener *listener, const uint8_t numPrefixIDs, uint16_t const *prefixIDs) const;
    00118
    00119 private:
    00120
    00121 };
    00122
    00123 class WP6CharacterGroup_TableColumnSubGroup : public WP6VariableLengthGroup_SubGroup
    00124 {
    00125 public:
    00126         WP6CharacterGroup_TableColumnSubGroup(WPXInputStream *input);
    00127         virtual void parse(WP6Listener *listener, const uint8_t numPrefixIDs, uint16_t const *prefixIDs) const;
    00128
    00129 private:
    00130         uint8_t m_flags;
    00131         uint16_t m_width;
    00132         uint16_t m_leftGutter;
    00133         uint16_t m_rigthGutter;
    00134         uint32_t m_attributes;
    00135         uint8_t m_alignment;
    00136         uint16_t m_absPosFromRight;
    00137         uint16_t m_numberType;
    00138         uint8_t m_currencyIndex;
    00139 };
    00140
    00141 class WP6CharacterGroup : public WP6VariableLengthGroup
    00142 {
    00143  public:
    00144         WP6CharacterGroup(WPXInputStream *input);
    00145         virtual ~WP6CharacterGroup();
    00146         virtual void _readContents(WPXInputStream *input);
    00147         virtual void parse(WP6Listener *listener);
    00148
    00149  private:
    00150         WP6VariableLengthGroup_SubGroup *m_subGroupData;
    00151
    00152 };
    00153
    00154 #endif /* WP6CHARACTERGROUP_H */