1/* 2 * Copyright 2006-2007, Haiku. All rights reserved. 3 * Distributed under the terms of the MIT License. 4 * 5 * Authors: 6 * Stephan A��mus <superstippi@gmx.de> 7 */ 8#ifndef MESSAGE_EXPORTER_H 9#define MESSAGE_EXPORTER_H 10 11 12#include "Exporter.h" 13 14class BMessage; 15class BPositionIO; 16 17_BEGIN_ICON_NAMESPACE 18 template <class Type> class Container; 19 class Icon; 20 class Shape; 21 class Style; 22 class Transformer; 23 class VectorPath; 24_END_ICON_NAMESPACE 25 26/** Exporter for the native Icon-O-Matic save format. */ 27class MessageExporter : public Exporter { 28 public: 29 MessageExporter(); 30 virtual ~MessageExporter(); 31 32 virtual status_t Export(const Icon* icon, 33 BPositionIO* stream); 34 35 virtual const char* MIMEType(); 36 37 private: 38 status_t _Export(const VectorPath* path, 39 BMessage* into) const; 40 status_t _Export(const Style* style, 41 BMessage* into) const; 42 status_t _Export(const Shape* shape, 43 const Container<VectorPath>* globalPaths, 44 const Container<Style>* globalStyles, 45 BMessage* into) const; 46}; 47 48#endif // MESSAGE_EXPORTER_H 49