PMDTypes.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 libpagemaker 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 __PMDTYPES_H__
11#define __PMDTYPES_H__
12
13#include <boost/optional.hpp>
14
15#include "Units.h"
16
17 namespace libpagemaker
18{
19
20 struct PMDColor
21{
22 unsigned m_i;
23 uint16_t m_red;
24 uint16_t m_green;
25 uint16_t m_blue;
26
27 PMDColor(const unsigned i,const uint16_t red,const uint16_t green,const uint16_t blue)
28 : m_i(i), m_red(red), m_green(green), m_blue(blue)
29 { }
30};
31
32 struct PMDFont
33{
34 public:
35 unsigned m_i;
36 std::string m_fontName;
37
38 PMDFont(const unsigned i,const std::string &fontName)
39 : m_i(i), m_fontName(fontName)
40 { }
41};
42
43 struct PMDFillProperties
44{
45 uint8_t m_fillType;
46 uint8_t m_fillColor;
47 uint8_t m_fillOverprint;
48 uint8_t m_fillTint;
49
50 PMDFillProperties();
51};
52
53 struct PMDStrokeProperties
54{
55 uint8_t m_strokeType;
56 uint16_t m_strokeWidth;
57 uint8_t m_strokeColor;
58 uint8_t m_strokeOverprint;
59 uint8_t m_strokeTint;
60
61 PMDStrokeProperties();
62};
63
64 struct PMDParaProperties
65{
66 uint16_t m_length;
67 uint8_t m_align;
68 uint16_t m_leftIndent;
69 uint16_t m_firstIndent;
70 uint16_t m_rightIndent;
71 uint16_t m_beforeIndent;
72 uint16_t m_afterIndent;
73 uint16_t m_orphans;
74 uint16_t m_widows;
75 uint16_t m_keepWithNext;
76 bool m_keepTogether;
77 bool m_hyphenate;
78 uint16_t m_hyphensCount;
79 boost::optional<PMDStrokeProperties> m_ruleAbove;
80 boost::optional<PMDStrokeProperties> m_ruleBelow;
81
82 PMDParaProperties();
83};
84
85 struct PMDCharProperties
86{
87 uint16_t m_length;
88 uint16_t m_fontFace;
89 uint16_t m_fontSize;
90 uint16_t m_fontColor;
91 bool m_bold;
92 bool m_italic;
93 bool m_underline;
94 bool m_outline;
95 bool m_shadow;
96 bool m_strike;
97 bool m_super;
98 bool m_sub;
99 bool m_smallCaps;
100 bool m_allCaps;
101 int16_t m_kerning;
102 uint16_t m_superSubSize;
103 uint16_t m_superPos;
104 uint16_t m_subPos;
105 uint16_t m_tint;
106
107 PMDCharProperties();
108};
109
110}
111
112#endif // __PMDTYPES_H__
113
114/* vim:set shiftwidth=2 softtabstop=2 expandtab: */
Units.h
libpagemaker
Definition: geometry.h:23
libpagemaker::PMDCharProperties
Definition: PMDTypes.h:86
libpagemaker::PMDCharProperties::m_fontFace
uint16_t m_fontFace
Definition: PMDTypes.h:88
libpagemaker::PMDCharProperties::m_shadow
bool m_shadow
Definition: PMDTypes.h:95
libpagemaker::PMDCharProperties::m_super
bool m_super
Definition: PMDTypes.h:97
libpagemaker::PMDCharProperties::m_allCaps
bool m_allCaps
Definition: PMDTypes.h:100
libpagemaker::PMDCharProperties::m_strike
bool m_strike
Definition: PMDTypes.h:96
libpagemaker::PMDCharProperties::m_superPos
uint16_t m_superPos
Definition: PMDTypes.h:103
libpagemaker::PMDCharProperties::m_italic
bool m_italic
Definition: PMDTypes.h:92
libpagemaker::PMDCharProperties::m_fontColor
uint16_t m_fontColor
Definition: PMDTypes.h:90
libpagemaker::PMDCharProperties::m_subPos
uint16_t m_subPos
Definition: PMDTypes.h:104
libpagemaker::PMDCharProperties::m_superSubSize
uint16_t m_superSubSize
Definition: PMDTypes.h:102
libpagemaker::PMDCharProperties::m_length
uint16_t m_length
Definition: PMDTypes.h:87
libpagemaker::PMDCharProperties::m_bold
bool m_bold
Definition: PMDTypes.h:91
libpagemaker::PMDCharProperties::PMDCharProperties
PMDCharProperties()
Definition: PMDTypes.cpp:53
libpagemaker::PMDCharProperties::m_smallCaps
bool m_smallCaps
Definition: PMDTypes.h:99
libpagemaker::PMDCharProperties::m_fontSize
uint16_t m_fontSize
Definition: PMDTypes.h:89
libpagemaker::PMDCharProperties::m_kerning
int16_t m_kerning
Definition: PMDTypes.h:101
libpagemaker::PMDCharProperties::m_tint
uint16_t m_tint
Definition: PMDTypes.h:105
libpagemaker::PMDCharProperties::m_outline
bool m_outline
Definition: PMDTypes.h:94
libpagemaker::PMDCharProperties::m_sub
bool m_sub
Definition: PMDTypes.h:98
libpagemaker::PMDCharProperties::m_underline
bool m_underline
Definition: PMDTypes.h:93
libpagemaker::PMDColor
Definition: PMDTypes.h:21
libpagemaker::PMDColor::m_red
uint16_t m_red
Definition: PMDTypes.h:23
libpagemaker::PMDColor::m_i
unsigned m_i
Definition: PMDTypes.h:22
libpagemaker::PMDColor::m_blue
uint16_t m_blue
Definition: PMDTypes.h:25
libpagemaker::PMDColor::m_green
uint16_t m_green
Definition: PMDTypes.h:24
libpagemaker::PMDColor::PMDColor
PMDColor(const unsigned i, const uint16_t red, const uint16_t green, const uint16_t blue)
Definition: PMDTypes.h:27
libpagemaker::PMDFillProperties
Definition: PMDTypes.h:44
libpagemaker::PMDFillProperties::m_fillTint
uint8_t m_fillTint
Definition: PMDTypes.h:48
libpagemaker::PMDFillProperties::m_fillOverprint
uint8_t m_fillOverprint
Definition: PMDTypes.h:47
libpagemaker::PMDFillProperties::PMDFillProperties
PMDFillProperties()
Definition: PMDTypes.cpp:17
libpagemaker::PMDFillProperties::m_fillType
uint8_t m_fillType
Definition: PMDTypes.h:45
libpagemaker::PMDFillProperties::m_fillColor
uint8_t m_fillColor
Definition: PMDTypes.h:46
libpagemaker::PMDFont
Definition: PMDTypes.h:33
libpagemaker::PMDFont::m_fontName
std::string m_fontName
Definition: PMDTypes.h:36
libpagemaker::PMDFont::PMDFont
PMDFont(const unsigned i, const std::string &fontName)
Definition: PMDTypes.h:38
libpagemaker::PMDFont::m_i
unsigned m_i
Definition: PMDTypes.h:35
libpagemaker::PMDParaProperties
Definition: PMDTypes.h:65
libpagemaker::PMDParaProperties::m_widows
uint16_t m_widows
Definition: PMDTypes.h:74
libpagemaker::PMDParaProperties::m_afterIndent
uint16_t m_afterIndent
Definition: PMDTypes.h:72
libpagemaker::PMDParaProperties::m_keepTogether
bool m_keepTogether
Definition: PMDTypes.h:76
libpagemaker::PMDParaProperties::PMDParaProperties
PMDParaProperties()
Definition: PMDTypes.cpp:34
libpagemaker::PMDParaProperties::m_length
uint16_t m_length
Definition: PMDTypes.h:66
libpagemaker::PMDParaProperties::m_beforeIndent
uint16_t m_beforeIndent
Definition: PMDTypes.h:71
libpagemaker::PMDParaProperties::m_leftIndent
uint16_t m_leftIndent
Definition: PMDTypes.h:68
libpagemaker::PMDParaProperties::m_rightIndent
uint16_t m_rightIndent
Definition: PMDTypes.h:70
libpagemaker::PMDParaProperties::m_ruleAbove
boost::optional< PMDStrokeProperties > m_ruleAbove
Definition: PMDTypes.h:79
libpagemaker::PMDParaProperties::m_align
uint8_t m_align
Definition: PMDTypes.h:67
libpagemaker::PMDParaProperties::m_hyphensCount
uint16_t m_hyphensCount
Definition: PMDTypes.h:78
libpagemaker::PMDParaProperties::m_firstIndent
uint16_t m_firstIndent
Definition: PMDTypes.h:69
libpagemaker::PMDParaProperties::m_orphans
uint16_t m_orphans
Definition: PMDTypes.h:73
libpagemaker::PMDParaProperties::m_keepWithNext
uint16_t m_keepWithNext
Definition: PMDTypes.h:75
libpagemaker::PMDParaProperties::m_ruleBelow
boost::optional< PMDStrokeProperties > m_ruleBelow
Definition: PMDTypes.h:80
libpagemaker::PMDParaProperties::m_hyphenate
bool m_hyphenate
Definition: PMDTypes.h:77
libpagemaker::PMDStrokeProperties
Definition: PMDTypes.h:54
libpagemaker::PMDStrokeProperties::m_strokeOverprint
uint8_t m_strokeOverprint
Definition: PMDTypes.h:58
libpagemaker::PMDStrokeProperties::m_strokeTint
uint8_t m_strokeTint
Definition: PMDTypes.h:59
libpagemaker::PMDStrokeProperties::m_strokeColor
uint8_t m_strokeColor
Definition: PMDTypes.h:57
libpagemaker::PMDStrokeProperties::m_strokeWidth
uint16_t m_strokeWidth
Definition: PMDTypes.h:56
libpagemaker::PMDStrokeProperties::m_strokeType
uint8_t m_strokeType
Definition: PMDTypes.h:55
libpagemaker::PMDStrokeProperties::PMDStrokeProperties
PMDStrokeProperties()
Definition: PMDTypes.cpp:25