xref: /haiku/src/libs/icon/transformer/TransformerFactory.h (revision 13581b3d2a71545960b98fefebc5225b5bf29072)
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