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  void drawNotes(const KEYObjectList_t &notes);
56  void drawStickyNotes(const KEYStickyNotes_t &stickyNotes);
57 
58 private:
59  KEYPresentationInterface *m_painter;
60 
62  const KEYSize m_size;
63 
66 
68 };
69 
70 } // namespace libetonyek
71 
72 #endif // KEYCONTENTCOLLECTOR_H_INCLUDED
73 
74 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
std::deque< KEYStickyNote > KEYStickyNotes_t
Definition: KEYTypes.h:183
Definition: KEYContentCollector.h:22
void drawStickyNotes(const KEYStickyNotes_t &stickyNotes)
Definition: KEYContentCollector.cpp:203
boost::unordered_map< ID_t, KEYLayerPtr_t > KEYLayerMap_t
Definition: KEYTypes_fwd.h:63
KEYPresentationInterface * m_painter
Definition: KEYContentCollector.h:59
bool m_layerOpened
Definition: KEYContentCollector.h:65
int m_layerCount
Definition: KEYContentCollector.h:67
virtual void endSlides()
Definition: KEYContentCollector.cpp:91
virtual void endThemes()
Definition: KEYContentCollector.cpp:100
Implementation of common parts of styles and content collector.
Definition: KEYCollectorBase.h:32
Definition: KEY2Token.h:796
void drawLayer(const KEYLayerPtr_t &layer)
Definition: KEYContentCollector.cpp:174
void drawNotes(const KEYObjectList_t &notes)
Definition: KEYContentCollector.cpp:189
const KEYLayerMap_t & m_masterPages
Definition: KEYContentCollector.h:61
Definition: KEYTypes.h:27
void resolveStyle(KEYStyle &style)
Definition: KEYContentCollector.cpp:104
virtual void startPage()
Definition: KEYContentCollector.cpp:110
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:86
Definition: KEY2Token.h:326
KEYContentCollector & operator=(const KEYContentCollector &other)
Definition: KEY2Token.h:270
virtual void collectPage(const boost::optional< ID_t > &id)
Definition: KEYContentCollector.cpp:75
KEYContentCollector(const KEYContentCollector &other)
virtual ~KEYContentCollector()
Definition: KEYContentCollector.cpp:40
const KEYSize m_size
Definition: KEYContentCollector.h:62
bool m_pageOpened
Definition: KEYContentCollector.h:64
virtual void endPage()
Definition: KEYContentCollector.cpp:128
virtual void collectPresentation(const boost::optional< KEYSize > &size)
Definition: KEYContentCollector.cpp:48
virtual void startLayer()
Definition: KEYContentCollector.cpp:141
virtual void startThemes()
Definition: KEYContentCollector.cpp:96
Represents a hierarchical style.
Definition: KEYStyle.h:26
A representation of default values for various parts of the format.
Definition: KEYDefaults.h:30
std::deque< KEYObjectPtr_t > KEYObjectList_t
A list of presentation objects.
Definition: KEYObject.h:48
virtual void collectLayer(const boost::optional< ID_t > &id, bool ref)
Definition: KEYContentCollector.cpp:52
virtual void endLayer()
Definition: KEYContentCollector.cpp:160
boost::shared_ptr< KEYLayer > KEYLayerPtr_t
Definition: KEYTypes_fwd.h:60

Generated for libetonyek by doxygen 1.8.5