PAGTypes.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 libetonyek 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 PAGTYPES_H_INCLUDED
11#define PAGTYPES_H_INCLUDED
12
13#include <deque>
14#include <string>
15#include <unordered_map>
16
17#include <boost/optional.hpp>
18
19#include "IWORKOutputElements.h"
20#include "IWORKTypes_fwd.h"
21#include "PAGEnum.h"
22
23 namespace libetonyek
24{
25
26 typedef std::unordered_map<std::string, IWORKOutputElements> PAGAnnotationMap_t;
27
28 struct PAGPublicationInfo
29{
30 PAGPublicationInfo();
31
32 boost::optional<std::string> m_creationDate;
33 boost::optional<double> m_footnoteGap;
34 PAGFootnoteKind m_footnoteKind;
35};
36
37 struct PAGFootnoteState
38{
39 PAGFootnoteState();
40
41 bool m_firstTextAfterMark;
42 bool m_pending;
43 std::string m_mark;
44
45 std::deque<IWORKOutputElements> m_footnotes;
46 std::deque<IWORKOutputElements>::const_iterator m_nextFootnote;
47};
48
49 struct PAGAttachment
50{
51 PAGAttachment();
52 PAGAttachment(IWORKOutputID_t id, bool block);
53
54 IWORKOutputID_t m_id;
55 bool m_block;
56};
57
58 typedef std::unordered_map<ID_t, PAGAttachment> PAGAttachmentMap_t;
59
60}
61
62#endif // PAGTYPES_H_INCLUDED
63
64/* vim:set shiftwidth=2 softtabstop=2 expandtab: */
IWORKOutputElements.h
IWORKTypes_fwd.h
PAGEnum.h
libetonyek
Definition IWORKBezierElement.cpp:21
libetonyek::IWORKOutputID_t
unsigned IWORKOutputID_t
Definition IWORKTypes_fwd.h:28
libetonyek::PAGFootnoteKind
PAGFootnoteKind
Definition PAGEnum.h:17
libetonyek::PAGAttachmentMap_t
std::unordered_map< ID_t, PAGAttachment > PAGAttachmentMap_t
Definition PAGTypes.h:58
libetonyek::PAGAnnotationMap_t
std::unordered_map< std::string, IWORKOutputElements > PAGAnnotationMap_t
Definition PAGTypes.h:26
libetonyek::PAGAttachment::m_id
IWORKOutputID_t m_id
Definition PAGTypes.h:54
libetonyek::PAGAttachment::m_block
bool m_block
Definition PAGTypes.h:55
libetonyek::PAGAttachment::PAGAttachment
PAGAttachment()
Definition PAGTypes.cpp:31
libetonyek::PAGFootnoteState::m_nextFootnote
std::deque< IWORKOutputElements >::const_iterator m_nextFootnote
Definition PAGTypes.h:46
libetonyek::PAGFootnoteState::m_footnotes
std::deque< IWORKOutputElements > m_footnotes
Definition PAGTypes.h:45
libetonyek::PAGFootnoteState::PAGFootnoteState
PAGFootnoteState()
Definition PAGTypes.cpp:22
libetonyek::PAGFootnoteState::m_pending
bool m_pending
Definition PAGTypes.h:42
libetonyek::PAGFootnoteState::m_mark
std::string m_mark
Definition PAGTypes.h:43
libetonyek::PAGFootnoteState::m_firstTextAfterMark
bool m_firstTextAfterMark
Definition PAGTypes.h:41
libetonyek::PAGPublicationInfo::m_footnoteKind
PAGFootnoteKind m_footnoteKind
Definition PAGTypes.h:34
libetonyek::PAGPublicationInfo::PAGPublicationInfo
PAGPublicationInfo()
Definition PAGTypes.cpp:15
libetonyek::PAGPublicationInfo::m_creationDate
boost::optional< std::string > m_creationDate
Definition PAGTypes.h:32
libetonyek::PAGPublicationInfo::m_footnoteGap
boost::optional< double > m_footnoteGap
Definition PAGTypes.h:33