////////////////////////////////////////////////////////////////////////////// // pseudo SDL header (ph0x) // borrowed from sdl 1.2.3 as port is based mostly on the sdl backend ////////////////////////////////////////////////////////////////////////////// #define Sint16 s16 #define Uint16 u16 #define Uint32 u32 #define Uint8 u8 typedef struct { Sint16 x, y; Uint16 w, h; } SDL_Rect; typedef struct { Uint8 r; Uint8 g; Uint8 b; Uint8 unused; } SDL_Color; typedef struct { int ncolors; SDL_Color *colors; } SDL_Palette; /* Everything in the pixel format structure is read-only */ typedef struct SDL_PixelFormat { SDL_Palette *palette; Uint8 BitsPerPixel; Uint8 BytesPerPixel; Uint8 Rloss; Uint8 Gloss; Uint8 Bloss; Uint8 Aloss; Uint8 Rshift; Uint8 Gshift; Uint8 Bshift; Uint8 Ashift; Uint32 Rmask; Uint32 Gmask; Uint32 Bmask; Uint32 Amask; /* RGB color key information */ Uint32 colorkey; /* Alpha value information (per-surface alpha) */ Uint8 alpha; } SDL_PixelFormat; typedef struct SDL_Surface { Uint32 flags; /* Read-only */ SDL_PixelFormat *format; /* Read-only */ int w, h; /* Read-only */ Uint16 pitch; /* Read-only */ void *pixels; /* Read-write */ int offset; /* Private */ /* Hardware-specific surface info */ struct private_hwdata *hwdata; /* clipping information */ SDL_Rect clip_rect; /* Read-only */ Uint32 unused1; /* for binary compatibility */ /* Allow recursive locks */ Uint32 locked; /* Private */ /* info for fast blit mapping to other surfaces */ /// struct SDL_BlitMap *map; /* Private */ /* format version, bumped at every change to invalidate blit maps */ unsigned int format_version; /* Private */ /* Reference count -- used when freeing surface */ int refcount; /* Read-mostly */ } SDL_Surface; #define SDL_SWSURFACE 0x00000000 #define SDL_HWSURFACE 0x00000001 #define SDL_FULLSCREEN 0x80000000