WP6CharacterGroup.h
Go to the documentation of this file.
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
/* libwpd
* Version: MPL 2.0 / LGPLv2.1+
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* Major Contributor(s):
* Copyright (C) 2002 William Lachance (wrlach@gmail.com)
* Copyright (C) 2002 Marc Maurer (uwog@uwog.net)
*
* For minor contributions see the git repository.
*
* Alternatively, the contents of this file may be used under the terms
* of the GNU Lesser General Public License Version 2.1 or later
* (LGPLv2.1+), in which case the provisions of the LGPLv2.1+ are
* applicable instead of those above.
*
* For further information visit http://libwpd.sourceforge.net
*/
/* "This product is not manufactured, approved, or supported by
* Corel Corporation or Corel Corporation Limited."
*/
#ifndef WP6CHARACTERGROUP_H
#define WP6CHARACTERGROUP_H
#include <memory>
#include "WP6VariableLengthGroup.h"
#include "WP6FontDescriptorPacket.h"
class WP6CharacterGroup_SetAlignmentCharacterSubGroup: public WP6VariableLengthGroup_SubGroup
{
public:
WP6CharacterGroup_SetAlignmentCharacterSubGroup(librevenge::RVNGInputStream *input, WPXEncryption *encryption);
void parse(WP6Listener *listener, const unsigned char numPrefixIDs, unsigned short const *prefixIDs) const override;
private:
unsigned char m_character;
unsigned char m_characterSet;
};
class WP6CharacterGroup_ColorSubGroup: public WP6VariableLengthGroup_SubGroup
{
public:
WP6CharacterGroup_ColorSubGroup(librevenge::RVNGInputStream *input, WPXEncryption *encryption);
void parse(WP6Listener *listener, const unsigned char numPrefixIDs, unsigned short const *prefixIDs) const override;
private:
unsigned char m_red;
unsigned char m_green;
unsigned char m_blue;
};
class WP6CharacterGroup_CharacterShadingChangeSubGroup: public WP6VariableLengthGroup_SubGroup
{
public:
WP6CharacterGroup_CharacterShadingChangeSubGroup(librevenge::RVNGInputStream *input, WPXEncryption *encryption);
void parse(WP6Listener *listener, const unsigned char numPrefixIDs, unsigned short const *prefixIDs) const override;
private:
unsigned char m_shading;
};
class WP6CharacterGroup_FontFaceChangeSubGroup : public WP6VariableLengthGroup_SubGroup
{
public:
WP6CharacterGroup_FontFaceChangeSubGroup(librevenge::RVNGInputStream *input, WPXEncryption *encryption, unsigned short sizeDeletable);
~WP6CharacterGroup_FontFaceChangeSubGroup() override;
void parse(WP6Listener *listener, const unsigned char numPrefixIDs, unsigned short const *prefixIDs) const override;
private:
unsigned short m_oldMatchedPointSize;
unsigned short m_hash;
unsigned short m_matchedFontIndex;
unsigned short m_matchedFontPointSize;
std::unique_ptr<WP6FontDescriptorPacket> m_packet;
// Unimplemented to prevent compiler from creating crasher ones
WP6CharacterGroup_FontFaceChangeSubGroup(const WP6CharacterGroup_FontFaceChangeSubGroup &);
WP6CharacterGroup_FontFaceChangeSubGroup &operator=(const WP6CharacterGroup_FontFaceChangeSubGroup &);
};
class WP6CharacterGroup_FontSizeChangeSubGroup : public WP6VariableLengthGroup_SubGroup
{
public:
WP6CharacterGroup_FontSizeChangeSubGroup(librevenge::RVNGInputStream *input, WPXEncryption *encryption);
void parse(WP6Listener *listener, const unsigned char numPrefixIDs, unsigned short const *prefixIDs) const override;
private:
unsigned short m_desiredFontPointSize;
};
class WP6CharacterGroup_SetDotLeaderCharactersSubGroup: public WP6VariableLengthGroup_SubGroup
{
public:
WP6CharacterGroup_SetDotLeaderCharactersSubGroup(librevenge::RVNGInputStream *input, WPXEncryption *encryption);
void parse(WP6Listener *listener, const unsigned char numPrefixIDs, unsigned short const *prefixIDs) const override;
private:
unsigned char m_character;
unsigned char m_characterSet;
unsigned char m_numberOfSpaces;
};
class WP6CharacterGroup_ParagraphNumberOnSubGroup : public WP6VariableLengthGroup_SubGroup
{
public:
WP6CharacterGroup_ParagraphNumberOnSubGroup(librevenge::RVNGInputStream *input, WPXEncryption *encryption);
void parse(WP6Listener *listener, const unsigned char numPrefixIDs, unsigned short const *prefixIDs) const override;
private:
unsigned short m_outlineHash;
unsigned char m_level;
unsigned char m_flag;
};
class WP6CharacterGroup_TableDefinitionOnSubGroup : public WP6VariableLengthGroup_SubGroup
{
public:
WP6CharacterGroup_TableDefinitionOnSubGroup(librevenge::RVNGInputStream *input, WPXEncryption *encryption);
void parse(WP6Listener *listener, const unsigned char numPrefixIDs, unsigned short const *prefixIDs) const override;
private:
unsigned char m_flags;
unsigned char m_position;
unsigned short m_leftOffset;
};
class WP6CharacterGroup_TableDefinitionOffSubGroup : public WP6VariableLengthGroup_SubGroup
{
public:
WP6CharacterGroup_TableDefinitionOffSubGroup(librevenge::RVNGInputStream *input, WPXEncryption *encryption);
void parse(WP6Listener *listener, const unsigned char numPrefixIDs, unsigned short const *prefixIDs) const override;
private:
};
class WP6CharacterGroup_TableColumnSubGroup : public WP6VariableLengthGroup_SubGroup
{
public:
WP6CharacterGroup_TableColumnSubGroup(librevenge::RVNGInputStream *input, WPXEncryption *encryption);
void parse(WP6Listener *listener, const unsigned char numPrefixIDs, unsigned short const *prefixIDs) const override;
private:
unsigned char m_flags;
unsigned short m_width;
unsigned short m_leftGutter;
unsigned short m_rightGutter;
unsigned m_attributes;
unsigned char m_alignment;
unsigned short m_absPosFromRight;
unsigned short m_numberType;
unsigned char m_currencyIndex;
};
class WP6CharacterGroup_CommentSubGroup : public WP6VariableLengthGroup_SubGroup
{
public:
WP6CharacterGroup_CommentSubGroup(librevenge::RVNGInputStream *input, WPXEncryption *encryption);
void parse(WP6Listener *listener, const unsigned char numPrefixIDs, unsigned short const *prefixIDs) const override;
private:
};
class WP6CharacterGroup : public WP6VariableLengthGroup
{
public:
WP6CharacterGroup(librevenge::RVNGInputStream *input, WPXEncryption *encryption);
~WP6CharacterGroup() override;
void _readContents(librevenge::RVNGInputStream *input, WPXEncryption *encryption) override;
void parse(WP6Listener *listener) override;
private:
WP6CharacterGroup(const WP6CharacterGroup &);
WP6CharacterGroup &operator=(const WP6CharacterGroup &);
std::unique_ptr<WP6VariableLengthGroup_SubGroup> m_subGroupData;
};
#endif /* WP6CHARACTERGROUP_H */
/* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */
WP6FontDescriptorPacket.h
WP6VariableLengthGroup.h
WP6CharacterGroup_CharacterShadingChangeSubGroup::m_shading
unsigned char m_shading
Definition WP6CharacterGroup.h:65
WP6CharacterGroup_CharacterShadingChangeSubGroup::parse
void parse(WP6Listener *listener, const unsigned char numPrefixIDs, unsigned short const *prefixIDs) const override
Definition WP6CharacterGroup.cpp:86
WP6CharacterGroup_CharacterShadingChangeSubGroup::WP6CharacterGroup_CharacterShadingChangeSubGroup
WP6CharacterGroup_CharacterShadingChangeSubGroup(librevenge::RVNGInputStream *input, WPXEncryption *encryption)
Definition WP6CharacterGroup.cpp:79
WP6CharacterGroup_ColorSubGroup::WP6CharacterGroup_ColorSubGroup
WP6CharacterGroup_ColorSubGroup(librevenge::RVNGInputStream *input, WPXEncryption *encryption)
Definition WP6CharacterGroup.cpp:61
WP6CharacterGroup_ColorSubGroup::parse
void parse(WP6Listener *listener, const unsigned char numPrefixIDs, unsigned short const *prefixIDs) const override
Definition WP6CharacterGroup.cpp:70
WP6CharacterGroup_ColorSubGroup::m_red
unsigned char m_red
Definition WP6CharacterGroup.h:53
WP6CharacterGroup_ColorSubGroup::m_blue
unsigned char m_blue
Definition WP6CharacterGroup.h:55
WP6CharacterGroup_ColorSubGroup::m_green
unsigned char m_green
Definition WP6CharacterGroup.h:54
WP6CharacterGroup_CommentSubGroup::WP6CharacterGroup_CommentSubGroup
WP6CharacterGroup_CommentSubGroup(librevenge::RVNGInputStream *input, WPXEncryption *encryption)
Definition WP6CharacterGroup.cpp:253
WP6CharacterGroup_CommentSubGroup::parse
void parse(WP6Listener *listener, const unsigned char numPrefixIDs, unsigned short const *prefixIDs) const override
Definition WP6CharacterGroup.cpp:257
WP6CharacterGroup_FontFaceChangeSubGroup::m_matchedFontIndex
unsigned short m_matchedFontIndex
Definition WP6CharacterGroup.h:78
WP6CharacterGroup_FontFaceChangeSubGroup::operator=
WP6CharacterGroup_FontFaceChangeSubGroup & operator=(const WP6CharacterGroup_FontFaceChangeSubGroup &)
WP6CharacterGroup_FontFaceChangeSubGroup::m_matchedFontPointSize
unsigned short m_matchedFontPointSize
Definition WP6CharacterGroup.h:79
WP6CharacterGroup_FontFaceChangeSubGroup::WP6CharacterGroup_FontFaceChangeSubGroup
WP6CharacterGroup_FontFaceChangeSubGroup(const WP6CharacterGroup_FontFaceChangeSubGroup &)
WP6CharacterGroup_FontFaceChangeSubGroup::m_oldMatchedPointSize
unsigned short m_oldMatchedPointSize
Definition WP6CharacterGroup.h:76
WP6CharacterGroup_FontFaceChangeSubGroup::parse
void parse(WP6Listener *listener, const unsigned char numPrefixIDs, unsigned short const *prefixIDs) const override
Definition WP6CharacterGroup.cpp:117
WP6CharacterGroup_FontFaceChangeSubGroup::m_packet
std::unique_ptr< WP6FontDescriptorPacket > m_packet
Definition WP6CharacterGroup.h:80
WP6CharacterGroup_FontFaceChangeSubGroup::WP6CharacterGroup_FontFaceChangeSubGroup
WP6CharacterGroup_FontFaceChangeSubGroup(librevenge::RVNGInputStream *input, WPXEncryption *encryption, unsigned short sizeDeletable)
Definition WP6CharacterGroup.cpp:96
WP6CharacterGroup_FontFaceChangeSubGroup::m_hash
unsigned short m_hash
Definition WP6CharacterGroup.h:77
WP6CharacterGroup_FontFaceChangeSubGroup::~WP6CharacterGroup_FontFaceChangeSubGroup
~WP6CharacterGroup_FontFaceChangeSubGroup() override
Definition WP6CharacterGroup.cpp:113
WP6CharacterGroup_FontSizeChangeSubGroup::parse
void parse(WP6Listener *listener, const unsigned char numPrefixIDs, unsigned short const *prefixIDs) const override
Definition WP6CharacterGroup.cpp:136
WP6CharacterGroup_FontSizeChangeSubGroup::m_desiredFontPointSize
unsigned short m_desiredFontPointSize
Definition WP6CharacterGroup.h:94
WP6CharacterGroup_FontSizeChangeSubGroup::WP6CharacterGroup_FontSizeChangeSubGroup
WP6CharacterGroup_FontSizeChangeSubGroup(librevenge::RVNGInputStream *input, WPXEncryption *encryption)
Definition WP6CharacterGroup.cpp:129
WP6CharacterGroup_ParagraphNumberOnSubGroup::m_flag
unsigned char m_flag
Definition WP6CharacterGroup.h:118
WP6CharacterGroup_ParagraphNumberOnSubGroup::WP6CharacterGroup_ParagraphNumberOnSubGroup
WP6CharacterGroup_ParagraphNumberOnSubGroup(librevenge::RVNGInputStream *input, WPXEncryption *encryption)
Definition WP6CharacterGroup.cpp:173
WP6CharacterGroup_ParagraphNumberOnSubGroup::m_level
unsigned char m_level
Definition WP6CharacterGroup.h:117
WP6CharacterGroup_ParagraphNumberOnSubGroup::m_outlineHash
unsigned short m_outlineHash
Definition WP6CharacterGroup.h:116
WP6CharacterGroup_ParagraphNumberOnSubGroup::parse
void parse(WP6Listener *listener, const unsigned char numPrefixIDs, unsigned short const *prefixIDs) const override
Definition WP6CharacterGroup.cpp:183
WP6CharacterGroup_SetAlignmentCharacterSubGroup::m_characterSet
unsigned char m_characterSet
Definition WP6CharacterGroup.h:43
WP6CharacterGroup_SetAlignmentCharacterSubGroup::m_character
unsigned char m_character
Definition WP6CharacterGroup.h:42
WP6CharacterGroup_SetAlignmentCharacterSubGroup::WP6CharacterGroup_SetAlignmentCharacterSubGroup
WP6CharacterGroup_SetAlignmentCharacterSubGroup(librevenge::RVNGInputStream *input, WPXEncryption *encryption)
Definition WP6CharacterGroup.cpp:39
WP6CharacterGroup_SetAlignmentCharacterSubGroup::parse
void parse(WP6Listener *listener, const unsigned char numPrefixIDs, unsigned short const *prefixIDs) const override
Definition WP6CharacterGroup.cpp:48
WP6CharacterGroup_SetDotLeaderCharactersSubGroup::m_character
unsigned char m_character
Definition WP6CharacterGroup.h:104
WP6CharacterGroup_SetDotLeaderCharactersSubGroup::WP6CharacterGroup_SetDotLeaderCharactersSubGroup
WP6CharacterGroup_SetDotLeaderCharactersSubGroup(librevenge::RVNGInputStream *input, WPXEncryption *encryption)
Definition WP6CharacterGroup.cpp:148
WP6CharacterGroup_SetDotLeaderCharactersSubGroup::m_numberOfSpaces
unsigned char m_numberOfSpaces
Definition WP6CharacterGroup.h:106
WP6CharacterGroup_SetDotLeaderCharactersSubGroup::m_characterSet
unsigned char m_characterSet
Definition WP6CharacterGroup.h:105
WP6CharacterGroup_SetDotLeaderCharactersSubGroup::parse
void parse(WP6Listener *listener, const unsigned char numPrefixIDs, unsigned short const *prefixIDs) const override
Definition WP6CharacterGroup.cpp:159
WP6CharacterGroup_TableColumnSubGroup::m_flags
unsigned char m_flags
Definition WP6CharacterGroup.h:150
WP6CharacterGroup_TableColumnSubGroup::m_currencyIndex
unsigned char m_currencyIndex
Definition WP6CharacterGroup.h:158
WP6CharacterGroup_TableColumnSubGroup::m_leftGutter
unsigned short m_leftGutter
Definition WP6CharacterGroup.h:152
WP6CharacterGroup_TableColumnSubGroup::m_rightGutter
unsigned short m_rightGutter
Definition WP6CharacterGroup.h:153
WP6CharacterGroup_TableColumnSubGroup::m_attributes
unsigned m_attributes
Definition WP6CharacterGroup.h:154
WP6CharacterGroup_TableColumnSubGroup::m_absPosFromRight
unsigned short m_absPosFromRight
Definition WP6CharacterGroup.h:156
WP6CharacterGroup_TableColumnSubGroup::m_numberType
unsigned short m_numberType
Definition WP6CharacterGroup.h:157
WP6CharacterGroup_TableColumnSubGroup::WP6CharacterGroup_TableColumnSubGroup
WP6CharacterGroup_TableColumnSubGroup(librevenge::RVNGInputStream *input, WPXEncryption *encryption)
Definition WP6CharacterGroup.cpp:227
WP6CharacterGroup_TableColumnSubGroup::parse
void parse(WP6Listener *listener, const unsigned char numPrefixIDs, unsigned short const *prefixIDs) const override
Definition WP6CharacterGroup.cpp:244
WP6CharacterGroup_TableColumnSubGroup::m_width
unsigned short m_width
Definition WP6CharacterGroup.h:151
WP6CharacterGroup_TableColumnSubGroup::m_alignment
unsigned char m_alignment
Definition WP6CharacterGroup.h:155
WP6CharacterGroup_TableDefinitionOffSubGroup::parse
void parse(WP6Listener *listener, const unsigned char numPrefixIDs, unsigned short const *prefixIDs) const override
Definition WP6CharacterGroup.cpp:216
WP6CharacterGroup_TableDefinitionOffSubGroup::WP6CharacterGroup_TableDefinitionOffSubGroup
WP6CharacterGroup_TableDefinitionOffSubGroup(librevenge::RVNGInputStream *input, WPXEncryption *encryption)
Definition WP6CharacterGroup.cpp:212
WP6CharacterGroup_TableDefinitionOnSubGroup::WP6CharacterGroup_TableDefinitionOnSubGroup
WP6CharacterGroup_TableDefinitionOnSubGroup(librevenge::RVNGInputStream *input, WPXEncryption *encryption)
Definition WP6CharacterGroup.cpp:193
WP6CharacterGroup_TableDefinitionOnSubGroup::parse
void parse(WP6Listener *listener, const unsigned char numPrefixIDs, unsigned short const *prefixIDs) const override
Definition WP6CharacterGroup.cpp:202
WP6CharacterGroup_TableDefinitionOnSubGroup::m_flags
unsigned char m_flags
Definition WP6CharacterGroup.h:128
WP6CharacterGroup_TableDefinitionOnSubGroup::m_position
unsigned char m_position
Definition WP6CharacterGroup.h:129
WP6CharacterGroup_TableDefinitionOnSubGroup::m_leftOffset
unsigned short m_leftOffset
Definition WP6CharacterGroup.h:130
WP6CharacterGroup::~WP6CharacterGroup
~WP6CharacterGroup() override
Definition WP6CharacterGroup.cpp:284
WP6CharacterGroup::WP6CharacterGroup
WP6CharacterGroup(librevenge::RVNGInputStream *input, WPXEncryption *encryption)
Definition WP6CharacterGroup.cpp:277
WP6CharacterGroup::m_subGroupData
std::unique_ptr< WP6VariableLengthGroup_SubGroup > m_subGroupData
Definition WP6CharacterGroup.h:182
WP6CharacterGroup::_readContents
void _readContents(librevenge::RVNGInputStream *input, WPXEncryption *encryption) override
Definition WP6CharacterGroup.cpp:288
WP6CharacterGroup::parse
void parse(WP6Listener *listener) override
Definition WP6CharacterGroup.cpp:332
WP6CharacterGroup::WP6CharacterGroup
WP6CharacterGroup(const WP6CharacterGroup &)
WP6CharacterGroup::operator=
WP6CharacterGroup & operator=(const WP6CharacterGroup &)
WP6Listener
Definition WP6Listener.h:41
WP6VariableLengthGroup_SubGroup
Definition WP6VariableLengthGroup.h:36
WP6VariableLengthGroup::WP6VariableLengthGroup
WP6VariableLengthGroup()
Definition WP6VariableLengthGroup.cpp:47
WPXEncryption
Definition WPXEncryption.h:36