home *** CD-ROM | disk | FTP | other *** search
-
- #ifndef __dl_sprite_h
- #define __dl_sprite_h
- #ifdef __cplusplus
- extern "C" {
- #endif
- #ifndef __dl_core_h
- #include "Core.h"
- #endif
- #ifndef __dl_wimp_h
- #include "Wimp.h"
- #endif
- #ifndef __dl_coord_h
- #include "Coord.h"
- #endif
- #include <stdarg.h>
- #define sprite_MAXNAME 12
- #define spritepool_SYSTEM 0
- #define spritepool_WIMP 1
- typedef struct {
- unsigned int areasize ;
- unsigned int numsprites ;
- unsigned int firstoffset ;
- unsigned int freeoffset ;
- } sprite_areainfo ;
- typedef sprite_areainfo *sprite_area;
- typedef struct {
- unsigned int width ;
- unsigned int height ;
- unsigned int maskstatus ;
- unsigned int mode ;
- } sprite_info ;
- typedef sprite_info *sprite;
- typedef struct {
- int callno ;
- sprite_area spritearea ;
- sprite sprite ;
- void *savearea ;
- } sprite_outputstate ;
- typedef struct
- {
- int offset_next;
- char name[sprite_MAXNAME];
- int width;
- int height;
- int leftbit;
- int rightbit;
- int imageoffset;
- int maskoffset;
- int screenmode;
- } sprite_header;
- typedef struct
- {
- wimp_point multiply;
- wimp_point divide;
- } sprite_scalefactors;
- extern os_error *Sprite_ScreenSave(char *filename, BOOL savepalette);
- extern os_error *Sprite_ScreenLoad(char *filename);
- extern os_error *Sprite_InitArea(sprite_area area);
- extern os_error *Sprite_Load(sprite_area area, char *filename) ;
- extern os_error *Sprite_Merge(sprite_area area, char *filename);
- extern os_error *Sprite_Save(sprite_area area, char *filename);
- extern os_error *Sprite_Create(sprite_area area, char *name, int haspalette,
- int width, int height, int screenmode);
- extern os_error *Sprite_Select(sprite_area area, char *name,
- sprite_header **spriteptr);
- extern os_error *Sprite_Delete(sprite_area area, char *name);
- extern os_error *Sprite_Rename(sprite_area area, char *oldname, char *newname);
- extern os_error *Sprite_Copy(sprite_area area, char *oldname, char *newname);
- extern os_error *Sprite_Get(sprite_area area, char *name, int with_palette,
- int left, int bottom, int right, int top,
- sprite *sprite_ptr);
- extern os_error *Sprite_Plot(sprite_area area, char *name,
- int x, int y, int plot_action);
- extern os_error *Sprite_ReadInfo(sprite_area area, char *name,
- sprite_info *info);
- extern os_error *Sprite_Redirect(sprite_area area, char *name,
- void *savearea, sprite_outputstate *oldstate);
- extern os_error *Sprite_UnRedirect(sprite_outputstate *oldstate);
- extern os_error *Sprite_ReadSaveAreaSize(sprite_area area, char *name,
- int *saveareasize);
- extern int Sprite_ReadControl(sprite_area area, int *size, sprite *firstsprite,
- void *firstfree);
- extern int Sprite_GetName(sprite_area area, char *name, int spritenumber);
- extern os_error *Sprite_CreateMask(sprite_area area, char *name);
- extern os_error *Sprite_RemoveMask(sprite_area area, char *name);
- extern os_error *Sprite_InsertRow(sprite_area area, char *name, int pos);
- extern os_error *Sprite_DeleteRow(sprite_area area, char *name, int pos);
- extern os_error *Sprite_FlipX(sprite_area area, char *name);
- extern os_error *Sprite_Append(sprite_area area, char *name1, char *name2,
- int dir);
- extern int Sprite_CreatePalette(sprite_area area, char *name, BOOL big);
- extern os_error *Sprite_RemovePalette(sprite_area area, char *name);
- extern int Sprite_ReadPixel(sprite_area area, char *name, wimp_point *pos);
- extern os_error *Sprite_WritePixel(sprite_area area, char *name,
- wimp_point *pos, int colour, int tint);
- extern BOOL Sprite_ReadMask(sprite_area area, char *name, wimp_point *pos);
- extern os_error *Sprite_WriteMask(sprite_area area, char *name, wimp_point *pos,
- BOOL solid);
- extern os_error *Sprite_InsertColumn(sprite_area area, char *name, int pos);
- extern os_error *Sprite_DeleteColumn(sprite_area area, char *name, int pos);
- extern os_error *Sprite_FlipY(sprite_area area, char *name);
- extern os_error *Sprite_PlotMask(sprite_area area, char *name, wimp_point *pos);
- extern os_error *Sprite_PlotMaskScaled(sprite_area area, char *name,
- wimp_point *pos, sprite_scalefactors sc);
- extern os_error *Sprite_PlotScaled(sprite_area area, char *name,
- wimp_point *pos, sprite_scalefactors *scale,
- void *pixtrans);
- extern os_error *Sprite_PlotGrey(sprite_area area, char *name,
- wimp_point *pos, sprite_scalefactors scale,
- void *pixtrans);
- extern os_error *Sprite_WimpPlot(sprite_area area, char *name, wimp_point *pos,
- convert_block *convert, int plot_action);
- typedef enum
- {
- sprite_HASNOMASKPAL = 0x00,
- sprite_HASNOPALMASK = 0x00,
- sprite_HASMASK = 0x01,
- sprite_HASPAL = 0x02,
- sprite_HASMASKPAL = 0x03,
- sprite_HASPALMASK = 0x03
- } spritemem_flags;
- extern int Sprite_MemorySize(int width, int height, int mode,
- spritemem_flags flags);
- extern int Sprite_IconMemorySize(window_block *pWinBlock, icon_handle icon,
- int mode, spritemem_flags flags,
- wimp_point *dimensions);
- extern sprite_area Sprite_LoadFile(char *filename);
- extern sprite_area Sprite_LoadFiles(int nooffiles,...);
- #ifdef __cplusplus
- }
- #endif
- #endif
-