Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
KEYContentCollector.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 KEYCONTENTCOLLECTOR_H_INCLUDED
11
#define KEYCONTENTCOLLECTOR_H_INCLUDED
12
13
#include "
KEYCollectorBase.h
"
14
#include "
KEYTypes.h
"
15
16
namespace
libetonyek
17
{
18
19
struct
KEYDictionary;
20
class
KEYPresentationInterface;
21
22
class
KEYContentCollector
:
public
KEYCollectorBase
23
{
24
// disable copying
25
KEYContentCollector
(
const
KEYContentCollector
&other);
26
KEYContentCollector
&
operator=
(
const
KEYContentCollector
&other);
27
28
public
:
29
KEYContentCollector
(KEYPresentationInterface *painter,
KEYDictionary
&
dict
,
const
KEYLayerMap_t
&masterPages,
const
KEYSize
&
size
,
const
KEYDefaults
&defaults);
30
virtual
~KEYContentCollector
();
31
32
// collector functions
33
34
virtual
void
collectPresentation
(
const
boost::optional<KEYSize> &size);
35
36
virtual
void
collectLayer
(
const
boost::optional<ID_t> &
id
,
bool
ref);
37
virtual
void
collectPage
(
const
boost::optional<ID_t> &
id
);
38
39
virtual
void
startSlides
();
40
virtual
void
endSlides
();
41
virtual
void
startThemes
();
42
virtual
void
endThemes
();
43
44
virtual
void
startPage
();
45
virtual
void
endPage
();
46
virtual
void
startLayer
();
47
virtual
void
endLayer
();
48
49
private
:
50
// helper functions
51
52
void
resolveStyle
(
KEYStyle
&
style
);
53
54
void
drawLayer
(
const
KEYLayerPtr_t
&
layer
);
55
56
private
:
57
KEYPresentationInterface *
m_painter
;
58
59
const
KEYLayerMap_t
&
m_masterPages
;
60
const
KEYSize
m_size
;
61
62
bool
m_pageOpened
;
63
bool
m_layerOpened
;
64
65
int
m_layerCount
;
66
};
67
68
}
// namespace libetonyek
69
70
#endif // KEYCONTENTCOLLECTOR_H_INCLUDED
71
72
/* vim:set shiftwidth=2 softtabstop=2 expandtab: */
Generated for libetonyek by
doxygen
1.8.3.1