LRFTypes.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 libe-book 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 LRFTYPES_H_INCLUDED
11 #define LRFTYPES_H_INCLUDED
12 
13 #include <deque>
14 #include <map>
15 #include <string>
16 
17 #include <boost/optional.hpp>
18 
19 namespace libebook
20 {
21 
23 {
29 };
30 
32 {
36 };
37 
39 {
45 };
46 
48 {
52 };
53 
55 {
56  LRFBookInfo();
57 
58  std::string author;
59  std::string title;
60  std::string bookID;
61  std::string publisher;
62  boost::optional<std::string> label;
63  std::deque<std::string> categories;
64  std::string classification;
65  boost::optional<std::string> freeText;
66 };
67 
68 struct LRFDocInfo
69 {
70  LRFDocInfo();
71 
72  std::string language;
73  std::string creator;
74  std::string creationDate;
75  std::string producer;
76  unsigned page;
77 };
78 
80 {
81  LRFMetadata();
82 
85  boost::optional<std::string> keyword;
86 };
87 
88 struct LRFColor
89 {
90  LRFColor();
91  explicit LRFColor(unsigned color);
92  LRFColor(unsigned char red, unsigned char green, unsigned char blue, unsigned char alpha = 0);
93 
94  unsigned char r;
95  unsigned char g;
96  unsigned char b;
97  unsigned char a;
98 };
99 
101 {
102  LRFEmptyLine();
103 
106 };
107 
109 {
110  LRFAttributes();
111 
112  boost::optional<unsigned> fontSize;
113  boost::optional<unsigned> fontWidth;
114  boost::optional<unsigned> fontEscapement;
115  boost::optional<unsigned> fontOrientation;
116  boost::optional<unsigned> fontWeight;
117  boost::optional<std::string> fontFacename;
118  boost::optional<LRFColor> textColor;
119  boost::optional<LRFColor> textBgColor;
120  boost::optional<unsigned> wordSpace;
121  boost::optional<unsigned> letterSpace;
122  boost::optional<unsigned> baseLineSkip;
123  boost::optional<unsigned> lineSpace;
124  boost::optional<unsigned> parIndent;
125  boost::optional<unsigned> parSkip;
126  boost::optional<unsigned> height;
127  boost::optional<unsigned> width;
128  boost::optional<unsigned> locationX;
129  boost::optional<unsigned> locationY;
130  bool italic;
131  bool sup;
132  bool sub;
133  bool heading;
134  boost::optional<LRFEmptyLine> emptyLine;
135  boost::optional<LRFAlign> align;
136  boost::optional<unsigned> topSkip;
137  boost::optional<unsigned> topMargin;
138  boost::optional<unsigned> oddSideMargin;
139  boost::optional<unsigned> evenSideMargin;
140 };
141 
142 typedef std::map<unsigned, LRFAttributes> LRFAttributeMap_t;
143 
144 }
145 
146 #endif // LRFTYPES_H_INCLUDED
147 
148 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
boost::optional< unsigned > parSkip
Definition: LRFTypes.h:125
Definition: LRFTypes.h:43
Definition: LRFTypes.h:108
Definition: EBOOKHTMLToken.h:287
LRFAlign
Definition: LRFTypes.h:47
Definition: EBOOKHTMLToken.h:183
LRFEmptyLine()
Definition: LRFTypes.cpp:67
boost::optional< LRFColor > textBgColor
Definition: LRFTypes.h:119
boost::optional< unsigned > topSkip
Definition: LRFTypes.h:136
std::string title
Definition: LRFTypes.h:59
std::string author
Definition: LRFTypes.h:58
Definition: LRFTypes.h:40
Definition: LRFTypes.h:51
std::string publisher
Definition: LRFTypes.h:61
boost::optional< unsigned > fontEscapement
Definition: LRFTypes.h:114
Definition: LRFTypes.h:50
Definition: EBOOKHTMLToken.h:308
bool heading
Definition: LRFTypes.h:133
unsigned page
Definition: LRFTypes.h:76
unsigned char b
Definition: LRFTypes.h:96
boost::optional< unsigned > oddSideMargin
Definition: LRFTypes.h:138
Definition: LRFTypes.h:44
LRFImageType
Definition: LRFTypes.h:22
std::string creationDate
Definition: LRFTypes.h:74
boost::optional< unsigned > lineSpace
Definition: LRFTypes.h:123
boost::optional< unsigned > parIndent
Definition: LRFTypes.h:124
boost::optional< std::string > fontFacename
Definition: LRFTypes.h:117
LRFDocInfo()
Definition: LRFTypes.cpp:27
boost::optional< unsigned > evenSideMargin
Definition: LRFTypes.h:139
Definition: LRFTypes.h:100
std::string language
Definition: LRFTypes.h:72
Definition: LRFTypes.h:49
LRFEmptyLineMode m_mode
Definition: LRFTypes.h:105
unsigned char g
Definition: LRFTypes.h:95
Definition: LRFTypes.h:54
unsigned char r
Definition: LRFTypes.h:94
Definition: LRFTypes.h:24
boost::optional< LRFAlign > align
Definition: LRFTypes.h:135
boost::optional< LRFColor > textColor
Definition: LRFTypes.h:118
std::string producer
Definition: LRFTypes.h:75
boost::optional< unsigned > fontOrientation
Definition: LRFTypes.h:115
bool sub
Definition: LRFTypes.h:132
Definition: LRFTypes.h:68
boost::optional< unsigned > height
Definition: LRFTypes.h:126
Definition: LRFTypes.h:42
boost::optional< std::string > label
Definition: LRFTypes.h:62
boost::optional< unsigned > locationX
Definition: LRFTypes.h:128
LRFEmptyLinePosition
Definition: LRFTypes.h:31
LRFAttributes()
Definition: LRFTypes.cpp:73
boost::optional< std::string > freeText
Definition: LRFTypes.h:65
unsigned char a
Definition: LRFTypes.h:97
Definition: LRFTypes.h:41
LRFDocInfo docInfo
Definition: LRFTypes.h:84
Definition: LRFTypes.h:26
Definition: LRFTypes.h:28
boost::optional< unsigned > baseLineSkip
Definition: LRFTypes.h:122
LRFBookInfo()
Definition: LRFTypes.cpp:15
boost::optional< std::string > keyword
Definition: LRFTypes.h:85
Definition: LRFTypes.h:25
LRFBookInfo bookInfo
Definition: LRFTypes.h:83
bool italic
Definition: LRFTypes.h:130
boost::optional< unsigned > topMargin
Definition: LRFTypes.h:137
boost::optional< unsigned > wordSpace
Definition: LRFTypes.h:120
LRFColor()
Definition: LRFTypes.cpp:43
boost::optional< unsigned > letterSpace
Definition: LRFTypes.h:121
boost::optional< unsigned > width
Definition: LRFTypes.h:127
std::string bookID
Definition: LRFTypes.h:60
Definition: CHMParser.cpp:20
LRFEmptyLineMode
Definition: LRFTypes.h:38
Definition: LRFTypes.h:79
LRFEmptyLinePosition m_position
Definition: LRFTypes.h:104
boost::optional< unsigned > locationY
Definition: LRFTypes.h:129
bool sup
Definition: LRFTypes.h:131
boost::optional< unsigned > fontWidth
Definition: LRFTypes.h:113
Definition: LRFTypes.h:88
Definition: LRFTypes.h:27
boost::optional< LRFEmptyLine > emptyLine
Definition: LRFTypes.h:134
std::string creator
Definition: LRFTypes.h:73
Definition: EBOOKHTMLToken.h:277
LRFMetadata()
Definition: LRFTypes.cpp:36
std::deque< std::string > categories
Definition: LRFTypes.h:63
std::map< unsigned, LRFAttributes > LRFAttributeMap_t
Definition: LRFTypes.h:142
boost::optional< unsigned > fontWeight
Definition: LRFTypes.h:116
std::string classification
Definition: LRFTypes.h:64
boost::optional< unsigned > fontSize
Definition: LRFTypes.h:112

Generated for libe-book by doxygen 1.8.8