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 31class Transformer : public IconObject { 32#else 33 class Transformer { 34#endif 35public: 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