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 class Icon; 19 class PathContainer; 20 class Shape; 21 class Style; 22 class StyleContainer; 23 class Transformer; 24 class VectorPath; 25 _END_ICON_NAMESPACE 26 27 /** Exporter for the native Icon-O-Matic save format. */ 28 class MessageExporter : public Exporter { 29 public: 30 MessageExporter(); 31 virtual ~MessageExporter(); 32 33 virtual status_t Export(const Icon* icon, 34 BPositionIO* stream); 35 36 virtual const char* MIMEType(); 37 38 private: 39 status_t _Export(const VectorPath* path, 40 BMessage* into) const; 41 status_t _Export(const Style* style, 42 BMessage* into) const; 43 status_t _Export(const Shape* shape, 44 const PathContainer* globalPaths, 45 const StyleContainer* globalStyles, 46 BMessage* into) const; 47 }; 48 49 #endif // MESSAGE_EXPORTER_H 50