LRFTypes.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* libe-book
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  * Alternatively, the contents of this file may be used under the terms
10  * of the GNU Lesser General Public License Version 2.1 or later
11  * (LGPLv2.1+), in which case the provisions of the LGPLv2.1+ are
12  * applicable instead of those above.
13  *
14  * For further information visit http://libebook.sourceforge.net
15  */
16 
17 #ifndef LRFTYPES_H_INCLUDED
18 #define LRFTYPES_H_INCLUDED
19 
20 #include <deque>
21 #include <map>
22 #include <string>
23 
24 #include <boost/optional.hpp>
25 
26 namespace libebook
27 {
28 
30 {
35 };
36 
38 {
39  LRFBookInfo();
40 
41  std::string author;
42  std::string title;
43  std::string bookID;
44  std::string publisher;
45  boost::optional<std::string> label;
46  std::deque<std::string> categories;
47  std::string classification;
48  boost::optional<std::string> freeText;
49 };
50 
51 struct LRFDocInfo
52 {
53  LRFDocInfo();
54 
55  std::string language;
56  std::string creator;
57  std::string creationDate;
58  std::string producer;
59  unsigned page;
60 };
61 
63 {
64  LRFMetadata();
65 
68  boost::optional<std::string> keyword;
69 };
70 
71 struct LRFColor
72 {
73  LRFColor();
74  explicit LRFColor(unsigned color);
75  LRFColor(unsigned char red, unsigned char green, unsigned char blue);
76 
77  unsigned char r;
78  unsigned char g;
79  unsigned char b;
80 };
81 
83 {
84  LRFAttributes();
85 
86  boost::optional<unsigned> fontSize;
87  boost::optional<unsigned> fontWidth;
88  boost::optional<unsigned> fontEscapement;
89  boost::optional<unsigned> fontOrientation;
90  boost::optional<unsigned> fontWeight;
91  boost::optional<std::string> fontFacename;
92  boost::optional<LRFColor> textColor;
93  boost::optional<LRFColor> textBgColor;
94  boost::optional<unsigned> wordSpace;
95  boost::optional<unsigned> letterSpace;
96  boost::optional<unsigned> baseLineSkip;
97  boost::optional<unsigned> lineSpace;
98  boost::optional<unsigned> parIndent;
99  boost::optional<unsigned> parSkip;
100  boost::optional<unsigned> height;
101  boost::optional<unsigned> width;
102  boost::optional<unsigned> locationX;
103  boost::optional<unsigned> locationY;
104  boost::optional<bool> italic;
105  boost::optional<bool> sup;
106  boost::optional<bool> sub;
107 };
108 
109 typedef std::map<unsigned, LRFAttributes> LRFAttributeMap_t;
110 
111 }
112 
113 #endif // LRFTYPES_H_INCLUDED
114 
115 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
boost::optional< unsigned > parSkip
Definition: LRFTypes.h:99
Definition: LRFTypes.h:82
boost::optional< LRFColor > textBgColor
Definition: LRFTypes.h:93
std::string title
Definition: LRFTypes.h:42
std::string author
Definition: LRFTypes.h:41
std::string publisher
Definition: LRFTypes.h:44
boost::optional< unsigned > fontEscapement
Definition: LRFTypes.h:88
unsigned page
Definition: LRFTypes.h:59
unsigned char b
Definition: LRFTypes.h:79
boost::optional< bool > sub
Definition: LRFTypes.h:106
Definition: LRFTypes.h:33
std::string creationDate
Definition: LRFTypes.h:57
boost::optional< unsigned > lineSpace
Definition: LRFTypes.h:97
boost::optional< unsigned > parIndent
Definition: LRFTypes.h:98
boost::optional< std::string > fontFacename
Definition: LRFTypes.h:91
LRFDocInfo()
Definition: LRFTypes.cpp:34
std::string language
Definition: LRFTypes.h:55
unsigned char g
Definition: LRFTypes.h:78
Definition: LRFTypes.h:37
boost::optional< bool > sup
Definition: LRFTypes.h:105
unsigned char r
Definition: LRFTypes.h:77
boost::optional< LRFColor > textColor
Definition: LRFTypes.h:92
std::string producer
Definition: LRFTypes.h:58
Definition: LRFTypes.h:31
boost::optional< unsigned > fontOrientation
Definition: LRFTypes.h:89
Definition: LRFTypes.h:51
ImageType
Definition: LRFTypes.h:29
boost::optional< unsigned > height
Definition: LRFTypes.h:100
boost::optional< std::string > label
Definition: LRFTypes.h:45
boost::optional< unsigned > locationX
Definition: LRFTypes.h:102
Definition: LRFTypes.h:34
LRFAttributes()
Definition: LRFTypes.cpp:71
boost::optional< std::string > freeText
Definition: LRFTypes.h:48
boost::optional< bool > italic
Definition: LRFTypes.h:104
LRFDocInfo docInfo
Definition: LRFTypes.h:67
boost::optional< unsigned > baseLineSkip
Definition: LRFTypes.h:96
LRFBookInfo()
Definition: LRFTypes.cpp:22
boost::optional< std::string > keyword
Definition: LRFTypes.h:68
LRFBookInfo bookInfo
Definition: LRFTypes.h:66
boost::optional< unsigned > wordSpace
Definition: LRFTypes.h:94
LRFColor()
Definition: LRFTypes.cpp:50
boost::optional< unsigned > letterSpace
Definition: LRFTypes.h:95
boost::optional< unsigned > width
Definition: LRFTypes.h:101
std::string bookID
Definition: LRFTypes.h:43
Definition: LRFTypes.h:62
boost::optional< unsigned > locationY
Definition: LRFTypes.h:103
boost::optional< unsigned > fontWidth
Definition: LRFTypes.h:87
Definition: LRFTypes.h:71
std::string creator
Definition: LRFTypes.h:56
LRFMetadata()
Definition: LRFTypes.cpp:43
std::deque< std::string > categories
Definition: LRFTypes.h:46
Definition: LRFTypes.h:32
std::map< unsigned, LRFAttributes > LRFAttributeMap_t
Definition: LRFTypes.h:109
boost::optional< unsigned > fontWeight
Definition: LRFTypes.h:90
std::string classification
Definition: LRFTypes.h:47
boost::optional< unsigned > fontSize
Definition: LRFTypes.h:86

Generated for libe-book by doxygen 1.8.5