191 lines
6.9 KiB
C
191 lines
6.9 KiB
C
![]() |
|
||
|
#ifndef _SDL_surface_h
|
||
|
#define _SDL_surface_h
|
||
|
|
||
|
#include "SDL_stdinc.h"
|
||
|
#include "SDL_pixels.h"
|
||
|
#include "SDL_rect.h"
|
||
|
#include "SDL_blendmode.h"
|
||
|
#include "SDL_rwops.h"
|
||
|
|
||
|
#include "begin_code.h"
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
#define SDL_SWSURFACE 0
|
||
|
#define SDL_PREALLOC 0x00000001
|
||
|
#define SDL_RLEACCEL 0x00000002
|
||
|
#define SDL_DONTFREE 0x00000004
|
||
|
|
||
|
#define SDL_MUSTLOCK(S) (((S)->flags & SDL_RLEACCEL) != 0)
|
||
|
|
||
|
typedef struct SDL_Surface
|
||
|
{
|
||
|
Uint32 flags;
|
||
|
SDL_PixelFormat *format;
|
||
|
int w, h;
|
||
|
int pitch;
|
||
|
void *pixels;
|
||
|
|
||
|
void *userdata;
|
||
|
|
||
|
int locked;
|
||
|
void *lock_data;
|
||
|
|
||
|
SDL_Rect clip_rect;
|
||
|
|
||
|
struct SDL_BlitMap *map;
|
||
|
|
||
|
int refcount;
|
||
|
} SDL_Surface;
|
||
|
|
||
|
typedef int (*SDL_blit) (struct SDL_Surface * src, SDL_Rect * srcrect,
|
||
|
struct SDL_Surface * dst, SDL_Rect * dstrect);
|
||
|
|
||
|
typedef SDL_Surface * SDLCALL tSDL_CreateRGBSurface
|
||
|
(Uint32 flags, int width, int height, int depth,
|
||
|
Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask);
|
||
|
typedef SDL_Surface * SDLCALL tSDL_CreateRGBSurfaceFrom(void *pixels,
|
||
|
int width,
|
||
|
int height,
|
||
|
int depth,
|
||
|
int pitch,
|
||
|
Uint32 Rmask,
|
||
|
Uint32 Gmask,
|
||
|
Uint32 Bmask,
|
||
|
Uint32 Amask);
|
||
|
typedef void SDLCALL tSDL_FreeSurface(SDL_Surface * surface);
|
||
|
|
||
|
typedef int SDLCALL tSDL_SetSurfacePalette(SDL_Surface * surface,
|
||
|
SDL_Palette * palette);
|
||
|
|
||
|
typedef int SDLCALL tSDL_LockSurface(SDL_Surface * surface);
|
||
|
|
||
|
typedef void SDLCALL tSDL_UnlockSurface(SDL_Surface * surface);
|
||
|
|
||
|
typedef SDL_Surface * SDLCALL tSDL_LoadBMP_RW(SDL_RWops * src,
|
||
|
int freesrc);
|
||
|
|
||
|
#define SDL_LoadBMP(file) SDL_LoadBMP_RW(SDL_RWFromFile(file, "rb"), 1)
|
||
|
|
||
|
typedef int SDLCALL tSDL_SaveBMP_RW
|
||
|
(SDL_Surface * surface, SDL_RWops * dst, int freedst);
|
||
|
|
||
|
#define SDL_SaveBMP(surface, file) \
|
||
|
SDL_SaveBMP_RW(surface, SDL_RWFromFile(file, "wb"), 1)
|
||
|
|
||
|
typedef int SDLCALL tSDL_SetSurfaceRLE(SDL_Surface * surface,
|
||
|
int flag);
|
||
|
|
||
|
typedef int SDLCALL tSDL_SetColorKey(SDL_Surface * surface,
|
||
|
int flag, Uint32 key);
|
||
|
|
||
|
typedef int SDLCALL tSDL_GetColorKey(SDL_Surface * surface,
|
||
|
Uint32 * key);
|
||
|
|
||
|
typedef int SDLCALL tSDL_SetSurfaceColorMod(SDL_Surface * surface,
|
||
|
Uint8 r, Uint8 g, Uint8 b);
|
||
|
|
||
|
typedef int SDLCALL tSDL_GetSurfaceColorMod(SDL_Surface * surface,
|
||
|
Uint8 * r, Uint8 * g,
|
||
|
Uint8 * b);
|
||
|
|
||
|
typedef int SDLCALL tSDL_SetSurfaceAlphaMod(SDL_Surface * surface,
|
||
|
Uint8 alpha);
|
||
|
|
||
|
typedef int SDLCALL tSDL_GetSurfaceAlphaMod(SDL_Surface * surface,
|
||
|
Uint8 * alpha);
|
||
|
|
||
|
typedef int SDLCALL tSDL_SetSurfaceBlendMode(SDL_Surface * surface,
|
||
|
SDL_BlendMode blendMode);
|
||
|
|
||
|
typedef int SDLCALL tSDL_GetSurfaceBlendMode(SDL_Surface * surface,
|
||
|
SDL_BlendMode *blendMode);
|
||
|
|
||
|
typedef SDL_bool SDLCALL tSDL_SetClipRect(SDL_Surface * surface,
|
||
|
const SDL_Rect * rect);
|
||
|
|
||
|
typedef void SDLCALL tSDL_GetClipRect(SDL_Surface * surface,
|
||
|
SDL_Rect * rect);
|
||
|
|
||
|
typedef SDL_Surface * SDLCALL tSDL_ConvertSurface
|
||
|
(SDL_Surface * src, SDL_PixelFormat * fmt, Uint32 flags);
|
||
|
typedef SDL_Surface * SDLCALL tSDL_ConvertSurfaceFormat
|
||
|
(SDL_Surface * src, Uint32 pixel_format, Uint32 flags);
|
||
|
|
||
|
typedef int SDLCALL tSDL_ConvertPixels(int width, int height,
|
||
|
Uint32 src_format,
|
||
|
const void * src, int src_pitch,
|
||
|
Uint32 dst_format,
|
||
|
void * dst, int dst_pitch);
|
||
|
|
||
|
typedef int SDLCALL tSDL_FillRect
|
||
|
(SDL_Surface * dst, const SDL_Rect * rect, Uint32 color);
|
||
|
typedef int SDLCALL tSDL_FillRects
|
||
|
(SDL_Surface * dst, const SDL_Rect * rects, int count, Uint32 color);
|
||
|
|
||
|
#define SDL_BlitSurface SDL_UpperBlit
|
||
|
|
||
|
typedef int SDLCALL tSDL_UpperBlit
|
||
|
(SDL_Surface * src, const SDL_Rect * srcrect,
|
||
|
SDL_Surface * dst, SDL_Rect * dstrect);
|
||
|
|
||
|
typedef int SDLCALL tSDL_LowerBlit
|
||
|
(SDL_Surface * src, SDL_Rect * srcrect,
|
||
|
SDL_Surface * dst, SDL_Rect * dstrect);
|
||
|
|
||
|
typedef int SDLCALL tSDL_SoftStretch(SDL_Surface * src,
|
||
|
const SDL_Rect * srcrect,
|
||
|
SDL_Surface * dst,
|
||
|
const SDL_Rect * dstrect);
|
||
|
|
||
|
#define SDL_BlitScaled SDL_UpperBlitScaled
|
||
|
|
||
|
typedef int SDLCALL tSDL_UpperBlitScaled
|
||
|
(SDL_Surface * src, const SDL_Rect * srcrect,
|
||
|
SDL_Surface * dst, SDL_Rect * dstrect);
|
||
|
|
||
|
typedef int SDLCALL tSDL_LowerBlitScaled
|
||
|
(SDL_Surface * src, SDL_Rect * srcrect,
|
||
|
SDL_Surface * dst, SDL_Rect * dstrect);
|
||
|
|
||
|
extern tSDL_CreateRGBSurface *SDL_CreateRGBSurface;
|
||
|
extern tSDL_CreateRGBSurfaceFrom *SDL_CreateRGBSurfaceFrom;
|
||
|
extern tSDL_FreeSurface *SDL_FreeSurface;
|
||
|
extern tSDL_SetSurfacePalette *SDL_SetSurfacePalette;
|
||
|
extern tSDL_LockSurface *SDL_LockSurface;
|
||
|
extern tSDL_UnlockSurface *SDL_UnlockSurface;
|
||
|
extern tSDL_LoadBMP_RW *SDL_LoadBMP_RW;
|
||
|
extern tSDL_SaveBMP_RW *SDL_SaveBMP_RW;
|
||
|
extern tSDL_SetSurfaceRLE *SDL_SetSurfaceRLE;
|
||
|
extern tSDL_SetColorKey *SDL_SetColorKey;
|
||
|
extern tSDL_GetColorKey *SDL_GetColorKey;
|
||
|
extern tSDL_SetSurfaceColorMod *SDL_SetSurfaceColorMod;
|
||
|
extern tSDL_GetSurfaceColorMod *SDL_GetSurfaceColorMod;
|
||
|
extern tSDL_SetSurfaceAlphaMod *SDL_SetSurfaceAlphaMod;
|
||
|
extern tSDL_GetSurfaceAlphaMod *SDL_GetSurfaceAlphaMod;
|
||
|
extern tSDL_SetSurfaceBlendMode *SDL_SetSurfaceBlendMode;
|
||
|
extern tSDL_GetSurfaceBlendMode *SDL_GetSurfaceBlendMode;
|
||
|
extern tSDL_SetClipRect *SDL_SetClipRect;
|
||
|
extern tSDL_GetClipRect *SDL_GetClipRect;
|
||
|
extern tSDL_ConvertSurface *SDL_ConvertSurface;
|
||
|
extern tSDL_ConvertSurfaceFormat *SDL_ConvertSurfaceFormat;
|
||
|
extern tSDL_ConvertPixels *SDL_ConvertPixels;
|
||
|
extern tSDL_FillRect *SDL_FillRect;
|
||
|
extern tSDL_FillRects *SDL_FillRects;
|
||
|
extern tSDL_UpperBlit *SDL_UpperBlit;
|
||
|
extern tSDL_LowerBlit *SDL_LowerBlit;
|
||
|
extern tSDL_SoftStretch *SDL_SoftStretch;
|
||
|
extern tSDL_UpperBlitScaled *SDL_UpperBlitScaled;
|
||
|
extern tSDL_LowerBlitScaled *SDL_LowerBlitScaled;
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
#include "close_code.h"
|
||
|
|
||
|
#endif
|
||
|
|