AGG - Anti-Grain Geometry library

I took a more full-feature approach in reviewing the Anti-Grain Geometry (AGG) Library used by Haiku. The AGG project is still maintained and comes with a decent amount of the project’s history and documentation.

Part of my focus is on SVG compliance. This covers compositing, animation, fonts, scripting, interactivity, clipping and masking, color, painting (filling, strokes, etc), text, gradients and patterns, filter effects, vector effects, basic shapes, styling and rendering.

Project: Anti-Grain Geometry Library download | SourceForge.net

Docs:

WikiPedia: Anti-Grain Geometry - Wikipedia

Tested: AGG 2.7.0-r139, GNU Gnash 0.8.11-git Flash movie player, Inkscape 1.3, WonderBrush 2.1.2-11, SVG Viewer, Matplotlib 3.7.2

These are some of the results of AGG 2.7.0 examples used with a recent Haiku snapshot (i.e. Haiku R1B4 - hrev57256)

haiku_agg_distortions
haiku_agg_gradients
haiku_agg_gouraud2



haiku_agg_linejoin_cocobean
haiku_r1b4_agg_2.7.0_cocobean
haiku-agg-idea_cocobean

9 Likes

Part of the topic was addressed during the conversation:

There is a ticket on the subject: #17221 (Infinite recursion in agg rasterizer) – Haiku

Haiku has its own patches and solutions, you need to test and modify patches for version 2.7 and 3 forks of AGG have patches and improvements, which are not in the SVN repository!

In addition to the SVN repository there is a ticket with old patches, which were not applied, I opened 2 tickets, I don’t know when they will be answered.

Some good news on that front: the changes were partially applied in r129.

It will be interesting to see how quickly upstream responds to the two tickets you created.

3 Likes

I’m upstreaming one of Haiku’s changes to the agg library at Anti-Grain Geometry Library / Patches / #9 Fix member initialization order

Let’s see how this goes :dizzy:

4 Likes