Hello everyone,

       Since my last report there's been a lot of work put into the
GIF and BMP libraries.  Both are working far better than before in
terms of completeness and API.

Here's a list of what I've accomplished, with help from James and a
suggestions from other devs:
__GIF LIBRARY__
> Simplified test-case for decoding and displaying a GIF image
> Improved data verification regarding frame initialisation
> Proper handling of comment extensions
> Frames without image data are now flagged to be skipped rather than causing 
> errors
> Added new functions to parse extensions and initialise the gif structure in a 
> more friendly way--gif_create() as opposed to gif->buffer_size, etc.
> Organized the structures for separation of "public" and "private" members
> Caller is now only required to provide "critical" bitmap callbacks; 
> non-critical callbacks are simply not called if they don't exist
> Better documentation

__BMP LIBRARY__
> Moved all necessary code from NetSurf's "bmpread" files to an external 
> location in my branch
> Callback functions were implemented to allow operation of libnsbmp to go 
> smoothly regardless of the bitmap functions the caller chooses to use
> Corrected coloring problems under linux
> Initialise the bmp structure in a more friendly way--bmp_create() as opposed 
> to bmp->buffer_size, etc.
> Duplicated the GIF test-case for use as a BMP test-case
> Organized the structures for separation of "public" and "private" members
> Added Jason Summers' BMP Suite for testing
> Duplicated the BMP test-case for use as an ICO test-case
> Corrected decoding issues related to RGB16 bitmaps and 32-bit and 16-bit 
> bitfield bitmaps
> Corrected ICO support
> Corrected several bugs that were illustrated by testing with the BMP Suite

__NETSURF__
> Integrated both libraries into my personal branch of NetSurf with the new 
> library API's

       At this point, these libraries are nearly complete.  There are
still a few tweaks to be done here and there, but most if not all of
them could be deemed non-critical.  The most important thing at this
point is to test the code under RISC OS.

Things I need help with:
> Testing of both libraries under RISC OS to ensure proper functionality
> General review of the code for any optimisation or suggestions--especially 
> you, rjw, if you get around to reading this :)
> Comments, ideas, and criticisms as far as API, naming conventions, etc.

Current agenda:
> Documentation for GIF library probably needs updating
> BMP library could use a few of the tweaks that were done to the GIF library; 
> i.e. "Caller is now only required to provide 'critical' bitmap callbacks"
> Begin to grasp the code behind NetSurf's layout/HTML rendering to start the 
> Layout library

Comments and concerns:
       I really appreciate the feedback from several of you on IRC.
The API for these libraries has really been shaping up and I'm fairly
comfortable with their current operation.  Unless there is any
interest in continued improvement of these two libraries, I'd like to
move on to the layout rendering code, which I think could take a
significant amount of time to complete.  As always, feel free to
comment on anything and everything.


Sean

Reply via email to