2 * Copyright 2006-2007, Haiku.
3 * Distributed under the terms of the MIT License.
6 * Stephan Aßmus <superstippi@gmx.de>
8 #ifndef CONTOUR_TRANSFORMER_H
9 #define CONTOUR_TRANSFORMER_H
12 #include "IconBuild.h"
13 #include "Transformer.h"
15 #include <agg_conv_contour.h>
21 typedef agg::conv_contour
<VertexSource
> Contour
;
23 class ContourTransformer
: public Transformer
,
27 archive_code
= 'cntr',
31 VertexSource
& source
);
36 virtual ~ContourTransformer();
38 virtual Transformer
* Clone(VertexSource
& source
) const;
40 virtual void rewind(unsigned path_id
);
41 virtual unsigned vertex(double* x
, double* y
);
43 virtual void SetSource(VertexSource
& source
);
45 virtual double ApproximationScale() const;
48 // IconObject interface
49 virtual status_t
Archive(BMessage
* into
,
50 bool deep
= true) const;
52 virtual PropertyObject
* MakePropertyObject() const;
53 virtual bool SetToPropertyObject(
54 const PropertyObject
* object
);
61 #endif // CONTOUR_TRANSFORMER_H