KEYSVGGenerator.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 KEYSVGGENERATOR_H_INCLUDED
11 #define KEYSVGGENERATOR_H_INCLUDED
12 
13 #include <stdio.h>
14 #include <iostream>
15 #include <sstream>
16 #include <libwpd/libwpd.h>
17 #include <libetonyek/libetonyek.h>
18 
19 namespace libetonyek
20 {
21 
22 class KEYSVGGenerator : public KEYPresentationInterface
23 {
24 public:
25  explicit KEYSVGGenerator(KEYStringVector &vec);
26  virtual ~KEYSVGGenerator();
27 
28  virtual void startDocument(const ::WPXPropertyList &propList);
29  virtual void endDocument();
30 
31  virtual void setDocumentMetaData(const ::WPXPropertyList &propList);
32 
33  virtual void startSlide(const ::WPXPropertyList &propList);
34  virtual void endSlide();
35 
36  virtual void setStyle(const ::WPXPropertyList &propList, const ::WPXPropertyListVector &gradient);
37 
38  virtual void startLayer(const ::WPXPropertyList &propList);
39  virtual void endLayer();
40 
41  virtual void startEmbeddedGraphics(const ::WPXPropertyList & /*propList*/) {}
42  virtual void endEmbeddedGraphics() {}
43 
44  virtual void startGroup(const ::WPXPropertyList &propList);
45  virtual void endGroup();
46 
47  virtual void drawRectangle(const ::WPXPropertyList &propList);
48  virtual void drawEllipse(const ::WPXPropertyList &propList);
49  virtual void drawPolyline(const ::WPXPropertyListVector &vertices);
50  virtual void drawPolygon(const ::WPXPropertyListVector &vertices);
51  virtual void drawPath(const ::WPXPropertyListVector &path);
52  virtual void drawGraphicObject(const ::WPXPropertyList &propList, const ::WPXBinaryData &binaryData);
53 
54  virtual void drawConnector(const ::WPXPropertyList &propList, const ::WPXPropertyListVector &path);
55 
56  virtual void startTextObject(const ::WPXPropertyList &propList, const ::WPXPropertyListVector &path);
57  virtual void endTextObject();
58  virtual void insertTab();
59  virtual void insertSpace();
60  virtual void insertText(const WPXString &text);
61  virtual void insertLineBreak();
62 
63  virtual void insertField(const WPXString &type, const ::WPXPropertyList &propList);
64 
65  virtual void openOrderedListLevel(const ::WPXPropertyList &propList);
66  virtual void openUnorderedListLevel(const ::WPXPropertyList &propList);
67  virtual void closeOrderedListLevel();
68  virtual void closeUnorderedListLevel();
69  virtual void openListElement(const ::WPXPropertyList &propList, const ::WPXPropertyListVector &tabStops);
70  virtual void closeListElement();
71 
72  virtual void openParagraph(const ::WPXPropertyList &propList, const ::WPXPropertyListVector &tabStops);
73  virtual void closeParagraph();
74  virtual void openSpan(const ::WPXPropertyList &propList);
75  virtual void closeSpan();
76 
77  virtual void openTable(const ::WPXPropertyList &propList, const ::WPXPropertyListVector &columns);
78  virtual void openTableRow(const ::WPXPropertyList &propList);
79  virtual void closeTableRow();
80  virtual void openTableCell(const ::WPXPropertyList &propList);
81  virtual void closeTableCell();
82  virtual void insertCoveredTableCell(const ::WPXPropertyList &propList);
83  virtual void closeTable();
84 
85  virtual void startComment(const ::WPXPropertyList &propList);
86  virtual void endComment();
87 
88  virtual void startNotes(const ::WPXPropertyList &propList);
89  virtual void endNotes();
90 
91 private:
92  ::WPXPropertyListVector m_gradient;
93  ::WPXPropertyList m_style;
97  void writeStyle(bool isClosed=true);
98  void drawPolySomething(const ::WPXPropertyListVector &vertices, bool isClosed);
99 
100  std::ostringstream m_outputSink;
101  KEYStringVector &m_vec;
102 };
103 
104 } // namespace libetonyek
105 
106 #endif // KEYSVGGENERATOR_H_INCLUDED
107 
108 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
virtual void openTableRow(const ::WPXPropertyList &propList)
Definition: KEYSVGGenerator.cpp:603
virtual void startGroup(const ::WPXPropertyList &propList)
Definition: KEYSVGGenerator.cpp:337
virtual void endSlide()
Definition: KEYSVGGenerator.cpp:80
::WPXPropertyListVector m_gradient
Definition: KEYSVGGenerator.h:92
void writeStyle(bool isClosed=true)
Definition: KEYSVGGenerator.cpp:656
int m_patternIndex
Definition: KEYSVGGenerator.h:95
virtual ~KEYSVGGenerator()
Definition: KEYSVGGenerator.cpp:54
virtual void drawPolygon(const ::WPXPropertyListVector &vertices)
Definition: KEYSVGGenerator.cpp:379
KEYStringVector & m_vec
Definition: KEYSVGGenerator.h:101
virtual void drawRectangle(const ::WPXPropertyList &propList)
Definition: KEYSVGGenerator.cpp:348
virtual void drawPath(const ::WPXPropertyListVector &path)
Definition: KEYSVGGenerator.cpp:417
KEYSVGGenerator(KEYStringVector &vec)
Definition: KEYSVGGenerator.cpp:50
virtual void closeTable()
Definition: KEYSVGGenerator.cpp:628
virtual void drawGraphicObject(const ::WPXPropertyList &propList, const ::WPXBinaryData &binaryData)
Definition: KEYSVGGenerator.cpp:469
virtual void openListElement(const ::WPXPropertyList &propList, const ::WPXPropertyListVector &tabStops)
Definition: KEYSVGGenerator.cpp:579
int m_shadowIndex
Definition: KEYSVGGenerator.h:96
void drawPolySomething(const ::WPXPropertyListVector &vertices, bool isClosed)
Definition: KEYSVGGenerator.cpp:384
int m_gradientIndex
Definition: KEYSVGGenerator.h:94
virtual void openTable(const ::WPXPropertyList &propList, const ::WPXPropertyListVector &columns)
Definition: KEYSVGGenerator.cpp:598
virtual void startDocument(const ::WPXPropertyList &propList)
Definition: KEYSVGGenerator.cpp:58
Definition: KEY2Token.h:853
virtual void closeUnorderedListLevel()
Definition: KEYSVGGenerator.cpp:575
virtual void setStyle(const ::WPXPropertyList &propList, const ::WPXPropertyListVector &gradient)
Definition: KEYSVGGenerator.cpp:87
::WPXPropertyList m_style
Definition: KEYSVGGenerator.h:93
virtual void endGroup()
Definition: KEYSVGGenerator.cpp:343
virtual void drawEllipse(const ::WPXPropertyList &propList)
Definition: KEYSVGGenerator.cpp:359
virtual void drawConnector(const ::WPXPropertyList &propList, const ::WPXPropertyListVector &path)
Definition: KEYSVGGenerator.cpp:483
virtual void openOrderedListLevel(const ::WPXPropertyList &propList)
Definition: KEYSVGGenerator.cpp:563
virtual void openSpan(const ::WPXPropertyList &propList)
Definition: KEYSVGGenerator.cpp:508
virtual void openParagraph(const ::WPXPropertyList &propList, const ::WPXPropertyListVector &tabStops)
Definition: KEYSVGGenerator.cpp:589
virtual void startNotes(const ::WPXPropertyList &propList)
Definition: KEYSVGGenerator.cpp:645
virtual void startEmbeddedGraphics(const ::WPXPropertyList &)
Definition: KEYSVGGenerator.h:41
virtual void endComment()
Definition: KEYSVGGenerator.cpp:639
virtual void insertSpace()
Definition: KEYSVGGenerator.cpp:542
virtual void closeTableRow()
Definition: KEYSVGGenerator.cpp:608
virtual void startSlide(const ::WPXPropertyList &propList)
Definition: KEYSVGGenerator.cpp:70
virtual void insertField(const WPXString &type, const ::WPXPropertyList &propList)
Definition: KEYSVGGenerator.cpp:558
virtual void endNotes()
Definition: KEYSVGGenerator.cpp:650
virtual void closeTableCell()
Definition: KEYSVGGenerator.cpp:618
virtual void insertTab()
Definition: KEYSVGGenerator.cpp:537
virtual void openTableCell(const ::WPXPropertyList &propList)
Definition: KEYSVGGenerator.cpp:613
virtual void endEmbeddedGraphics()
Definition: KEYSVGGenerator.h:42
virtual void drawPolyline(const ::WPXPropertyListVector &vertices)
Definition: KEYSVGGenerator.cpp:374
virtual void closeOrderedListLevel()
Definition: KEYSVGGenerator.cpp:571
virtual void insertCoveredTableCell(const ::WPXPropertyList &propList)
Definition: KEYSVGGenerator.cpp:623
Definition: KEY1Token.h:46
virtual void setDocumentMetaData(const ::WPXPropertyList &propList)
Definition: KEYSVGGenerator.cpp:66
virtual void endDocument()
Definition: KEYSVGGenerator.cpp:62
virtual void endLayer()
Definition: KEYSVGGenerator.cpp:332
virtual void insertLineBreak()
Definition: KEYSVGGenerator.cpp:553
virtual void startTextObject(const ::WPXPropertyList &propList, const ::WPXPropertyListVector &path)
Definition: KEYSVGGenerator.cpp:488
Definition: KEY2Token.h:141
virtual void closeListElement()
Definition: KEYSVGGenerator.cpp:584
virtual void closeParagraph()
Definition: KEYSVGGenerator.cpp:593
virtual void startComment(const ::WPXPropertyList &propList)
Definition: KEYSVGGenerator.cpp:634
Definition: KEYSVGGenerator.h:22
virtual void endTextObject()
Definition: KEYSVGGenerator.cpp:503
std::ostringstream m_outputSink
Definition: KEYSVGGenerator.h:100
Definition: KEY1Token.h:167
virtual void closeSpan()
Definition: KEYSVGGenerator.cpp:532
virtual void startLayer(const ::WPXPropertyList &propList)
Definition: KEYSVGGenerator.cpp:324
Definition: KEY2Token.h:357
virtual void insertText(const WPXString &text)
Definition: KEYSVGGenerator.cpp:547
virtual void openUnorderedListLevel(const ::WPXPropertyList &propList)
Definition: KEYSVGGenerator.cpp:567

Generated for libetonyek by doxygen 1.8.5