MSPUBTypes.h
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2/*
3 * This file is part of the libmspub project.
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
10#ifndef __MSPUBTYPES_H__
11#define __MSPUBTYPES_H__
12
13#include <vector>
14#include <string>
15#include <boost/optional.hpp>
16#include "MSPUBBlockType.h"
17#include "MSPUBBlockID.h"
19#include "MSPUBConstants.h"
20#include "ListInfo.h"
21
22namespace libmspub
23{
25{
29};
30
32{
36};
37
39{
40 LEFT = 0,
41 CENTER = 2,
42 RIGHT = 1,
43 JUSTIFY = 6
44};
45
47{
48 unsigned short initial;
49 unsigned short type;
50 unsigned long contentsLength;
51 unsigned long contentsOffset;
52};
53
55{
59 unsigned long startPosition;
60 unsigned long dataOffset;
61 unsigned long dataLength;
62 unsigned data;
63 std::vector<unsigned char> stringData;
64};
65
67{
69 ContentChunkReference(MSPUBContentChunkType t, unsigned long o, unsigned long e, unsigned sn, unsigned psn) :
70 type(t), offset(o), end(e), seqNum(sn), parentSeqNum(psn) {}
72 unsigned long offset;
73 unsigned long end; //offset of the last element plus one.
74 unsigned seqNum;
75 unsigned parentSeqNum;
76};
77
79{
80 QuillChunkReference() : length(0), offset(0), id(0), name(), name2() { }
81 unsigned long length;
82 unsigned long offset;
83 unsigned short id;
84 std::string name;
85 std::string name2;
86};
87
89{
91 underline(), italic(), bold(),
93 {
94 }
95 CharacterStyle(bool u, bool i, bool b,
96 boost::optional<double> tSIP = boost::optional<double>(),
97 int cI = -1,
98 boost::optional<unsigned> fI = boost::optional<unsigned>(),
100 underline(u), italic(i), bold(b), textSizeInPt(tSIP), colorIndex(cI), fontIndex(fI), superSubType(sst) { }
102 bool italic;
103 bool bold;
104 boost::optional<double> textSizeInPt;
106 boost::optional<unsigned> fontIndex;
108};
109
111{
115
117{
119 double m_amount;
121 {
122 }
123 LineSpacingInfo(LineSpacingType type, double amount) :
124 m_type(type), m_amount(amount)
125 {
126 }
127};
128
130{
131 boost::optional<Alignment> m_align;
132 boost::optional<unsigned> m_defaultCharStyleIndex;
133 boost::optional<LineSpacingInfo> m_lineSpacing;
134 boost::optional<unsigned> m_spaceBeforeEmu;
135 boost::optional<unsigned> m_spaceAfterEmu;
136 boost::optional<int> m_firstLineIndentEmu;
137 boost::optional<unsigned> m_leftIndentEmu;
138 boost::optional<unsigned> m_rightIndentEmu;
139 boost::optional<ListInfo> m_listInfo;
140 std::vector<unsigned> m_tabStopsInEmu;
141 boost::optional<unsigned> m_dropCapLines;
142 boost::optional<unsigned> m_dropCapLetters;
147 {
148 }
149};
150
152{
153 TextSpan(const std::vector<unsigned char> &c, const CharacterStyle &s) : chars(c), style(s) { }
154 std::vector<unsigned char> chars;
156};
157
159{
160 TextParagraph(const std::vector<TextSpan> &sp, const ParagraphStyle &st) : spans(sp), style(st) { }
161 std::vector<TextSpan> spans;
163};
164
165struct Color
166{
167 Color() : r(0), g(0), b(0) { }
168 Color(unsigned char red, unsigned char green, unsigned char blue) : r(red), g(green), b(blue) { }
169 unsigned char r, g, b;
170};
171
173{
178
180{
191
192} // namespace libmspub
193
194#endif /* __MSPUBTYPES_H__ */
195/* vim:set shiftwidth=2 softtabstop=2 expandtab: */
Definition: Arrow.h:14
MSPUBBlockType
Definition: MSPUBBlockType.h:16
MSPUBBlockID
Definition: MSPUBBlockID.h:16
PageType
Definition: MSPUBTypes.h:173
@ MASTER
Definition: MSPUBTypes.h:174
@ NORMAL
Definition: MSPUBTypes.h:175
@ DUMMY_PAGE
Definition: MSPUBTypes.h:176
SuperSubType
Definition: MSPUBTypes.h:32
@ NO_SUPER_SUB
Definition: MSPUBTypes.h:33
@ SUBSCRIPT
Definition: MSPUBTypes.h:35
@ SUPERSCRIPT
Definition: MSPUBTypes.h:34
MSPUBContentChunkType
Definition: MSPUBContentChunkType.h:16
LineSpacingType
Definition: MSPUBTypes.h:111
@ LINE_SPACING_SP
Definition: MSPUBTypes.h:112
@ LINE_SPACING_PT
Definition: MSPUBTypes.h:113
Alignment
Definition: MSPUBTypes.h:39
@ RIGHT
Definition: MSPUBTypes.h:42
@ JUSTIFY
Definition: MSPUBTypes.h:43
@ LEFT
Definition: MSPUBTypes.h:40
@ CENTER
Definition: MSPUBTypes.h:41
BorderPosition
Definition: MSPUBTypes.h:25
@ OUTSIDE_SHAPE
Definition: MSPUBTypes.h:28
@ HALF_INSIDE_SHAPE
Definition: MSPUBTypes.h:27
@ INSIDE_SHAPE
Definition: MSPUBTypes.h:26
ImgType
Definition: MSPUBTypes.h:180
@ PNG
Definition: MSPUBTypes.h:182
@ TIFF
Definition: MSPUBTypes.h:186
@ EMF
Definition: MSPUBTypes.h:185
@ UNKNOWN
Definition: MSPUBTypes.h:181
@ JPEG
Definition: MSPUBTypes.h:183
@ DIB
Definition: MSPUBTypes.h:187
@ WMF
Definition: MSPUBTypes.h:184
@ PICT
Definition: MSPUBTypes.h:188
@ JPEGCMYK
Definition: MSPUBTypes.h:189
Definition: MSPUBTypes.h:89
boost::optional< double > textSizeInPt
Definition: MSPUBTypes.h:104
CharacterStyle()
Definition: MSPUBTypes.h:90
bool bold
Definition: MSPUBTypes.h:103
SuperSubType superSubType
Definition: MSPUBTypes.h:107
bool italic
Definition: MSPUBTypes.h:102
bool underline
Definition: MSPUBTypes.h:101
boost::optional< unsigned > fontIndex
Definition: MSPUBTypes.h:106
CharacterStyle(bool u, bool i, bool b, boost::optional< double > tSIP=boost::optional< double >(), int cI=-1, boost::optional< unsigned > fI=boost::optional< unsigned >(), SuperSubType sst=NO_SUPER_SUB)
Definition: MSPUBTypes.h:95
int colorIndex
Definition: MSPUBTypes.h:105
Definition: MSPUBTypes.h:166
Color()
Definition: MSPUBTypes.h:167
unsigned char r
Definition: MSPUBTypes.h:169
Color(unsigned char red, unsigned char green, unsigned char blue)
Definition: MSPUBTypes.h:168
unsigned char b
Definition: MSPUBTypes.h:169
unsigned char g
Definition: MSPUBTypes.h:169
Definition: MSPUBTypes.h:67
unsigned parentSeqNum
Definition: MSPUBTypes.h:75
unsigned seqNum
Definition: MSPUBTypes.h:74
unsigned long end
Definition: MSPUBTypes.h:73
unsigned long offset
Definition: MSPUBTypes.h:72
ContentChunkReference()
Definition: MSPUBTypes.h:68
MSPUBContentChunkType type
Definition: MSPUBTypes.h:71
ContentChunkReference(MSPUBContentChunkType t, unsigned long o, unsigned long e, unsigned sn, unsigned psn)
Definition: MSPUBTypes.h:69
Definition: MSPUBTypes.h:47
unsigned short initial
Definition: MSPUBTypes.h:48
unsigned short type
Definition: MSPUBTypes.h:49
unsigned long contentsOffset
Definition: MSPUBTypes.h:51
unsigned long contentsLength
Definition: MSPUBTypes.h:50
Definition: MSPUBTypes.h:117
LineSpacingInfo(LineSpacingType type, double amount)
Definition: MSPUBTypes.h:123
double m_amount
Definition: MSPUBTypes.h:119
LineSpacingType m_type
Definition: MSPUBTypes.h:118
LineSpacingInfo()
Definition: MSPUBTypes.h:120
Definition: MSPUBTypes.h:55
unsigned long dataLength
Definition: MSPUBTypes.h:61
unsigned long startPosition
Definition: MSPUBTypes.h:59
MSPUBBlockInfo()
Definition: MSPUBTypes.h:56
unsigned long dataOffset
Definition: MSPUBTypes.h:60
unsigned data
Definition: MSPUBTypes.h:62
MSPUBBlockID id
Definition: MSPUBTypes.h:57
MSPUBBlockType type
Definition: MSPUBTypes.h:58
std::vector< unsigned char > stringData
Definition: MSPUBTypes.h:63
Definition: MSPUBTypes.h:130
boost::optional< int > m_firstLineIndentEmu
Definition: MSPUBTypes.h:136
boost::optional< unsigned > m_leftIndentEmu
Definition: MSPUBTypes.h:137
boost::optional< unsigned > m_rightIndentEmu
Definition: MSPUBTypes.h:138
boost::optional< unsigned > m_defaultCharStyleIndex
Definition: MSPUBTypes.h:132
boost::optional< ListInfo > m_listInfo
Definition: MSPUBTypes.h:139
std::vector< unsigned > m_tabStopsInEmu
Definition: MSPUBTypes.h:140
boost::optional< LineSpacingInfo > m_lineSpacing
Definition: MSPUBTypes.h:133
boost::optional< unsigned > m_dropCapLines
Definition: MSPUBTypes.h:141
boost::optional< Alignment > m_align
Definition: MSPUBTypes.h:131
boost::optional< unsigned > m_spaceAfterEmu
Definition: MSPUBTypes.h:135
ParagraphStyle()
Definition: MSPUBTypes.h:143
boost::optional< unsigned > m_spaceBeforeEmu
Definition: MSPUBTypes.h:134
boost::optional< unsigned > m_dropCapLetters
Definition: MSPUBTypes.h:142
Definition: MSPUBTypes.h:79
std::string name2
Definition: MSPUBTypes.h:85
QuillChunkReference()
Definition: MSPUBTypes.h:80
std::string name
Definition: MSPUBTypes.h:84
unsigned long offset
Definition: MSPUBTypes.h:82
unsigned short id
Definition: MSPUBTypes.h:83
unsigned long length
Definition: MSPUBTypes.h:81
Definition: MSPUBTypes.h:159
TextParagraph(const std::vector< TextSpan > &sp, const ParagraphStyle &st)
Definition: MSPUBTypes.h:160
std::vector< TextSpan > spans
Definition: MSPUBTypes.h:161
ParagraphStyle style
Definition: MSPUBTypes.h:162
Definition: MSPUBTypes.h:152
CharacterStyle style
Definition: MSPUBTypes.h:155
std::vector< unsigned char > chars
Definition: MSPUBTypes.h:154
TextSpan(const std::vector< unsigned char > &c, const CharacterStyle &s)
Definition: MSPUBTypes.h:153

Generated for libmspub by doxygen 1.9.3