Home/
News/
  News     Docs     Download     Mailing List     CVS  

Version 2.1 Release Notes

The new official version 2.1 is mostly a clean-up of the snapshot of AGG2. From now on the names of the archives will be agg21.zip and and agg21.tar.gz, but inside the archives the directory name remains agg2.

There are the following changes:

  • Changed the formulae of calculculating Alpha in agg_pixfmt_rgba32.h (thanks to Pierre Arnaud). Now it calculates the alpha channel correctly.
  • Removed alpha_type from pixel format and renderer classes. Now there is a uniform cover_type is used in all renderers. However, in pixel format classes it's still defined as const int8u*. The reason to do so is that currently pixel format classes can work with 8-bit pixel coverage values only, while cover_type can be potentially different (16 bits). For now cover_type is 8-bit too.
  • Removed static method opaque() from all color types.
  • The interface of the scanline classes is slightly simplified. Method bool is_ready(int y) has been removed.
  • File agg_scanline_u8.h renamed to agg_scanline_u.h and file agg_scanline.cpp is removed. scanline_u is now a class template parametrized with data type. However, you still use types scanline_u8 and scanline_p8 in the code. See the table of renamings below.
  • File agg_matrix.h removed. Class matrix renamed to row_ptr_cache (“matrix” is a lame name for that functionality). Class template row_ptr_cache is now in agg_rendering_buffer.h. See the definition of rendering_buffer.
  • Class affine_matrix renamed to trans_affine for the sake of consistency with all other transformers (see table below). Also, the explicit copy constructor and the assignment operators were removed from trans_affine.
  • Class viewport renamed to trans_viewport
  • Classes gen_nnnnn renamed to vcgen_nnnnn. The abbreviation “vcgen” is “Vertex acCumulating Generator” to distinguish it from “vpgen” that means “Vertex Pass-through Generator”.
  • Class conv_generator is renamed to conv_adaptor_vcgen. It's used mostly internally, so it shouldn't affect your code.
  • Class rasterizer_scanline_aa modified. Now, after rendering you can call min_x(), min_y(), max_x(), max_y() that will tell you the exact bounding box of the rendered path in pixels. It can be useful in some cases.



Renamed and removed files:

Old NameNew Name
include/agg_matrix.hremoved
include/agg_affine_matrix.hinclude/agg_trans_affine.h
include/agg_scanline_u8.hinclude/agg_scanline_u.h
include/agg_scanline_p8.hinclude/agg_scanline_p.h
include/agg_viewport.hinclude/agg_trans_viewport.h
include/agg_gen_contour.hinclude/agg_vcgen_contour.h
include/agg_gen_dash.hinclude/agg_vcgen_dash.h
include/agg_gen_markers_term.hinclude/agg_vcgen_markers_term.h
include/agg_gen_smooth_poly1.hinclude/agg_vcgen_smooth_poly1.h
include/agg_gen_stroke.hinclude/agg_vcgen_stroke.h
include/agg_gen_vertex_sequence.hinclude/agg_vcgen_vertex_sequence.h
include/agg_conv_generator.hinclude/agg_conv_adaptor_vcgen.h
src/agg_scanline_u8.cppremoved
src/agg_affine_matrix.cppsrc/agg_trans_affine.cpp
src/agg_gen_contour.cppsrc/agg_vcgen_contour.cpp
src/agg_gen_dash.cppsrc/agg_vcgen_dash.cpp
src/agg_gen_markers_term.cppsrc/agg_vcgen_markers_term.cpp
src/agg_gen_smooth_poly1.cppsrc/agg_vcgen_smooth_poly1.cpp
src/agg_gen_stroke.cppsrc/agg_vcgen_stroke.cpp
Table 1. Renamed and removed files



Renamed classes and types:

Old NameNew Name
matrixrow_ptr_cache
affine_matrixtrans_affine
rotation_matrixtrans_affine_rotation
scaling_matrixtrans_affine_scaling
translation_matrixtrans_affine_translation
skewing_matrixtrans_affine_skewing
viewporttrans_viewport
gen_contourvcgen_contour
gen_dashvcgen_dash
gen_markers_termvcgen_markers_term
gen_smooth_poly1vcgen_smooth_poly1
gen_strokevcgen_stroke
gen_vertex_sequencevcgen_vertex_sequence
conv_generatorconv_adaptor_vcgen
Table 2. Renamed classes and types



Copyright © 2002-2006 Maxim Shemanarev
Web Design and Programming Maxim Shemanarev