Dan,
I do not know what 'living GIFs' are, but I do create single .gif images using the following code.
Subroutine Dump_gif_func (message, prefix)
!
! dumps a gif file from active selected region
!
! use mswin
include <clearwin.ins>
include <JDC_menu.ins>
!
C_EXTERNAL IMPORT_GIF@ '__import_gif' (INSTRING,REF) :INTEGER4
C_EXTERNAL EXPORT_GIF@ '__export_gif' (VAL,INSTRING,REF)
C_EXTERNAL WRITE_GRAPHICS_TO_GIF@ '__write_graphics_to_gif' (INSTRING,REF)
!
integer4 error_gif, file_nn, nx, ny
character file_gif80, message(), prefix()
integer4 ncol, rgb_values(1024)
data file_nn / 0 /
!
! develop a screen dump file name
!
call get_next_dump_file (file_nn, file_gif, prefix, '.gif')
if (file_nn > 999) then
error_gif = 1
goto 100
end if
!
call write_graphics_to_gif@ (file_gif, error_gif)
!
100 call get_graphical_resolution@ ( nx, ny )
write (98,1000) file_gif, nx, ny, error_gif
!z write ( *,1000) file_gif, nx, ny, error_gif
1000 format ('gif DUMP file ',a, &
' Size :',i6,' x',i6,' (error=',i4,')')
!
if (error_gif == 0) then
message = 'gif dump to '//file_gif
else if (error_gif == 1) then
message = 'Unable to open '//file_gif
else if (error_gif == 3) then
message = 'Unable to dump to '//file_gif
else
message = 'Unable to use '//file_gif
end if
!
!zz call report_region_colours ! Test of colours on screen
!
call get_screen_colour_table (ncol, rgb_values)
!
end subroutine Dump_gif_func
The existing routines use a fixed 256 colour table. I am at present working with Robert at Silverfrost to provide a more flexible colour table, which has been the basis of all my recent questions about direct addressing. The functionality will be to put the colour table review before the .gif dump, possibly revising both the colour table that is used by the .gif dump and revising the screen colours to a reduced 256 colour set. I am going to get this working with a DIB interface and see how well it works.
John