/* * Copyright 2005, Stephan Aßmus . All rights reserved. * Distributed under the terms of the MIT License. * * Simple BShape to agg::path_storage converter, implemented as BShapeIterator. * */ #ifndef SHAPE_CONVERTER_H #define SHAPE_CONVERTER_H #include #include #include "Transformable.h" class BPoint; // TODO: test if this actually works class ShapeConverter : public BShapeIterator, public Transformable { public: ShapeConverter(); ShapeConverter(agg::path_storage* path); virtual ~ShapeConverter() {}; void SetPath(agg::path_storage* path); virtual status_t IterateMoveTo(BPoint* point); virtual status_t IterateLineTo(int32 lineCount, BPoint* linePts); virtual status_t IterateBezierTo(int32 bezierCount, BPoint* bezierPts); virtual status_t IterateClose(); private: agg::path_storage* fPath; }; #endif // SHAPE_CONVERTER_H