diff options
Diffstat (limited to 'agg/inc/agg_vpgen_clip_polyline.h')
-rwxr-xr-x | agg/inc/agg_vpgen_clip_polyline.h | 121 |
1 files changed, 0 insertions, 121 deletions
diff --git a/agg/inc/agg_vpgen_clip_polyline.h b/agg/inc/agg_vpgen_clip_polyline.h deleted file mode 100755 index f951966a3293..000000000000 --- a/agg/inc/agg_vpgen_clip_polyline.h +++ /dev/null @@ -1,121 +0,0 @@ -//---------------------------------------------------------------------------- -// Anti-Grain Geometry - Version 2.3 -// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com) -// -// Permission to copy, use, modify, sell and distribute this software -// is granted provided this copyright notice appears in all copies. -// This software is provided "as is" without express or implied -// warranty, and with no claim as to its suitability for any purpose. -// -//---------------------------------------------------------------------------- -// Contact: mcseem@antigrain.com -// mcseemagg@yahoo.com -// http://www.antigrain.com -//---------------------------------------------------------------------------- - -#ifndef AGG_VPGEN_CLIP_POLYLINE_INCLUDED -#define AGG_VPGEN_CLIP_POLYLINE_INCLUDED - -#include "agg_basics.h" - -namespace agg -{ - - //======================================================vpgen_clip_polyline - // - // See Implementation agg_vpgen_clip_polyline.cpp - // - class vpgen_clip_polyline - { - public: - vpgen_clip_polyline() : - m_clip_box(0, 0, 1, 1), - m_x1(0), - m_y1(0), - m_f1(0), - m_x2(0), - m_y2(0), - m_f2(0), - m_num_vertices(0), - m_vertex(0) - { - } - - void clip_box(double _x1, double _y1, double _x2, double _y2) - { - m_clip_box.x1 = _x1; - m_clip_box.y1 = _y1; - m_clip_box.x2 = _x2; - m_clip_box.y2 = _y2; - m_clip_box.normalize(); - } - - - double x1() const { return m_clip_box.x1; } - double y1() const { return m_clip_box.y1; } - double x2() const { return m_clip_box.x2; } - double y2() const { return m_clip_box.y2; } - - static bool auto_close() { return false; } - static bool auto_unclose() { return true; } - - void reset(); - void move_to(double x, double y); - void line_to(double x, double y); - unsigned vertex(double* x, double* y); - - private: - enum clipping_flags_def - { - clip_x1 = 1, - clip_x2 = 2, - clip_y1 = 4, - clip_y2 = 8 - }; - - // Determine the clipping code of the vertex according to the - // Cyrus-Beck line clipping algorithm - //-------------------------------------------------------------------- - unsigned clipping_flags_x(double x) - { - unsigned f = 0; - if(x < m_clip_box.x1) f |= clip_x1; - if(x > m_clip_box.x2) f |= clip_x2; - return f; - } - - unsigned clipping_flags_y(double y) - { - unsigned f = 0; - if(y < m_clip_box.y1) f |= clip_y1; - if(y > m_clip_box.y2) f |= clip_y2; - return f; - } - - unsigned clipping_flags(double x, double y) - { - return clipping_flags_x(x) | clipping_flags_y(y); - } - - bool move_point(double& x, double& y, unsigned& flags); - void clip_line_segment(); - - private: - rect_d m_clip_box; - double m_x1; - double m_y1; - unsigned m_f1; - double m_x2; - double m_y2; - unsigned m_f2; - double m_x[2]; - double m_y[2]; - unsigned m_cmd[2]; - unsigned m_num_vertices; - unsigned m_vertex; - }; - -} - - -#endif |