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 INCLUDED_MSPUBTYPES_H
11#define INCLUDED_MSPUBTYPES_H
12
13#include <string>
14#include <vector>
15
16#include <boost/optional.hpp>
17
18#include "ListInfo.h"
19#include "MSPUBBlockID.h"
20#include "MSPUBBlockType.h"
21#include "MSPUBConstants.h"
23
24namespace libmspub
25{
32
39
61
63{
64 LEFT = 0,
65 CENTER = 2,
66 RIGHT = 1,
68};
69
71{
72 unsigned short initial;
73 unsigned short type;
74 unsigned long contentsLength;
75 unsigned long contentsOffset;
76};
77
79{
81 unsigned id;
82 unsigned type;
83 unsigned long startPosition;
84 unsigned long dataOffset;
85 unsigned long dataLength;
86 unsigned data;
87 std::vector<unsigned char> stringData;
88};
89
91{
93 ContentChunkReference(unsigned t, unsigned long o, unsigned long e, unsigned sn, unsigned psn) :
94 type(t), offset(o), end(e), seqNum(sn), parentSeqNum(psn) {}
95 unsigned type;
96 unsigned long offset;
97 unsigned long end; //offset of the last element plus one.
98 unsigned seqNum;
99 unsigned parentSeqNum;
100};
101
103{
104 QuillChunkReference() : length(0), offset(0), id(0), name(), name2() { }
105 unsigned long length;
106 unsigned long offset;
107 unsigned short id;
108 std::string name;
109 std::string name2;
110};
111
113{
115 underline(), italic(), bold(),
117 , outline(false)
118 , shadow(false)
119 , smallCaps(false)
120 , allCaps(false)
121 , emboss(false)
122 , engrave(false)
123 , textScale()
124 , lcid()
125 {
126 }
127 boost::optional<Underline> underline;
128 bool italic;
129 bool bold;
130 boost::optional<double> textSizeInPt;
132 boost::optional<unsigned> fontIndex;
135 bool shadow;
138 bool emboss;
140 boost::optional<double> textScale;
141 boost::optional<unsigned> lcid;
142};
143
149
151{
153 double m_amount;
157 LineSpacingInfo(LineSpacingType type, double amount) :
158 m_type(type), m_amount(amount)
159 {
160 }
161};
162
164{
165 boost::optional<Alignment> m_align;
166 boost::optional<unsigned> m_defaultCharStyleIndex;
167 boost::optional<LineSpacingInfo> m_lineSpacing;
168 boost::optional<unsigned> m_spaceBeforeEmu;
169 boost::optional<unsigned> m_spaceAfterEmu;
170 boost::optional<int> m_firstLineIndentEmu;
171 boost::optional<unsigned> m_leftIndentEmu;
172 boost::optional<unsigned> m_rightIndentEmu;
173 boost::optional<ListInfo> m_listInfo;
174 std::vector<unsigned> m_tabStopsInEmu;
175 boost::optional<unsigned> m_dropCapLines;
176 boost::optional<unsigned> m_dropCapLetters;
183};
184
186{
187 TextSpan(const std::vector<unsigned char> &c, const CharacterStyle &s) : chars(c), style(s) { }
188 std::vector<unsigned char> chars;
190};
191
193{
194 TextParagraph(const std::vector<TextSpan> &sp, const ParagraphStyle &st) : spans(sp), style(st) { }
195 std::vector<TextSpan> spans;
197};
198
199struct Color
200{
201 Color() : r(0), g(0), b(0) { }
202 Color(unsigned char red, unsigned char green, unsigned char blue) : r(red), g(green), b(blue) { }
203 unsigned char r, g, b;
204};
205
212
225
226} // namespace libmspub
227
228#endif /* INCLUDED_MSPUBTYPES_H */
229/* vim:set shiftwidth=2 softtabstop=2 expandtab: */
Definition Arrow.h:14
PageType
Definition MSPUBTypes.h:207
@ MASTER
Definition MSPUBTypes.h:208
@ NORMAL
Definition MSPUBTypes.h:209
@ DUMMY_PAGE
Definition MSPUBTypes.h:210
SuperSubType
Definition MSPUBTypes.h:34
@ NO_SUPER_SUB
Definition MSPUBTypes.h:35
@ SUBSCRIPT
Definition MSPUBTypes.h:37
@ SUPERSCRIPT
Definition MSPUBTypes.h:36
LineSpacingType
Definition MSPUBTypes.h:145
@ LINE_SPACING_SP
Definition MSPUBTypes.h:146
@ LINE_SPACING_PT
Definition MSPUBTypes.h:147
Alignment
Definition MSPUBTypes.h:63
@ RIGHT
Definition MSPUBTypes.h:66
@ JUSTIFY
Definition MSPUBTypes.h:67
@ LEFT
Definition MSPUBTypes.h:64
@ CENTER
Definition MSPUBTypes.h:65
Underline
Definition MSPUBTypes.h:41
@ ThickLongDash
Definition MSPUBTypes.h:58
@ WordsOnly
Definition MSPUBTypes.h:44
@ Thick
Definition MSPUBTypes.h:47
@ LongDash
Definition MSPUBTypes.h:57
@ DoubleWave
Definition MSPUBTypes.h:59
@ DotDotDash
Definition MSPUBTypes.h:50
@ ThickDash
Definition MSPUBTypes.h:54
@ Single
Definition MSPUBTypes.h:43
@ None
Definition MSPUBTypes.h:42
@ ThickDotDash
Definition MSPUBTypes.h:55
@ Dotted
Definition MSPUBTypes.h:46
@ DotDash
Definition MSPUBTypes.h:49
@ ThickDotDotDash
Definition MSPUBTypes.h:56
@ ThickWave
Definition MSPUBTypes.h:52
@ Double
Definition MSPUBTypes.h:45
@ Wave
Definition MSPUBTypes.h:51
@ ThickDot
Definition MSPUBTypes.h:53
BorderPosition
Definition MSPUBTypes.h:27
@ OUTSIDE_SHAPE
Definition MSPUBTypes.h:30
@ HALF_INSIDE_SHAPE
Definition MSPUBTypes.h:29
@ INSIDE_SHAPE
Definition MSPUBTypes.h:28
ImgType
Definition MSPUBTypes.h:214
@ PNG
Definition MSPUBTypes.h:216
@ TIFF
Definition MSPUBTypes.h:220
@ EMF
Definition MSPUBTypes.h:219
@ UNKNOWN
Definition MSPUBTypes.h:215
@ JPEG
Definition MSPUBTypes.h:217
@ DIB
Definition MSPUBTypes.h:221
@ WMF
Definition MSPUBTypes.h:218
@ PICT
Definition MSPUBTypes.h:222
@ JPEGCMYK
Definition MSPUBTypes.h:223
Definition MSPUBTypes.h:113
boost::optional< double > textSizeInPt
Definition MSPUBTypes.h:130
CharacterStyle()
Definition MSPUBTypes.h:114
boost::optional< double > textScale
Definition MSPUBTypes.h:140
bool bold
Definition MSPUBTypes.h:129
bool engrave
Definition MSPUBTypes.h:139
SuperSubType superSubType
Definition MSPUBTypes.h:133
bool emboss
Definition MSPUBTypes.h:138
bool allCaps
Definition MSPUBTypes.h:137
bool italic
Definition MSPUBTypes.h:128
boost::optional< Underline > underline
Definition MSPUBTypes.h:127
boost::optional< unsigned > lcid
Definition MSPUBTypes.h:141
bool shadow
Definition MSPUBTypes.h:135
boost::optional< unsigned > fontIndex
Definition MSPUBTypes.h:132
bool outline
Definition MSPUBTypes.h:134
bool smallCaps
Definition MSPUBTypes.h:136
int colorIndex
Definition MSPUBTypes.h:131
Color()
Definition MSPUBTypes.h:201
unsigned char r
Definition MSPUBTypes.h:203
Color(unsigned char red, unsigned char green, unsigned char blue)
Definition MSPUBTypes.h:202
unsigned char b
Definition MSPUBTypes.h:203
unsigned char g
Definition MSPUBTypes.h:203
unsigned parentSeqNum
Definition MSPUBTypes.h:99
unsigned seqNum
Definition MSPUBTypes.h:98
unsigned long end
Definition MSPUBTypes.h:97
unsigned long offset
Definition MSPUBTypes.h:96
ContentChunkReference()
Definition MSPUBTypes.h:92
unsigned type
Definition MSPUBTypes.h:95
ContentChunkReference(unsigned t, unsigned long o, unsigned long e, unsigned sn, unsigned psn)
Definition MSPUBTypes.h:93
Definition Dash.h:50
Definition MSPUBTypes.h:71
unsigned short initial
Definition MSPUBTypes.h:72
unsigned short type
Definition MSPUBTypes.h:73
unsigned long contentsOffset
Definition MSPUBTypes.h:75
unsigned long contentsLength
Definition MSPUBTypes.h:74
LineSpacingInfo(LineSpacingType type, double amount)
Definition MSPUBTypes.h:157
double m_amount
Definition MSPUBTypes.h:153
LineSpacingType m_type
Definition MSPUBTypes.h:152
LineSpacingInfo()
Definition MSPUBTypes.h:154
unsigned id
Definition MSPUBTypes.h:81
unsigned long dataLength
Definition MSPUBTypes.h:85
unsigned long startPosition
Definition MSPUBTypes.h:83
unsigned type
Definition MSPUBTypes.h:82
MSPUBBlockInfo()
Definition MSPUBTypes.h:80
unsigned long dataOffset
Definition MSPUBTypes.h:84
unsigned data
Definition MSPUBTypes.h:86
std::vector< unsigned char > stringData
Definition MSPUBTypes.h:87
Definition MSPUBTypes.h:164
boost::optional< int > m_firstLineIndentEmu
Definition MSPUBTypes.h:170
boost::optional< unsigned > m_leftIndentEmu
Definition MSPUBTypes.h:171
boost::optional< unsigned > m_rightIndentEmu
Definition MSPUBTypes.h:172
boost::optional< unsigned > m_defaultCharStyleIndex
Definition MSPUBTypes.h:166
boost::optional< ListInfo > m_listInfo
Definition MSPUBTypes.h:173
std::vector< unsigned > m_tabStopsInEmu
Definition MSPUBTypes.h:174
boost::optional< LineSpacingInfo > m_lineSpacing
Definition MSPUBTypes.h:167
boost::optional< unsigned > m_dropCapLines
Definition MSPUBTypes.h:175
boost::optional< Alignment > m_align
Definition MSPUBTypes.h:165
boost::optional< unsigned > m_spaceAfterEmu
Definition MSPUBTypes.h:169
ParagraphStyle()
Definition MSPUBTypes.h:177
boost::optional< unsigned > m_spaceBeforeEmu
Definition MSPUBTypes.h:168
boost::optional< unsigned > m_dropCapLetters
Definition MSPUBTypes.h:176
std::string name2
Definition MSPUBTypes.h:109
QuillChunkReference()
Definition MSPUBTypes.h:104
std::string name
Definition MSPUBTypes.h:108
unsigned long offset
Definition MSPUBTypes.h:106
unsigned short id
Definition MSPUBTypes.h:107
unsigned long length
Definition MSPUBTypes.h:105
TextParagraph(const std::vector< TextSpan > &sp, const ParagraphStyle &st)
Definition MSPUBTypes.h:194
std::vector< TextSpan > spans
Definition MSPUBTypes.h:195
ParagraphStyle style
Definition MSPUBTypes.h:196
CharacterStyle style
Definition MSPUBTypes.h:189
std::vector< unsigned char > chars
Definition MSPUBTypes.h:188
TextSpan(const std::vector< unsigned char > &c, const CharacterStyle &s)
Definition MSPUBTypes.h:187

Generated for libmspub by doxygen 1.14.0