IWORKRecorder.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 IWORKRECORDER_H_INCLUDED
11#define IWORKRECORDER_H_INCLUDED
12
13#include <memory>
14#include <string>
15
16#include <boost/optional.hpp>
17
18#include "IWORKPath_fwd.h"
19#include "IWORKStyle.h"
20#include "IWORKStylesheet.h"
21#include "IWORKTypes_fwd.h"
22
23namespace libetonyek
24{
25
26class IWORKCollector;
27class IWORKTable;
28class IWORKText;
29struct IWORKSize;
30
32{
33public:
35
36 void replay(IWORKCollector &collector) const;
37
38 // recorder functions
39
41
43
45
46 void collectPath(const IWORKPathPtr_t &path);
47 void collectImage(const IWORKMediaContentPtr_t &image, const IWORKGeometryPtr_t &cropGeometry, const boost::optional<int> &order, bool locked);
48 void collectLine(const IWORKLinePtr_t &line);
49 void collectShape(const boost::optional<int> &order, bool locked);
50
51 void collectMedia(const IWORKMediaContentPtr_t &content, const IWORKGeometryPtr_t &cropGeometry, const boost::optional<int> &order);
52
54
55 void collectTable(const std::shared_ptr<IWORKTable> &table);
56 void collectText(const std::shared_ptr<IWORKText> &text);
57
58 void startAttachment();
59 void endAttachment();
60
61 void startAttachments();
62 void endAttachments();
63
64 void startGroup();
65 void endGroup();
66
67 void openGroup();
68 void closeGroup();
69
70 void startLevel();
71 void endLevel();
72
74 void popStylesheet();
75
76private:
77 struct Impl;
78
79private:
80 std::shared_ptr<Impl> m_impl;
81};
82
83} // namespace libetonyek
84
85#endif // IWORKRECORDER_H_INCLUDED
86
87/* vim:set shiftwidth=2 softtabstop=2 expandtab: */
Definition: IWORKCollector.h:42
Definition: IWORKRecorder.h:32
void collectImage(const IWORKMediaContentPtr_t &image, const IWORKGeometryPtr_t &cropGeometry, const boost::optional< int > &order, bool locked)
Definition: IWORKRecorder.cpp:389
void startAttachment()
Definition: IWORKRecorder.cpp:425
void startLevel()
Definition: IWORKRecorder.cpp:465
void collectMedia(const IWORKMediaContentPtr_t &content, const IWORKGeometryPtr_t &cropGeometry, const boost::optional< int > &order)
Definition: IWORKRecorder.cpp:404
void endLevel()
Definition: IWORKRecorder.cpp:470
void replay(IWORKCollector &collector) const
Definition: IWORKRecorder.cpp:362
void collectGeometry(const IWORKGeometryPtr_t &geometry)
Definition: IWORKRecorder.cpp:379
void popStylesheet()
Definition: IWORKRecorder.cpp:480
void collectPath(const IWORKPathPtr_t &path)
Definition: IWORKRecorder.cpp:384
void collectShape(const boost::optional< int > &order, bool locked)
Definition: IWORKRecorder.cpp:399
void startGroup()
Definition: IWORKRecorder.cpp:455
void collectText(const std::shared_ptr< IWORKText > &text)
Definition: IWORKRecorder.cpp:419
void pushStylesheet(const IWORKStylesheetPtr_t &stylesheet)
Definition: IWORKRecorder.cpp:475
void setGraphicStyle(const IWORKStylePtr_t &style)
Definition: IWORKRecorder.cpp:374
IWORKRecorder()
Definition: IWORKRecorder.cpp:357
void collectLine(const IWORKLinePtr_t &line)
Definition: IWORKRecorder.cpp:394
void endAttachments()
Definition: IWORKRecorder.cpp:440
void startAttachments()
Definition: IWORKRecorder.cpp:435
void collectTable(const std::shared_ptr< IWORKTable > &table)
Definition: IWORKRecorder.cpp:414
void openGroup()
Definition: IWORKRecorder.cpp:445
void collectStylesheet(const IWORKStylesheetPtr_t &stylesheet)
Definition: IWORKRecorder.cpp:409
void collectStyle(const IWORKStylePtr_t &style)
Definition: IWORKRecorder.cpp:369
void endAttachment()
Definition: IWORKRecorder.cpp:430
void closeGroup()
Definition: IWORKRecorder.cpp:450
void endGroup()
Definition: IWORKRecorder.cpp:460
std::shared_ptr< Impl > m_impl
Definition: IWORKRecorder.h:77
@ line
Definition: IWORKToken.h:298
@ stylesheet
Definition: IWORKToken.h:417
@ text
Definition: IWORKToken.h:465
@ content
Definition: IWORKToken.h:163
@ image
Definition: IWORKToken.h:260
@ path
Definition: IWORKToken.h:358
@ locked
Definition: IWORKToken.h:570
@ style
Definition: IWORKToken.h:414
@ geometry
Definition: IWORKToken.h:232
@ table
Definition: KEY1Token.h:198
@ order
Definition: PAG1Token.h:43
Definition: IWORKBezierElement.cpp:21
std::shared_ptr< IWORKStylesheet > IWORKStylesheetPtr_t
Definition: IWORKStylesheet.h:19
std::shared_ptr< IWORKMediaContent > IWORKMediaContentPtr_t
Definition: IWORKTypes_fwd.h:54
std::shared_ptr< IWORKPath > IWORKPathPtr_t
Definition: IWORKPath_fwd.h:20
std::shared_ptr< IWORKGeometry > IWORKGeometryPtr_t
Definition: IWORKTypes_fwd.h:41
std::shared_ptr< IWORKLine > IWORKLinePtr_t
Definition: IWORKTypes_fwd.h:45
std::shared_ptr< IWORKStyle > IWORKStylePtr_t
Definition: IWORKStyle_fwd.h:21
Definition: IWORKRecorder.cpp:346

Generated for libetonyek by doxygen 1.9.3