Line data Source code
1 : /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 : /* libcdr
3 : * Version: MPL 1.1 / GPLv2+ / LGPLv2+
4 : *
5 : * The contents of this file are subject to the Mozilla Public License Version
6 : * 1.1 (the "License"); you may not use this file except in compliance with
7 : * the License or as specified alternatively below. You may obtain a copy of
8 : * the License at http://www.mozilla.org/MPL/
9 : *
10 : * Software distributed under the License is distributed on an "AS IS" basis,
11 : * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12 : * for the specific language governing rights and limitations under the
13 : * License.
14 : *
15 : * Major Contributor(s):
16 : * Copyright (C) 2012 Fridrich Strba <fridrich.strba@bluewin.ch>
17 : *
18 : *
19 : * All Rights Reserved.
20 : *
21 : * For minor contributions see the git repository.
22 : *
23 : * Alternatively, the contents of this file may be used under the terms of
24 : * either the GNU General Public License Version 2 or later (the "GPLv2+"), or
25 : * the GNU Lesser General Public License Version 2 or later (the "LGPLv2+"),
26 : * in which case the provisions of the GPLv2+ or the LGPLv2+ are applicable
27 : * instead of those above.
28 : */
29 :
30 : #ifndef __CDROUTPUTELEMENTLIST_H__
31 : #define __CDROUTPUTELEMENTLIST_H__
32 :
33 : #include <map>
34 : #include <list>
35 : #include <vector>
36 : #include <libwpd/libwpd.h>
37 : #include <libwpg/libwpg.h>
38 :
39 : namespace libcdr
40 : {
41 :
42 : class CDROutputElement;
43 :
44 : class CDROutputElementList
45 : {
46 : public:
47 : CDROutputElementList();
48 : CDROutputElementList(const CDROutputElementList &elementList);
49 : CDROutputElementList &operator=(const CDROutputElementList &elementList);
50 : virtual ~CDROutputElementList();
51 : void append(const CDROutputElementList &elementList);
52 : void draw(libwpg::WPGPaintInterface *painter) const;
53 : void addStyle(const WPXPropertyList &propList, const WPXPropertyListVector &propListVec);
54 : void addPath(const WPXPropertyListVector &propListVec);
55 : void addGraphicObject(const WPXPropertyList &propList, const ::WPXBinaryData &binaryData);
56 : void addStartTextObject(const WPXPropertyList &propList, const WPXPropertyListVector &propListVec);
57 : void addStartTextLine(const WPXPropertyList &propList);
58 : void addStartTextSpan(const WPXPropertyList &propList);
59 : void addInsertText(const WPXString &text);
60 : void addEndTextSpan();
61 : void addEndTextLine();
62 : void addEndTextObject();
63 : void addStartGroup(const WPXPropertyList &propList);
64 : void addEndGroup();
65 0 : bool empty() const
66 : {
67 0 : return m_elements.empty();
68 : }
69 : private:
70 : std::vector<CDROutputElement *> m_elements;
71 : };
72 :
73 :
74 : } // namespace libcdr
75 :
76 : #endif // __CDROUTPUTELEMENTLIST_H__
77 : /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
|