CDROutputElementList.h
Go to the documentation of this file.
00001 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
00002 /*
00003  * This file is part of the libcdr project.
00004  *
00005  * This Source Code Form is subject to the terms of the Mozilla Public
00006  * License, v. 2.0. If a copy of the MPL was not distributed with this
00007  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
00008  */
00009 
00010 #ifndef __CDROUTPUTELEMENTLIST_H__
00011 #define __CDROUTPUTELEMENTLIST_H__
00012 
00013 #include <map>
00014 #include <list>
00015 #include <vector>
00016 #include <librevenge/librevenge.h>
00017 #include <librevenge/librevenge.h>
00018 
00019 namespace libcdr
00020 {
00021 
00022 class CDROutputElement;
00023 
00024 class CDROutputElementList
00025 {
00026 public:
00027   CDROutputElementList();
00028   CDROutputElementList(const CDROutputElementList &elementList);
00029   CDROutputElementList &operator=(const CDROutputElementList &elementList);
00030   virtual ~CDROutputElementList();
00031   void draw(librevenge::RVNGDrawingInterface *painter) const;
00032   void addStyle(const librevenge::RVNGPropertyList &propList);
00033   void addPath(const librevenge::RVNGPropertyList &propList);
00034   void addGraphicObject(const librevenge::RVNGPropertyList &propList);
00035   void addStartTextObject(const librevenge::RVNGPropertyList &propList);
00036   void addOpenParagraph(const librevenge::RVNGPropertyList &propList);
00037   void addOpenSpan(const librevenge::RVNGPropertyList &propList);
00038   void addInsertText(const librevenge::RVNGString &text);
00039   void addCloseSpan();
00040   void addCloseParagraph();
00041   void addEndTextObject();
00042   void addStartGroup(const librevenge::RVNGPropertyList &propList);
00043   void addEndGroup();
00044   bool empty() const
00045   {
00046     return m_elements.empty();
00047   }
00048 private:
00049   std::vector<CDROutputElement *> m_elements;
00050 };
00051 
00052 
00053 } // namespace libcdr
00054 
00055 #endif // __CDROUTPUTELEMENTLIST_H__
00056 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */