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 14 class BMessage; 15 class 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. */ 27 class 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