KEYCollector.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 KEYCOLLECTOR_H_INCLUDED
11#define KEYCOLLECTOR_H_INCLUDED
12
13#include <deque>
14
15#include "IWORKCollector.h"
16#include "IWORKPath_fwd.h"
17#include "IWORKStyle_fwd.h"
18#include "KEYTypes.h"
19#include "KEYTypes_fwd.h"
20
21namespace libetonyek
22{
23
25{
26public:
28 ~KEYCollector() override;
29
30 // collector functions
31
33
35 void insertLayer(const KEYLayerPtr_t &layer);
37
38 KEYPlaceholderPtr_t collectTextPlaceholder(const IWORKStylePtr_t &style, bool title, const boost::optional<unsigned> &resizeFlags=boost::none);
39 void insertTextPlaceholder(const KEYPlaceholderPtr_t &placeholder);
40
41 void collectNote();
42
43 void collectStickyNote() override;
44
46
47 // helper functions
48
49 void startDocument();
50 void sendSlides(const std::deque<KEYSlidePtr_t> &slides);
51 void endDocument();
52
53 void startSlides();
54 void endSlides();
55 void startThemes();
56 void endThemes();
57
58 void startPage();
59 void endPage();
60 void startLayer();
61 void endLayer();
62
63protected:
65
66private:
67 void insertSlide(const KEYSlidePtr_t &slide, bool isMaster, const boost::optional<std::string> &pageName=boost::none);
68 void drawTable() override;
69 void drawMedia(double x, double y, const librevenge::RVNGPropertyList &data) override;
70 void fillShapeProperties(librevenge::RVNGPropertyList &props) override;
71 bool createFrameStylesForTextBox() const override
72 {
73 return false;
74 }
75 void drawTextBox(const IWORKTextPtr_t &text, const glm::dmat3 &trafo, const IWORKGeometryPtr_t &boundingBox, const librevenge::RVNGPropertyList &style) override;
76
77private:
79
83
87};
88
89} // namespace libetonyek
90
91#endif // KEYCOLLECTOR_H_INCLUDED
92
93/* vim:set shiftwidth=2 softtabstop=2 expandtab: */
IWORKCollector(IWORKDocumentInterface *document)
Definition IWORKCollector.cpp:191
Definition IWORKDocumentInterface.h:19
Definition IWORKOutputElements.h:33
void startSlides()
Definition KEYCollector.cpp:289
void insertSlide(const KEYSlidePtr_t &slide, bool isMaster, const boost::optional< std::string > &pageName=boost::none)
Definition KEYCollector.cpp:120
KEYLayerPtr_t collectLayer()
Definition KEYCollector.cpp:59
KEYSlidePtr_t collectSlide()
Definition KEYCollector.cpp:101
void endDocument()
Definition KEYCollector.cpp:284
KEYCollector(IWORKDocumentInterface *document)
Definition KEYCollector.cpp:35
void setSlideStyle(const IWORKStylePtr_t &style)
Definition KEYCollector.cpp:225
void endLayer()
Definition KEYCollector.cpp:345
bool m_inSlides
Definition KEYCollector.h:64
void startDocument()
Definition KEYCollector.cpp:234
void sendSlides(const std::deque< KEYSlidePtr_t > &slides)
Definition KEYCollector.cpp:239
void startPage()
Definition KEYCollector.cpp:307
void insertLayer(const KEYLayerPtr_t &layer)
Definition KEYCollector.cpp:75
KEYPlaceholderPtr_t collectTextPlaceholder(const IWORKStylePtr_t &style, bool title, const boost::optional< unsigned > &resizeFlags=boost::none)
Definition KEYCollector.cpp:145
void endSlides()
Definition KEYCollector.cpp:294
IWORKOutputElements m_stickyNotes
Definition KEYCollector.h:82
void startThemes()
Definition KEYCollector.cpp:299
IWORKOutputElements m_notes
Definition KEYCollector.h:81
bool m_pageOpened
Definition KEYCollector.h:84
void endThemes()
Definition KEYCollector.cpp:303
void insertTextPlaceholder(const KEYPlaceholderPtr_t &placeholder)
Definition KEYCollector.cpp:167
void drawTable() override
Definition KEYCollector.cpp:356
int m_layerCount
Definition KEYCollector.h:86
void collectNote()
Definition KEYCollector.cpp:190
void endPage()
Definition KEYCollector.cpp:321
void startLayer()
Definition KEYCollector.cpp:334
void fillShapeProperties(librevenge::RVNGPropertyList &props) override
Definition KEYCollector.cpp:403
void collectPresentationSize(const IWORKSize &size)
Definition KEYCollector.cpp:54
bool m_layerOpened
Definition KEYCollector.h:85
void collectStickyNote() override
Definition KEYCollector.cpp:199
~KEYCollector() override
Definition KEYCollector.cpp:49
IWORKSize m_size
Definition KEYCollector.h:78
void drawTextBox(const IWORKTextPtr_t &text, const glm::dmat3 &trafo, const IWORKGeometryPtr_t &boundingBox, const librevenge::RVNGPropertyList &style) override
Definition KEYCollector.cpp:407
KEYSlidePtr_t m_currentSlide
Definition KEYCollector.h:80
bool createFrameStylesForTextBox() const override
Definition KEYCollector.h:71
void drawMedia(double x, double y, const librevenge::RVNGPropertyList &data) override
Definition KEYCollector.cpp:388
@ y
Definition IWORKToken.h:643
@ text
Definition IWORKToken.h:472
@ layer
Definition IWORKToken.h:291
@ size
Definition IWORKToken.h:402
@ title
Definition IWORKToken.h:483
@ data
Definition IWORKToken.h:178
@ x
Definition IWORKToken.h:641
@ style
Definition IWORKToken.h:421
@ slide
Definition KEY1Token.h:92
@ document
Definition NUM1Token.h:34
Definition IWORKBezierElement.cpp:21
std::shared_ptr< KEYLayer > KEYLayerPtr_t
Definition KEYTypes_fwd.h:23
std::shared_ptr< IWORKText > IWORKTextPtr_t
Definition IWORKText_fwd.h:22
std::shared_ptr< KEYPlaceholder > KEYPlaceholderPtr_t
Definition KEYTypes_fwd.h:28
std::shared_ptr< KEYSlide > KEYSlidePtr_t
Definition KEYTypes_fwd.h:33
std::shared_ptr< IWORKGeometry > IWORKGeometryPtr_t
Definition IWORKTypes_fwd.h:45
std::shared_ptr< IWORKStyle > IWORKStylePtr_t
Definition IWORKStyle_fwd.h:23
Definition IWORKTypes.h:45

Generated for libetonyek by doxygen 1.13.2