xref: /haiku/src/libs/icon/transformer/TransformerFactory.h (revision c6c2c0428420c1a7a9b16a843b41ab26903bc5fb)
1fb07ece0SStephan Aßmus /*
2325a6253SAxel Dörfler  * Copyright 2006-2007, Haiku.
3fb07ece0SStephan Aßmus  * Distributed under the terms of the MIT License.
4fb07ece0SStephan Aßmus  *
5fb07ece0SStephan Aßmus  * Authors:
6fb07ece0SStephan Aßmus  *		Stephan Aßmus <superstippi@gmx.de>
7fb07ece0SStephan Aßmus  */
8fb07ece0SStephan Aßmus #ifndef TRANSFORMER_FACTORY_H
9fb07ece0SStephan Aßmus #define TRANSFORMER_FACTORY_H
10fb07ece0SStephan Aßmus 
11325a6253SAxel Dörfler 
12fb07ece0SStephan Aßmus #include <String.h>
13fb07ece0SStephan Aßmus 
1425dc253dSIngo Weinhold #include "IconBuild.h"
1525dc253dSIngo Weinhold 
1625dc253dSIngo Weinhold 
17fb07ece0SStephan Aßmus class BMessage;
18325a6253SAxel Dörfler 
19325a6253SAxel Dörfler 
2025dc253dSIngo Weinhold _BEGIN_ICON_NAMESPACE
2125dc253dSIngo Weinhold 
22325a6253SAxel Dörfler 
23*c6c2c042SZardshard class Shape;
24fb07ece0SStephan Aßmus class Transformer;
25fb07ece0SStephan Aßmus class VertexSource;
26fb07ece0SStephan Aßmus 
27098eaec6SZardshard enum {
28098eaec6SZardshard 	AFFINE_TRANSFORMER,
29098eaec6SZardshard 	PERSPECTIVE_TRANSFORMER,
30098eaec6SZardshard 	CONTOUR_TRANSFORMER,
31098eaec6SZardshard 	STROKE_TRANSFORMER,
32098eaec6SZardshard };
33098eaec6SZardshard 
34098eaec6SZardshard 
35fb07ece0SStephan Aßmus class TransformerFactory {
36fb07ece0SStephan Aßmus  public:
37fb07ece0SStephan Aßmus 
38fb07ece0SStephan Aßmus 	static	Transformer*		TransformerFor(uint32 type,
39*c6c2c042SZardshard 											   VertexSource& source,
40*c6c2c042SZardshard 											   Shape* shape);
41fb07ece0SStephan Aßmus 
42fb07ece0SStephan Aßmus 	static	Transformer*		TransformerFor(BMessage* archive,
43*c6c2c042SZardshard 											   VertexSource& source,
44*c6c2c042SZardshard 											   Shape* shape);
45fb07ece0SStephan Aßmus };
46fb07ece0SStephan Aßmus 
4725dc253dSIngo Weinhold 
4825dc253dSIngo Weinhold _END_ICON_NAMESPACE
4925dc253dSIngo Weinhold 
50325a6253SAxel Dörfler 
51fb07ece0SStephan Aßmus #endif	// TRANSFORMER_FACTORY_H
52