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 Shape; 24 class Transformer; 25 class VertexSource; 26 27 enum { 28 AFFINE_TRANSFORMER, 29 PERSPECTIVE_TRANSFORMER, 30 CONTOUR_TRANSFORMER, 31 STROKE_TRANSFORMER, 32 }; 33 34 35 class TransformerFactory { 36 public: 37 38 static Transformer* TransformerFor(uint32 type, 39 VertexSource& source, 40 Shape* shape); 41 42 static Transformer* TransformerFor(BMessage* archive, 43 VertexSource& source, 44 Shape* shape); 45 }; 46 47 48 _END_ICON_NAMESPACE 49 50 51 #endif // TRANSFORMER_FACTORY_H 52