1 /* 2 * Copyright 2006-2007, Haiku. 3 * Distributed under the terms of the MIT License. 4 * 5 * Authors: 6 * Stephan Aßmus <superstippi@gmx.de> 7 */ 8 #ifndef TRANSFORMER_H 9 #define TRANSFORMER_H 10 11 12 #ifdef ICON_O_MATIC 13 # include "IconObject.h" 14 #else 15 # include <Message.h> 16 # include <SupportDefs.h> 17 #endif 18 19 #include "IconBuild.h" 20 #include "VertexSource.h" 21 22 23 _BEGIN_ICON_NAMESPACE 24 25 26 /*! Base class for all transformers. 27 All child classes should inherit either PathTransformer, StyleTransformer, 28 or both. 29 */ 30 #ifdef ICON_O_MATIC 31 class Transformer : public IconObject { 32 #else 33 class Transformer { 34 #endif 35 public: 36 #ifdef ICON_O_MATIC 37 Transformer(const char* name) 38 : IconObject(name) {} 39 Transformer(BMessage* archive) 40 : IconObject(archive) {} 41 #else 42 Transformer(const char* name) {} 43 Transformer(BMessage* archive) {} 44 #endif 45 46 virtual ~Transformer() {} 47 48 virtual Transformer* Clone() const = 0; 49 }; 50 51 52 _END_ICON_NAMESPACE 53 54 55 #endif // TRANSFORMER_H 56