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_FACTORY_H 9 #define TRANSFORMER_FACTORY_H 10 11 12 #include <String.h> 13 14 #include "IconBuild.h" 15 16 17 class BMessage; 18 19 20 _BEGIN_ICON_NAMESPACE 21 22 23 class Transformer; 24 class VertexSource; 25 26 enum { 27 AFFINE_TRANSFORMER, 28 PERSPECTIVE_TRANSFORMER, 29 CONTOUR_TRANSFORMER, 30 STROKE_TRANSFORMER, 31 }; 32 33 34 class TransformerFactory { 35 public: 36 37 static Transformer* TransformerFor(uint32 type, 38 VertexSource& source); 39 40 static Transformer* TransformerFor(BMessage* archive, 41 VertexSource& source); 42 }; 43 44 45 _END_ICON_NAMESPACE 46 47 48 #endif // TRANSFORMER_FACTORY_H 49