libwpd: WP6ParagraphGroup.h Source File documentation

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

# WP6ParagraphGroup.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 WP6PARAGRAPHGROUP_H
    00027 #define WP6PARAGRAPHGROUP_H
    00028
    00029 #include "WP6VariableLengthGroup.h"
    00030 // #include <vector>
    00031
    00032 class WP6ParagraphGroup_LineSpacingSubGroup : public WP6VariableLengthGroup_SubGroup
    00033 {
    00034 public:
    00035         WP6ParagraphGroup_LineSpacingSubGroup(WPXInputStream *input);
    00036         virtual void parse(WP6Listener *listener, const uint8_t numPrefixIDs, uint16_t const *prefixIDs) const;
    00037
    00038 private:
    00039         float m_lineSpacing;
    00040 };
    00041
    00042 class WP6ParagraphGroup_JustificationModeSubGroup : public WP6VariableLengthGroup_SubGroup
    00043 {
    00044 public:
    00045         WP6ParagraphGroup_JustificationModeSubGroup(WPXInputStream *input);
    00046         virtual void parse(WP6Listener *listener, const uint8_t numPrefixIDs, uint16_t const *prefixIDs) const;
    00047
    00048 private:
    00049         uint8_t m_justification;
    00050 };
    00051
    00052 class WP6ParagraphGroup_SpacingAfterParagraphSubGroup : public WP6VariableLengthGroup_SubGroup
    00053 {
    00054 public:
    00055         WP6ParagraphGroup_SpacingAfterParagraphSubGroup(WPXInputStream *input, const uint16_t sizeNonDeletable);
    00056         virtual void parse(WP6Listener *listener, const uint8_t numPrefixIDs, uint16_t const *prefixIDs) const;
    00057
    00058 private:
    00059         float m_spacingAfterParagraphAbsolute;
    00060         float m_spacingAfterParagraphRelative;
    00061         uint16_t m_sizeNonDeletable;
    00062 };
    00063
    00064 class WP6ParagraphGroup_TabSetSubGroup : public WP6VariableLengthGroup_SubGroup
    00065 {
    00066 public:
    00067         WP6ParagraphGroup_TabSetSubGroup(WPXInputStream *input);
    00068         ~WP6ParagraphGroup_TabSetSubGroup();
    00069         virtual void parse(WP6Listener *listener, const uint8_t numPrefixIDs, uint16_t const *prefixIDs) const;
    00070
    00071 private:
    00072         bool m_isRelative;
    00073         float m_tabAdjustValue;
    00074         std::vector<bool> m_usePreWP9LeaderMethods;
    00075         std::vector<WPXTabStop> m_tabStops;
    00076 };
    00077
    00078 class WP6ParagraphGroup_IndentFirstLineSubGroup : public WP6VariableLengthGroup_SubGroup
    00079 {
    00080 public:
    00081         WP6ParagraphGroup_IndentFirstLineSubGroup(WPXInputStream *input);
    00082         virtual void parse(WP6Listener *listener, const uint8_t numPrefixIDs, uint16_t const *prefixIDs) const;
    00083
    00084 private:
    00085         int16_t m_firstLineOffset;
    00086 };
    00087
    00088 class WP6ParagraphGroup_LeftMarginAdjustmentSubGroup : public WP6VariableLengthGroup_SubGroup
    00089 {
    00090 public:
    00091         WP6ParagraphGroup_LeftMarginAdjustmentSubGroup(WPXInputStream *input);
    00092         virtual void parse(WP6Listener *listener, const uint8_t numPrefixIDs, uint16_t const *prefixIDs) const;
    00093
    00094 private:
    00095         int16_t m_leftMargin;
    00096 };
    00097
    00098 class WP6ParagraphGroup_RightMarginAdjustmentSubGroup : public WP6VariableLengthGroup_SubGroup
    00099 {
    00100 public:
    00101         WP6ParagraphGroup_RightMarginAdjustmentSubGroup(WPXInputStream *input);
    00102         virtual void parse(WP6Listener *listener, const uint8_t numPrefixIDs, uint16_t const *prefixIDs) const;
    00103
    00104 private:
    00105         int16_t m_rightMargin;
    00106 };
    00107
    00108 class WP6ParagraphGroup_OutlineDefineSubGroup : public WP6VariableLengthGroup_SubGroup
    00109 {
    00110 public:
    00111         WP6ParagraphGroup_OutlineDefineSubGroup(WPXInputStream *input);
    00112         virtual void parse(WP6Listener *listener, const uint8_t numPrefixIDs, uint16_t const *prefixIDs) const;
    00113
    00114 private:
    00115         uint16_t m_outlineHash;
    00116         uint8_t m_numberingMethods[WP6_NUM_LIST_LEVELS];
    00117         uint8_t m_outlineFlags;
    00118         uint8_t m_tabBehaviourFlag;
    00119 };
    00120
    00121 class WP6ParagraphGroup : public WP6VariableLengthGroup
    00122 {
    00123  public:
    00124         WP6ParagraphGroup(WPXInputStream *input);
    00125         ~WP6ParagraphGroup();
    00126         virtual void _readContents(WPXInputStream *input);
    00127         virtual void parse(WP6Listener *listener);
    00128 private:
    00129         WP6VariableLengthGroup_SubGroup *m_subGroupData;
    00130 };
    00131
    00132 #endif /* WP6PARAGRAPHGROUP_H */