53 lines
1.4 KiB
C++
53 lines
1.4 KiB
C++
/**
|
|
*******************************************************************************
|
|
* @file parserSVG/Polygon.h
|
|
* @brief basic poligon parsing (Header)
|
|
* @author Edouard DUPIN
|
|
* @date 20/03/2012
|
|
* @par Project
|
|
* parserSVG
|
|
*
|
|
* @par Copyright
|
|
* Copyright 2011 Edouard DUPIN, all right reserved
|
|
*
|
|
* This software is distributed in the hope that it will be useful, but WITHOUT
|
|
* ANY WARRANTY.
|
|
*
|
|
* Licence summary :
|
|
* You can modify and redistribute the sources code and binaries.
|
|
* You can send me the bug-fix
|
|
*
|
|
* Term of the licence in in the file licence.txt.
|
|
*
|
|
*******************************************************************************
|
|
*/
|
|
|
|
#ifndef __SVG_POLYGON_H__
|
|
#define __SVG_POLYGON_H__
|
|
|
|
#include <parserSVG/Base.h>
|
|
#include <etk/VectorType.h>
|
|
|
|
namespace svg
|
|
{
|
|
typedef enum {
|
|
POLYGONE_MODE__NON_ZERO,
|
|
POLYGONE_MODE__EVEN_ODD,
|
|
} PolygonMode_te;
|
|
class Polygon : public svg::Base
|
|
{
|
|
private:
|
|
etk::VectorType<coord2D_ts> m_listPoint; //!< list of all point of the polygone
|
|
PolygonMode_te m_diplayMode; //!< polygone specific display mode
|
|
public:
|
|
Polygon(PaintState parentPaintState);
|
|
~Polygon(void);
|
|
virtual bool Parse(TiXmlNode * node);
|
|
virtual void Display(int32_t spacing);
|
|
virtual void AggDraw(agg::path_storage& path, etk::VectorType<agg::rgba8> &colors, etk::VectorType<uint32_t> &pathIdx, PaintState &curentPaintProp);
|
|
};
|
|
};
|
|
|
|
#endif
|
|
|