| Edit utils to get rid of use of all deprecated Functions. |
| - icon2gif has MakeExtension |
| |
| Check how the library uses MakeExtension and AddExtensionBlock. I have the |
| vague impression that the library currently requires a two step process: |
| MakeExtension adds the Function type to deprecated: SavedImage->Function. |
| Then, AddExtensionBlock must be called to add it to SavedImage->ExtensionBlock |
| (The Function type is passed in via the SavedImage->Function so that's why we |
| have to do that step first. Need to untangle those functions.) |
| - Why do we have so many colormaps? GifFile->SColorMap is the screen |
| descriptor colormap. |
| GifFile->Image.ColorMap ? |
| GifFile->SavedImages[x].ColorMap = Local colormap |
| |
| - Also check how we push the Extensions out to a gif file. We should never |
| touch SavedImage->Function when we write to file. All information is saved in |
| the ExtensionBlock. |
| |
| EGifPutExtension*/DGifGetExtension* needs to be looked at. Why is there a |
| First, Next, Last, and generic version of these functions? Does the |
| application programmer really need to know all this? Shouldn't the library |
| take care of it? Also, they should use WRITE rather than fwrite directly to |
| output the data. |
| |
| Make sure we set pointers that we don't fill to NULL. (gifalloc.c seems |
| pretty clean. But GifFile isn't allocated in gifalloc.c) |
| |
| I found a reported bug about libungif not handling interlaced images |
| correctly. However, the latest library seems to work. Need to figure out |
| what change fixed it and if it fixed it correctly or in a manner that is |
| apt to break later. |
| |
| Make sure tmpnam is secure in gifinto.c (Use mkstemp if possible..) |
| |
| Audit for sprintf => snprintf |
| |
| # Make sure all malloc calls check their return value. |
| Still need to check dev2gif.c (Know there's problems there) |
| dgif_lib.c |
| egif_lib.c |
| |
| Merge the windows changes from the last cvs version. Contact Lennie Araki |
| about whether he is interested in maintaining the windows changes |
| |
| Run the utils through indent |
| |
| Make sure the backlog is really all merged and then delete things from there. |
| Some is in my mailbox at home. Others were on the old CVS server. I think |
| most of the CVS backlog has been merged but I've just started ot look at |
| the stuff at home. |
| |
| Start thinking about function naming and standardizing things. The MakeXXX, |
| FreeXXX is a good step, but should things operate on GifFiles or the interior |
| data structures? What about the functions in the rest of the library? |
| Should I be able to (MakeGifFileType(), FreeGifFileType(GifFile *) just like |
| MakeMapObject?) |
| |
| Start thinking about namespacing all our code! This will break so many things |
| in simple ways. Need to deprecate so we can do this in 5.0 |
| |
| Release 4.1.3 |
| |
| sync giflib |
| |
| ======= |
| |
| Theoretical release 5.0 |
| |
| Move utilities into a separate package. |
| - Move GIF_ERROR and GIF_MESSAGE from gif_lib.h into getarg. |
| - Move qprintf into getarg |
| - Rename getarg utilsupport.a and move to the util directory. |
| |
| Now that we have sourceforge hosting, look into putting documentation and a |
| website onto sourceforge. Don't know how much stuff I want to sync into this, |
| though, as I keep hoping gif's will take their last gasp and die. (Why do we |
| need gif now that we have png and mng?) |
| |
| ====== |
| |
| Besides fixing bugs, what's really needed is for someone to work out how to |
| calculate a colormap for writing gifs from rgb sources. Right now, an rgb |
| source that has only two colors (b/w) is being converted into an 8 bit gif.... |
| Which is horrendously wasteful without compression. |
| |
| Any volunteers? |
| |
| ======= |
| The Present Extension code is pretty hacky. It looks like giflib's ability to |
| do Extension code was added on at a later time and also was not implemented |
| entirely in conformance with the gif89a spec. I've hacked it further to make |
| it conform to the spec, but it would benefit greatly from a complete rewrite. |
| |
| If there is ever a version-5.0 of this library (with API level changes), this |
| should definitely be one of the areas that gets worked on. |
| |
| ======= |
| Documentation needs updating to reflect additions to the API. This would best |
| be done with auto-extraction from the SOURCES.... |
| |
| ======= |
| [UPDATE at bottom] |
| Here's a change to the library code that has been proposed: Pulling known |
| extensions (comment blocks, etc) out of the Extensions array and putting them |
| in actual places within the GifType structure so application programmers don't |
| have to search through the Extension array for them. |
| |
| I'm not sure how I want to implemement this yet -- Actually removing them from |
| the extension array would break the API compatibility with libungif. Making |
| copies would waste resources needlessly. Making convenience links with the |
| idea of deprecating the access of the extension block directly for standard |
| features would be okay, but creates extra work in the long run -- really we |
| need to put the convenience links into the current Extension array. |
| |
| We have to decide where in the structure each extension belongs, generalize |
| the AddExtensionBlock function to be able to add the extensionblock to any |
| area of the structure, rework the gif writing code to place the structures |
| where they belong, rework the code writing to the Extension Array so that it |
| can handle links as well as blocks. |
| |
| And on the other hand, it could turn out that putting extensions into the main |
| structure is not intuitive to everyone. Extensions are "extensions" and |
| people may want to look for them grouped together.... I suppose this could |
| either mean leaving everything in the extension array, or creating a new |
| extension field that has the extensions dangling off of it (comment, gifanim |
| stuff, unknown, etc.) This is okay except that it'd be best to have real |
| copies of the extension in the fields instead of links (so that we could make |
| arrays rather than arrays of pointers.) |
| |
| [UPDATE:1998 3 Dec] |
| After reading through the gif89a specification, I'm not sure this is all that |
| great. It seems that each image in a gif stream needs to have separate |
| extension blocks. This means that an animated gif will have a Graphics |
| Extension Block for each Image in the animation. Linking this up to the |
| GifFileType is wrong. Making a link in each SaveFile is correct, but will |
| take space that won't be needed when that particular extension doesn't appear |
| in this file.... |
| |
| Unless someone wants to correct me here, I don't think I'm going to implement |
| this. |