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 
23 {
24  // disable copying
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 
53 
54  void drawLayer(const KEYLayerPtr_t &layer);
55 
56 private:
57  KEYPresentationInterface *m_painter;
58 
60  const KEYSize m_size;
61 
64 
66 };
67 
68 } // namespace libetonyek
69 
70 #endif // KEYCONTENTCOLLECTOR_H_INCLUDED
71 
72 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
Definition: KEYContentCollector.h:22
boost::unordered_map< ID_t, KEYLayerPtr_t > KEYLayerMap_t
Definition: KEYTypes_fwd.h:63
KEYPresentationInterface * m_painter
Definition: KEYContentCollector.h:57
bool m_layerOpened
Definition: KEYContentCollector.h:63
int m_layerCount
Definition: KEYContentCollector.h:65
virtual void endSlides()
Definition: KEYContentCollector.cpp:85
virtual void endThemes()
Definition: KEYContentCollector.cpp:94
Implementation of common parts of styles and content collector.
Definition: KEYCollectorBase.h:31
Definition: KEY2Token.h:795
void drawLayer(const KEYLayerPtr_t &layer)
Definition: KEYContentCollector.cpp:164
const KEYLayerMap_t & m_masterPages
Definition: KEYContentCollector.h:59
Definition: KEYTypes.h:27
void resolveStyle(KEYStyle &style)
Definition: KEYContentCollector.cpp:98
virtual void startPage()
Definition: KEYContentCollector.cpp:104
Definition: KEY1Token.h:42
A dictionary of all referenceable entities in the presentation.
Definition: KEYDictionary.h:35
Definition: KEY1Token.h:72
virtual void startSlides()
Definition: KEYContentCollector.cpp:80
KEYContentCollector & operator=(const KEYContentCollector &other)
Definition: KEY2Token.h:270
virtual void collectPage(const boost::optional< ID_t > &id)
Definition: KEYContentCollector.cpp:74
KEYContentCollector(const KEYContentCollector &other)
virtual ~KEYContentCollector()
Definition: KEYContentCollector.cpp:39
const KEYSize m_size
Definition: KEYContentCollector.h:60
bool m_pageOpened
Definition: KEYContentCollector.h:62
virtual void endPage()
Definition: KEYContentCollector.cpp:120
virtual void collectPresentation(const boost::optional< KEYSize > &size)
Definition: KEYContentCollector.cpp:47
virtual void startLayer()
Definition: KEYContentCollector.cpp:131
virtual void startThemes()
Definition: KEYContentCollector.cpp:90
Represents a hierarchical style.
Definition: KEYStyle.h:26
A representation of default values for various parts of the format.
Definition: KEYDefaults.h:30
virtual void collectLayer(const boost::optional< ID_t > &id, bool ref)
Definition: KEYContentCollector.cpp:51
virtual void endLayer()
Definition: KEYContentCollector.cpp:150
boost::shared_ptr< KEYLayer > KEYLayerPtr_t
Definition: KEYTypes_fwd.h:60

Generated for libetonyek by doxygen 1.8.5