WP6ColumnGroup.h Source File documentation

WP6ColumnGroup.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
2 /* libwpd
3 * Version: MPL 2.0 / LGPLv2.1+
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * Major Contributor(s):
10 * Copyright (C) 2002 William Lachance (wrlach@gmail.com)
11 * Copyright (C) 2002 Marc Maurer (uwog@uwog.net)
12 *
13 * For minor contributions see the git repository.
14 *
15 * Alternatively, the contents of this file may be used under the terms
16 * of the GNU Lesser General Public License Version 2.1 or later
17 * (LGPLv2.1+), in which case the provisions of the LGPLv2.1+ are
18 * applicable instead of those above.
19 *
20 * For further information visit http://libwpd.sourceforge.net
21 */
22
23 /* "This product is not manufactured, approved, or supported by
24 * Corel Corporation or Corel Corporation Limited."
25 */
26
27 #ifndef WP6COLUMNGROUP_H
28 #define WP6COLUMNGROUP_H
29
30 #include <vector>
31 #include <librevenge/librevenge.h>
32 #include "WP6VariableLengthGroup.h"
33 #include "libwpd_internal.h"
34
35 class WP6Listener;
36
37 class WP6ColumnGroup : public WP6VariableLengthGroup
38 {
39 public:
40 WP6ColumnGroup(librevenge::RVNGInputStream *input, WPXEncryption *encryption);
41 void _readContents(librevenge::RVNGInputStream *input, WPXEncryption *encryption) override;
42 void parse(WP6Listener *listener) override;
43
44 private:
45 // variables needed for subgroup 0 and 1 (Left/Right Margin Set)
46 unsigned short m_margin;
47
48 // variables used for subgroup 2 (Columns)
49 unsigned char m_colType;
50 unsigned char m_numColumns;
51 double m_rowSpacing;
52 std::vector<bool> m_isFixedWidth;
53 std::vector<double> m_columnWidth;
54 };
55
56 #endif /* WP6COLUMNGROUP_H */
57 /* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */
WP6ColumnGroup::m_margin
unsigned short m_margin
Definition: WP6ColumnGroup.h:46
WP6VariableLengthGroup::getFlags
unsigned char getFlags() const
Definition: WP6VariableLengthGroup.h:64
WP6Listener.h
WP6ColumnGroup
Definition: WP6ColumnGroup.h:38
WP6VariableLengthGroup::getSubGroup
unsigned char getSubGroup() const
Definition: WP6VariableLengthGroup.h:56
WP6ColumnGroup::m_numColumns
unsigned char m_numColumns
Definition: WP6ColumnGroup.h:50
WP6FileStructure.h
WP6Listener::marginChange
virtual void marginChange(const unsigned char side, const unsigned short margin)=0
WP6ColumnGroup::_readContents
void _readContents(librevenge::RVNGInputStream *input, WPXEncryption *encryption) override
Definition: WP6ColumnGroup.cpp:45
WPX_RIGHT
#define WPX_RIGHT
Definition: libwpd_internal.h:161
WPD_DEBUG_MSG
#define WPD_DEBUG_MSG(M)
Definition: libwpd_internal.h:50
readU16
unsigned short readU16(librevenge::RVNGInputStream *input, WPXEncryption *encryption, bool bigendian)
Definition: libwpd_internal.cpp:119
WP6ColumnGroup::WP6ColumnGroup
WP6ColumnGroup(librevenge::RVNGInputStream *input, WPXEncryption *encryption)
Definition: WP6ColumnGroup.cpp:33
WP6_COLUMN_TYPE_PARALLEL_PROTECT
#define WP6_COLUMN_TYPE_PARALLEL_PROTECT
Definition: WP6FileStructure.h:429
NEWSPAPER_VERTICAL_BALANCE
@ NEWSPAPER_VERTICAL_BALANCE
Definition: libwpd_internal.h:109
WPX_LEFT
#define WPX_LEFT
Definition: libwpd_internal.h:160
WP6ColumnGroup::m_colType
unsigned char m_colType
Definition: WP6ColumnGroup.h:49
WP6ColumnGroup::m_isFixedWidth
std::vector< bool > m_isFixedWidth
Definition: WP6ColumnGroup.h:52
WP6_COLUMN_TYPE_NEWSPAPER
#define WP6_COLUMN_TYPE_NEWSPAPER
Definition: WP6FileStructure.h:426
WP6VariableLengthGroup
Definition: WP6VariableLengthGroup.h:43
WP6ColumnGroup::parse
void parse(WP6Listener *listener) override
Definition: WP6ColumnGroup.cpp:100
libwpd_internal.h
WP6Listener
Definition: WP6Listener.h:41
WP6_COLUMN_TYPE_PARALLEL
#define WP6_COLUMN_TYPE_PARALLEL
Definition: WP6FileStructure.h:428
WPX_NUM_WPUS_PER_INCH
#define WPX_NUM_WPUS_PER_INCH
Definition: WPXFileStructure.h:30
WP6ColumnGroup.h
WP6_COLUMN_TYPE_NEWSPAPER_VERTICAL_BALANCE
#define WP6_COLUMN_TYPE_NEWSPAPER_VERTICAL_BALANCE
Definition: WP6FileStructure.h:427
WP6VariableLengthGroup::_read
void _read(librevenge::RVNGInputStream *input, WPXEncryption *encryption)
Definition: WP6VariableLengthGroup.cpp:132
WP6ColumnGroup::m_columnWidth
std::vector< double > m_columnWidth
Definition: WP6ColumnGroup.h:53
readU32
unsigned readU32(librevenge::RVNGInputStream *input, WPXEncryption *encryption, bool bigendian)
Definition: libwpd_internal.cpp:139
WP6VariableLengthGroup.h
NEWSPAPER
@ NEWSPAPER
Definition: libwpd_internal.h:109
WP6Listener::columnChange
virtual void columnChange(const WPXTextColumnType columnType, const unsigned char numColumns, const std::vector< double > &columnWidth, const std::vector< bool > &isFixedWidth)=0
WPXFileStructure.h
WP6ColumnGroup::m_rowSpacing
double m_rowSpacing
Definition: WP6ColumnGroup.h:51
readU8
unsigned char readU8(librevenge::RVNGInputStream *input, WPXEncryption *encryption)
Definition: libwpd_internal.cpp:106
WPXEncryption
Definition: WPXEncryption.h:36
PARALLEL
@ PARALLEL
Definition: libwpd_internal.h:109
PARALLEL_PROTECT
@ PARALLEL_PROTECT
Definition: libwpd_internal.h:109