AGG changes for MapScript maintainers

Howard Butler hobu.inc at GMAIL.COM
Sun Aug 12 00:11:29 EDT 2007


Language-specific MapScript typemaps or specializations need to be  
updated to not exclusively use MapServer GD functions.  Previously,  
the default implementation of getBytes in image.i did:

buffer.data = msSaveImageBufferGD(self->img.gd, &buffer.size, self- 
 >format);

Additionally, there is now an if test to check for the presence of an  
AGG driver and use the corresponding method to get the image buffer.   
If your MapScript language just uses getBytes for all of its buffer/ 
image handling (other than the image.save() method which does not  
require any swig interface changes), you should be ok.  If you  
MapScript language has overrides or %extends of imageObj's methods,  
they will need to be updated to do the following in the case of an  
AGG format:

buffer.data = msSaveImageBufferAGG(self->img.gd, &buffer.size, self- 
 >format);

I have updated some of the Python extensions (I do not have its  
image.write() done yet for AGG), and a quick browse showed at least  
C# with some overrides that need to be updated.  Java and Ruby too?  
Hopefully we can the necessary changes in before the next beta as  
more folks start testing MapServer 5.0 to make pretty pictures :)

Howard



More information about the mapserver-dev mailing list