1
//----------------------------------------------------------------------------
2
// Anti-Grain Geometry - Version 2.4 (Public License)
3
// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
5
// Anti-Grain Geometry - Version 2.4 Release Milano 3 (AggPas 2.4 RM3)
6
// Pascal Port By: Milan Marusinec alias Milano
8
// http://www.aggpas.org
9
// Copyright (c) 2005-2006
11
// Permission to copy, use, modify, sell and distribute this software
12
// is granted provided this copyright notice appears in all copies.
13
// This software is provided "as is" without express or implied
14
// warranty, and with no claim as to its suitability for any purpose.
16
//----------------------------------------------------------------------------
17
// Contact: mcseem@antigrain.com
18
// mcseemagg@yahoo.com
19
// http://www.antigrain.com
21
// [Pascal Port History] -----------------------------------------------------
23
// 23.02.2006-Milano: Unit port establishment
25
{ agg_span_converter.pas }
40
span_convertor_ptr = ^span_convertor;
41
span_convertor = object
42
procedure convert(span : aggclr_ptr; x ,y : int; len : unsigned ); virtual; abstract;
46
span_converter = object(span_generator )
47
m_span_gen : span_generator_ptr;
48
m_conv : span_convertor_ptr;
50
constructor Construct(span_gen : span_generator_ptr; conv : span_convertor_ptr );
52
procedure prepare (max_span_len : unsigned ); virtual;
53
function generate(x ,y : int; len : unsigned ) : aggclr_ptr; virtual;
61
{ LOCAL VARIABLES & CONSTANTS }
62
{ UNIT IMPLEMENTATION }
64
constructor span_converter.Construct;
72
procedure span_converter.prepare;
74
m_span_gen.prepare(max_span_len );
79
function span_converter.generate;
84
span:=m_span_gen.generate(x ,y ,len );
86
m_conv.convert(span ,x ,y ,len );