[fpc-pascal] Agg Pas Arcs

Graeme Geldenhuys mailinglists at geldenhuys.co.uk
Wed Aug 30 20:50:43 CEST 2017


Hi James,

On 2017-08-30 17:10, James Richters wrote:
>>From the above, it seems you implemented your own Arc() procedure. Is that correct?
> No, it's the Agg2D Arc Function:
> http://www.crossgl.com/aggpas/documentation/#Arc
> 
>> Could you try using my version of AggPas and see how that goes for you.
> Yes I am using your version already
> 
>> If there is a bug in ARC, I would like to resolve it.
> I can supply a complete sample program if it would help.  I would like to resolve this as well, I'm very happy with AggPas for my application.


Please get a fpGUI repository update so you have the latest AggPas from 
there. I found a bug in Agg_2D's Arc() implementation, and it didn't 
match the documentation's sample output. Yet the Agg2D's Arc() worked 
correctly.

Here is the commit log.

===============================
commit 3dfce61fd9a3abba7d8a3825b8fa677bb75907e0 (HEAD -> develop, 
sourceforge/develop, github/develop)
Author: Graeme Geldenhuys <graemeg at gmail.com>
Date:   Wed Aug 30 19:43:19 2017 +0100

     AggPas: agg_2D's Arc() implementation had parameters in the wrong
     order.

     If you compared the Agg2D vs the Agg_2D Arc() behaviour you would
     see they
     give different results. After this commit they generate the
     same [correct] output.

  src/corelib/render/software/agg_2D.pas  | 2 +-
  src/corelib/render/software/agg_arc.pas | 2 +-
  2 files changed, 2 insertions(+), 2 deletions(-)
===============================


Further I looked into the implementation details of Arc() and ArcTo(). 
They use totally different arc implementations. ArcTo() is based on a 
bezier arc, whereas Arc() doesn't.


Regards,
   Graeme

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp



More information about the fpc-pascal mailing list