[project @ 2004-03-17 21:05:55 by rjw]

Added basic framework for animation.

svn path=/import/netsurf/; revision=632
This commit is contained in:
Richard Wilson 2004-03-17 21:05:55 +00:00
parent 2fc636cc69
commit f68e229cae

View File

@ -3,6 +3,7 @@
* Licensed under the GNU General Public License,
* http://www.opensource.org/licenses/gpl-license
* Copyright 2003 Philip Pemberton <philpem@users.sourceforge.net>
* Copyright 2004 Richard Wilson <not_ginger_matt@hotmail.com>
*/
#ifndef _NETSURF_RISCOS_GIF_H_
@ -14,16 +15,58 @@ struct content;
struct content_gif_data {
unsigned long buffer_pos;
/* The sprite area containing the 8bpp frames.
*/
osspriteop_area *sprite_area;
/* The sprite image of the current 8bpp frame
*/
char *sprite_image;
/* The sprite header of the current 32bpp image.
*/
osspriteop_header *buffer_header;
/** The current frame number of the GIF to display, [0...(max-1)]
*/
unsigned int current_frame;
/** The current frame that we hold a 32bpp version of [0...(max-1)]
*/
unsigned int expanded_frame;
/** Whether the GIF should be animated
*/
bool animate_gif;
/** Whether the GIF should loop
*/
bool loop_gif;
/** The number of cs unprocessed as the next transition has
not yet occurred.
*/
unsigned int remainder_time;
/** The total number of frames
*/
unsigned int total_frames;
/** An array of times (in cs) for the frame transitions between each frame
*/
unsigned int *frame_transitions;
};
void nsgif_init(void);
void nsgif_create(struct content *c, const char *params[]);
int nsgif_convert(struct content *c, unsigned int width, unsigned int height);
void nsgif_destroy(struct content *c);
int nsgif_animate(struct content *c, unsigned int advance_time);
void nsgif_redraw(struct content *c, long x, long y,
unsigned long width, unsigned long height,
long clip_x0, long clip_y0, long clip_x1, long clip_y1,
float scale);
osspriteop_header *nsgif_get_sprite_address(struct content *c, unsigned int frame);
#endif