10 #ifndef INCLUDED_EPUBIMAGEMANAGER_H 11 #define INCLUDED_EPUBIMAGEMANAGER_H 13 #include <unordered_map> 14 #include <unordered_set> 16 #include <boost/functional/hash.hpp> 17 #include <librevenge/librevenge.h> 38 std::size_t
operator()(
const librevenge::RVNGBinaryData &data)
const;
43 bool operator()(
const librevenge::RVNGBinaryData &left,
const librevenge::RVNGBinaryData &right)
const;
46 typedef std::unordered_map<librevenge::RVNGBinaryData, EPUBPath, BinaryDataHash, BinaryDataEqual>
MapType_t;
47 typedef std::unordered_map<EPUBCSSProperties, std::string, boost::hash<EPUBCSSProperties>>
ContentNameMap_t;
52 const EPUBPath &
insert(
const librevenge::RVNGBinaryData &data,
const librevenge::RVNGString &mimetype,
const librevenge::RVNGString &properties=
"");
54 void writeTo(EPUBPackage &package);
57 std::string
getFrameClass(librevenge::RVNGPropertyList
const &pList);
59 std::string
getFrameStyle(librevenge::RVNGPropertyList
const &pList);
61 static std::string
getWrapStyle(librevenge::RVNGPropertyList
const &pList);
85 std::size_t
operator()(
const librevenge::RVNGBinaryData &data)
const;
90 bool operator()(
const librevenge::RVNGBinaryData &left,
const librevenge::RVNGBinaryData &right)
const;
93 typedef std::unordered_map<librevenge::RVNGBinaryData, EPUBPath, BinaryDataHash, BinaryDataEqual>
MapType_t;
94 typedef std::unordered_set<EPUBCSSProperties, boost::hash<EPUBCSSProperties>>
SetType_t;
99 void insert(
const librevenge::RVNGPropertyList &propertyList,
const EPUBPath &path);
101 void writeTo(EPUBPackage &package);
108 void extractFontProperties(librevenge::RVNGPropertyList
const &pList,
EPUBCSSProperties &cssProps)
const;
120 #endif // INCLUDED_EPUBIMAGEMANAGER
Definition: EPUBCSSSink.h:23
MapType_t m_map
Definition: EPUBImageManager.h:70
EPUBCounter m_number
Definition: EPUBImageManager.h:113
Definition: EPUBBinarySink.cpp:12
void send(EPUBCSSSink &out)
send the data to the sink
Definition: EPUBImageManager.cpp:205
std::unordered_map< librevenge::RVNGBinaryData, EPUBPath, BinaryDataHash, BinaryDataEqual > MapType_t
Definition: EPUBImageManager.h:46
void writeTo(EPUBPackage &package)
Definition: EPUBImageManager.cpp:111
std::string getFrameClass(librevenge::RVNGPropertyList const &pList)
returns the class name corresponding to a propertylist
Definition: EPUBImageManager.cpp:121
Definition: EPUBImageManager.h:41
EPUBManifest & m_manifest
Definition: EPUBImageManager.h:110
std::unordered_set< EPUBCSSProperties, boost::hash< EPUBCSSProperties > > SetType_t
Definition: EPUBImageManager.h:94
Manages embedded fonts.
Definition: EPUBImageManager.h:77
Definition: EPUBManifest.h:23
std::unordered_map< EPUBCSSProperties, std::string, boost::hash< EPUBCSSProperties > > ContentNameMap_t
Definition: EPUBImageManager.h:47
EPUBImageManager(const EPUBImageManager &)
Definition: EPUBImageManager.h:88
std::map< std::string, std::string > EPUBCSSProperties
Definition: EPUBCSSProperties.h:21
Representation of a path in the package.
Definition: EPUBPath.h:21
std::unordered_map< librevenge::RVNGBinaryData, EPUBPath, BinaryDataHash, BinaryDataEqual > MapType_t
Definition: EPUBImageManager.h:93
static std::string getWrapStyle(librevenge::RVNGPropertyList const &pList)
returns the style for a follow-up element, based on wrapping properties.
Definition: EPUBImageManager.cpp:176
const EPUBPath & insert(const librevenge::RVNGBinaryData &data, const librevenge::RVNGString &mimetype, const librevenge::RVNGString &properties="")
Definition: EPUBImageManager.cpp:87
std::string getFrameStyle(librevenge::RVNGPropertyList const &pList)
returns the style string corresponding to a propertylist
Definition: EPUBImageManager.cpp:134
ContentNameMap_t m_imageContentNameMap
a map image content -> name
Definition: EPUBImageManager.h:73
void extractImageProperties(librevenge::RVNGPropertyList const &pList, EPUBCSSProperties &cssProps) const
convert a property list into a CSS property map
Definition: EPUBImageManager.cpp:145
SetType_t m_set
Set of font properties.
Definition: EPUBImageManager.h:115
EPUBManifest & m_manifest
Definition: EPUBImageManager.h:69
EPUBCounter m_number
Definition: EPUBImageManager.h:71
Definition: EPUBCounter.h:16
EPUBImageManager & operator=(const EPUBImageManager &)
MapType_t m_map
Font filename -> content map.
Definition: EPUBImageManager.h:112
Definition: EPUBImageManager.h:83
Definition: EPUBImageManager.h:36
std::size_t operator()(const librevenge::RVNGBinaryData &data) const
Definition: EPUBImageManager.cpp:58
Definition: EPUBImageManager.h:30