forked from KolibriOS/kolibrios
Adding menuetlibc back to its place in /programs/develop/libraries
This version of menuetlibc was taken from revision 4743, right before I made any changes git-svn-id: svn://kolibrios.org@4973 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
102
programs/develop/libraries/menuetlibc/include/SDL/SDL_flic.h
Normal file
102
programs/develop/libraries/menuetlibc/include/SDL/SDL_flic.h
Normal file
@@ -0,0 +1,102 @@
|
||||
/*
|
||||
SDL_flic - renders FLIC animations
|
||||
Copyright (C) 2003 Andre de Leiradella
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
For information about SDL_flic contact leiradella@bigfoot.com
|
||||
|
||||
Version 1.0: first public release.
|
||||
Version 1.1: fixed bug to set *error to FLI_OK when returning successfully from FLI_Open
|
||||
added function FLI_Reset to reset the animation to the first frame
|
||||
Version 1.2: added function FLI_Skip to skip the current frame without rendering
|
||||
FLI_Animation->surface is now correctly locked and unlocked
|
||||
the rwops stream is now part of the FLI_Animation structure and is closed inside FLI_Close
|
||||
renamed FLI_Reset to FLI_Rewind
|
||||
added function FLI_Version that returns the library version
|
||||
*/
|
||||
#ifndef __SDL_flic_h__
|
||||
#define __SDL_flic_h__
|
||||
|
||||
#include <SDL.h>
|
||||
#include <setjmp.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Supported formats. */
|
||||
#define FLI_FLI 0xAF11
|
||||
#define FLI_FLC 0xAF12
|
||||
|
||||
/* Error codes. */
|
||||
|
||||
/* No error. */
|
||||
#define FLI_OK 0
|
||||
/* Error reading the file. */
|
||||
#define FLI_READERROR 1
|
||||
/* Invalid frame size (corrupted file). */
|
||||
#define FLI_CORRUPTEDFILE 2
|
||||
/* Error in SDL operation. */
|
||||
#define FLI_SDLERROR 3
|
||||
/* Out of memory. */
|
||||
#define FLI_OUTOFMEMORY 4
|
||||
|
||||
/*
|
||||
The animation structure, all members are read-only, don't try to longjmp to
|
||||
error.
|
||||
*/
|
||||
typedef struct {
|
||||
Uint32 format, numframes, width, height, depth, delay, offframe1, nextframe, offnextframe;
|
||||
/* rwops is where the animation is read from. */
|
||||
SDL_RWops *rwops;
|
||||
/* surface is where the frames is rendered to. */
|
||||
SDL_Surface *surface;
|
||||
/* error is used to longjmp in case of error so to avoid a chain of if's. */
|
||||
jmp_buf error;
|
||||
} FLI_Animation;
|
||||
|
||||
/*
|
||||
Returns the library version in the format MAJOR << 16 | MINOR.
|
||||
*/
|
||||
extern int FLI_Version(void);
|
||||
/*
|
||||
Opens a FLIC animation and return a pointer to it. rwops is left at the same
|
||||
point it was before the the call. error receives the result of the call.
|
||||
*/
|
||||
extern FLI_Animation *FLI_Open(SDL_RWops *rwops, int *error);
|
||||
/*
|
||||
Closes the animation, closes the stream and frees all used memory.
|
||||
*/
|
||||
extern void FLI_Close(FLI_Animation *flic);
|
||||
/*
|
||||
Renders the next frame of the animation returning an int to indicate if it was
|
||||
successfull or not.
|
||||
*/
|
||||
extern int FLI_NextFrame(FLI_Animation *flic);
|
||||
/*
|
||||
Rewinds the animation to the first frame.
|
||||
*/
|
||||
extern int FLI_Rewind(FLI_Animation *flic);
|
||||
/*
|
||||
Skips the current frame of the animation without rendering it.
|
||||
*/
|
||||
extern int FLI_Skip(FLI_Animation *flic);
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user