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 {
28 };
29 
31 {
32  LRFBookInfo();
33 
34  std::string author;
35  std::string title;
36  std::string bookID;
37  std::string publisher;
38  boost::optional<std::string> label;
39  std::deque<std::string> categories;
40  std::string classification;
41  boost::optional<std::string> freeText;
42 };
43 
44 struct LRFDocInfo
45 {
46  LRFDocInfo();
47 
48  std::string language;
49  std::string creator;
50  std::string creationDate;
51  std::string producer;
52  unsigned page;
53 };
54 
56 {
57  LRFMetadata();
58 
61  boost::optional<std::string> keyword;
62 };
63 
64 struct LRFColor
65 {
66  LRFColor();
67  explicit LRFColor(unsigned color);
68  LRFColor(unsigned char red, unsigned char green, unsigned char blue);
69 
70  unsigned char r;
71  unsigned char g;
72  unsigned char b;
73 };
74 
76 {
77  LRFAttributes();
78 
79  boost::optional<unsigned> fontSize;
80  boost::optional<unsigned> fontWidth;
81  boost::optional<unsigned> fontEscapement;
82  boost::optional<unsigned> fontOrientation;
83  boost::optional<unsigned> fontWeight;
84  boost::optional<std::string> fontFacename;
85  boost::optional<LRFColor> textColor;
86  boost::optional<LRFColor> textBgColor;
87  boost::optional<unsigned> wordSpace;
88  boost::optional<unsigned> letterSpace;
89  boost::optional<unsigned> baseLineSkip;
90  boost::optional<unsigned> lineSpace;
91  boost::optional<unsigned> parIndent;
92  boost::optional<unsigned> parSkip;
93  boost::optional<unsigned> height;
94  boost::optional<unsigned> width;
95  boost::optional<unsigned> locationX;
96  boost::optional<unsigned> locationY;
97  boost::optional<bool> italic;
98  boost::optional<bool> sup;
99  boost::optional<bool> sub;
100 };
101 
102 typedef std::map<unsigned, LRFAttributes> LRFAttributeMap_t;
103 
104 }
105 
106 #endif // LRFTYPES_H_INCLUDED
107 
108 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
boost::optional< unsigned > parSkip
Definition: LRFTypes.h:92
Definition: LRFTypes.h:75
Definition: EBOOKHTMLToken.h:287
Definition: EBOOKHTMLToken.h:183
boost::optional< LRFColor > textBgColor
Definition: LRFTypes.h:86
std::string title
Definition: LRFTypes.h:35
std::string author
Definition: LRFTypes.h:34
std::string publisher
Definition: LRFTypes.h:37
boost::optional< unsigned > fontEscapement
Definition: LRFTypes.h:81
Definition: EBOOKHTMLToken.h:308
unsigned page
Definition: LRFTypes.h:52
unsigned char b
Definition: LRFTypes.h:72
boost::optional< bool > sub
Definition: LRFTypes.h:99
Definition: LRFTypes.h:26
std::string creationDate
Definition: LRFTypes.h:50
boost::optional< unsigned > lineSpace
Definition: LRFTypes.h:90
boost::optional< unsigned > parIndent
Definition: LRFTypes.h:91
boost::optional< std::string > fontFacename
Definition: LRFTypes.h:84
LRFDocInfo()
Definition: LRFTypes.cpp:27
std::string language
Definition: LRFTypes.h:48
unsigned char g
Definition: LRFTypes.h:71
Definition: LRFTypes.h:30
boost::optional< bool > sup
Definition: LRFTypes.h:98
unsigned char r
Definition: LRFTypes.h:70
boost::optional< LRFColor > textColor
Definition: LRFTypes.h:85
std::string producer
Definition: LRFTypes.h:51
Definition: LRFTypes.h:24
boost::optional< unsigned > fontOrientation
Definition: LRFTypes.h:82
Definition: LRFTypes.h:44
ImageType
Definition: LRFTypes.h:22
boost::optional< unsigned > height
Definition: LRFTypes.h:93
boost::optional< std::string > label
Definition: LRFTypes.h:38
boost::optional< unsigned > locationX
Definition: LRFTypes.h:95
Definition: LRFTypes.h:27
LRFAttributes()
Definition: LRFTypes.cpp:64
boost::optional< std::string > freeText
Definition: LRFTypes.h:41
boost::optional< bool > italic
Definition: LRFTypes.h:97
LRFDocInfo docInfo
Definition: LRFTypes.h:60
boost::optional< unsigned > baseLineSkip
Definition: LRFTypes.h:89
LRFBookInfo()
Definition: LRFTypes.cpp:15
boost::optional< std::string > keyword
Definition: LRFTypes.h:61
LRFBookInfo bookInfo
Definition: LRFTypes.h:59
boost::optional< unsigned > wordSpace
Definition: LRFTypes.h:87
LRFColor()
Definition: LRFTypes.cpp:43
boost::optional< unsigned > letterSpace
Definition: LRFTypes.h:88
boost::optional< unsigned > width
Definition: LRFTypes.h:94
std::string bookID
Definition: LRFTypes.h:36
Definition: CHMParser.cpp:20
Definition: LRFTypes.h:55
boost::optional< unsigned > locationY
Definition: LRFTypes.h:96
boost::optional< unsigned > fontWidth
Definition: LRFTypes.h:80
Definition: LRFTypes.h:64
std::string creator
Definition: LRFTypes.h:49
Definition: EBOOKHTMLToken.h:277
LRFMetadata()
Definition: LRFTypes.cpp:36
std::deque< std::string > categories
Definition: LRFTypes.h:39
Definition: LRFTypes.h:25
std::map< unsigned, LRFAttributes > LRFAttributeMap_t
Definition: LRFTypes.h:102
boost::optional< unsigned > fontWeight
Definition: LRFTypes.h:83
std::string classification
Definition: LRFTypes.h:40
boost::optional< unsigned > fontSize
Definition: LRFTypes.h:79

Generated for libe-book by doxygen 1.8.8