IWORKText.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 IWORKTEXT_H_INCLUDED
11 #define IWORKTEXT_H_INCLUDED
12 
13 #include "IWORKText_fwd.h"
14 
15 #include <deque>
16 
17 #include <glm/glm.hpp>
18 
19 #include "IWORKStyle_fwd.h"
20 #include "IWORKStyleStack.h"
21 #include "IWORKOutputElements.h"
22 
23 namespace libetonyek
24 {
25 
26 class IWORKText
27 {
28 
29 public:
30  explicit IWORKText(bool discardEmptyContent);
31 
32  void openLayout(const IWORKStylePtr_t &style);
33  void closeLayout();
34 
35  void openParagraph(const IWORKStylePtr_t &style);
36  void closeParagraph();
37 
38  void openSpan(const IWORKStylePtr_t &style);
39  void closeSpan();
40 
41  void openLink(const std::string &url);
42  void closeLink();
43 
44  void insertText(const std::string &text);
45  void insertTab();
46  void insertLineBreak();
47 
48  void insertInlineContent(const IWORKOutputElements &elements);
49  void insertBlockContent(const IWORKOutputElements &elements);
50 
51  bool empty() const;
52 
53  void draw(IWORKOutputElements &elements);
54 
55 private:
56  void doOpenPara();
57  void doClosePara();
58 
59  void doOpenSpan();
60  void doCloseSpan();
61 
62  void flushSpan();
63 
64 private:
66 
68 
70 
74 
78  bool m_inSpan;
79 };
80 
81 }
82 
83 #endif // IWORKTEXT_H_INCLUDED
84 
85 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
void closeLink()
Definition: IWORKText.cpp:387
Definition: IWORKBezierElement.cpp:18
bool m_pendingSpanClose
Definition: IWORKText.h:77
bool m_paraOpened
Definition: IWORKText.h:72
Definition: IWORKOutputElements.h:25
void closeParagraph()
Definition: IWORKText.cpp:352
IWORKStyleStack m_styleStack
Definition: IWORKText.h:65
void closeSpan()
Definition: IWORKText.cpp:368
IWORKText(bool discardEmptyContent)
Definition: IWORKText.cpp:305
void doCloseSpan()
Definition: IWORKText.cpp:472
void doOpenSpan()
Definition: IWORKText.cpp:459
boost::shared_ptr< IWORKStyle > IWORKStylePtr_t
Definition: IWORKStyle_fwd.h:21
Definition: IWORKText.h:26
Representation of a dynamic inheritance of styles.
Definition: IWORKStyleStack.h:34
void openSpan(const IWORKStylePtr_t &style)
Definition: IWORKText.cpp:361
Definition: IWORKToken.h:177
Definition: IWORKToken.h:179
bool m_ignoreEmptyPara
Definition: IWORKText.h:73
Definition: IWORKToken.h:194
bool empty() const
Definition: IWORKText.cpp:431
void closeLayout()
Definition: IWORKText.cpp:335
void insertText(const std::string &text)
Definition: IWORKText.cpp:395
void insertTab()
Definition: IWORKText.cpp:402
void flushSpan()
Definition: IWORKText.cpp:485
void openLayout(const IWORKStylePtr_t &style)
Definition: IWORKText.cpp:322
bool m_spanOpened
Definition: IWORKText.h:76
void doClosePara()
Definition: IWORKText.cpp:447
void insertInlineContent(const IWORKOutputElements &elements)
Definition: IWORKText.cpp:416
void openLink(const std::string &url)
Definition: IWORKText.cpp:374
IWORKStylePtr_t m_currentSpanStyle
Definition: IWORKText.h:75
void openParagraph(const IWORKStylePtr_t &style)
Definition: IWORKText.cpp:343
void insertBlockContent(const IWORKOutputElements &elements)
Definition: IWORKText.cpp:423
IWORKStylePtr_t m_currentParaStyle
Definition: IWORKText.h:71
void insertLineBreak()
Definition: IWORKText.cpp:409
bool m_inSpan
Definition: IWORKText.h:78
bool m_sectionOpened
Definition: IWORKText.h:69
IWORKOutputElements m_elements
Definition: IWORKText.h:67
void doOpenPara()
Definition: IWORKText.cpp:436
void draw(IWORKOutputElements &elements)
Definition: IWORKText.cpp:300

Generated for libetonyek by doxygen 1.8.10