Hello All,

I've reached the point where animated GIFs are loaded and
frames can be correctly decoded to different buffers in
memory. I can select which frame to display as well,
and the class is calling Fl::add_timeout periodically
to select its own appearance.

However, it does not work yet and I could some further
insights.

First of all- I can't call redraw() from Fl_GIF_Image-
this method does not seem to be available for any of its
parent classes, but forcing redraw from the front-end
(for instance in the callback of a button) does not
result in an updated image frame either.

This suggests that a copy is made of the image (or at
least the pointer to the frame that happens to be active
when Fl_Help_View is first being rendered).

One strange bit of behaviour is that if I set the timer
to something really short, a different frame may show,
suggesting that under the hood, the image is being
animated, but a snapshot copy is made at some point.

My code so far (as well as the animated Gif image
that I'm using for testing) is here:

http://ringbreak.dnd.utwente.nl/~mrjb/fltk/

Files are Fl_GIF_Image.* and runningcat.gif. The
FL_GIF_Image files are drop-in replacements for
the existing FL_GIF_Image sources.

Any insights would be much appreciated!

Best,
Marc

PS. As this is very obviously still a work in progress:

1. I'm aware that existing GIF images may be broken at
the moment and that there still are memory leaks.

2. Of course I won't consider this finished unless
I've ran a nice big set test GIF images through the
rewritten class while monitoring it with valgrind,
and it does not come up with any problems.



_______________________________________________
fltk mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk

Reply via email to