diff options
Diffstat (limited to 'agg/inc/agg_conv_concat.h')
-rwxr-xr-x | agg/inc/agg_conv_concat.h | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/agg/inc/agg_conv_concat.h b/agg/inc/agg_conv_concat.h deleted file mode 100755 index d7e69a9..0000000 --- a/agg/inc/agg_conv_concat.h +++ /dev/null @@ -1,80 +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_CONV_CONCAT_INCLUDED -#define AGG_CONV_CONCAT_INCLUDED - -#include "agg_basics.h" -#include "agg_vertex_iterator.h" - -namespace agg -{ - //=============================================================conv_concat - // Concatenation of two paths. Usually used to combine lines or curves - // with markers such as arrowheads - template<class VS1, class VS2> class conv_concat - { - public: - conv_concat(VS1& source1, VS2& source2) : - m_source1(&source1), m_source2(&source2), m_status(2) {} - - void set_source1(VS1& source) { m_source1 = &source; } - void set_source2(VS2& source) { m_source2 = &source; } - - - void rewind(unsigned id) - { - m_source1->rewind(id); - m_source2->rewind(0); - m_status = 0; - } - - unsigned vertex(double* x, double* y) - { - unsigned cmd; - if(m_status == 0) - { - cmd = m_source1->vertex(x, y); - if(!is_stop(cmd)) return cmd; - m_status = 1; - } - if(m_status == 1) - { - cmd = m_source2->vertex(x, y); - if(!is_stop(cmd)) return cmd; - m_status = 2; - } - return path_cmd_stop; - } - - typedef conv_concat<VS1, VS2> source_type; - typedef vertex_iterator<source_type> iterator; - iterator begin(unsigned id) { return iterator(*this, id); } - iterator end() { return iterator(path_cmd_stop); } - - private: - conv_concat(const conv_concat<VS1, VS2>&); - const conv_concat<VS1, VS2>& - operator = (const conv_concat<VS1, VS2>&); - - VS1* m_source1; - VS2* m_source2; - int m_status; - - }; -} - - -#endif |