lindquist@38: module sdl; lindquist@38: lindquist@42: version(build) pragma(link,"SDL"); lindquist@38: lindquist@38: extern(C): lindquist@38: struct SDL_Rect { lindquist@38: short x, y; lindquist@38: ushort w, h; lindquist@38: } lindquist@38: struct SDL_PixelFormat { lindquist@38: //SDL_Palette *palette; lindquist@38: void *palette; lindquist@38: ubyte BitsPerPixel, BytesPerPixel, Rloss, Gloss, Bloss, Aloss, Rshift, Gshift, Bshift, Ashift; lindquist@38: uint Rmask, Gmask, Bmask, Amask, colorkey; ubyte alpha; lindquist@38: } lindquist@38: struct SDL_Surface { lindquist@38: uint flags; lindquist@38: SDL_PixelFormat *format; lindquist@38: int w, h; lindquist@38: ushort pitch; lindquist@38: void *pixels; lindquist@38: int offset; lindquist@38: void *hwdata; lindquist@38: SDL_Rect clip_rect; lindquist@38: uint unused; lindquist@38: uint locked; lindquist@38: void *map; lindquist@38: uint format_version; lindquist@38: int refcount; lindquist@38: } lindquist@38: uint SDL_MapRGBA(SDL_PixelFormat *format, ubyte r, ubyte g, ubyte b, ubyte a); lindquist@38: void SDL_GetRGBA(uint pixel, SDL_PixelFormat *fmt, ubyte *r, ubyte *g, ubyte *b, ubyte *a); lindquist@38: int SDL_LockSurface(SDL_Surface *); lindquist@38: void SDL_UnlockSurface(SDL_Surface *); lindquist@38: SDL_Surface * SDL_SetVideoMode(int width, int height, int bpp, uint flags); lindquist@38: int SDL_Flip(SDL_Surface *); lindquist@38: void SDL_Delay(uint); lindquist@38: int SDL_FillRect(SDL_Surface*,SDL_Rect*,uint); lindquist@38: enum : uint { lindquist@38: SDL_SWSURFACE=0, lindquist@38: SDL_HWSURFACE=1, lindquist@38: SDL_DOUBLEBUF=0x40000000, lindquist@38: SDL_FULLSCREEN=0x80000000 lindquist@38: } lindquist@42: enum { lindquist@42: SDL_GL_RED_SIZE, lindquist@42: SDL_GL_GREEN_SIZE, lindquist@42: SDL_GL_BLUE_SIZE, lindquist@42: SDL_GL_ALPHA_SIZE, lindquist@42: SDL_GL_BUFFER_SIZE, lindquist@42: SDL_GL_DOUBLEBUFFER, lindquist@42: SDL_GL_DEPTH_SIZE, lindquist@42: SDL_GL_STENCIL_SIZE, lindquist@42: SDL_GL_ACCUM_RED_SIZE, lindquist@42: SDL_GL_ACCUM_GREEN_SIZE, lindquist@42: SDL_GL_ACCUM_BLUE_SIZE, lindquist@42: SDL_GL_ACCUM_ALPHA_SIZE, lindquist@42: SDL_GL_STEREO, lindquist@42: SDL_GL_MULTISAMPLEBUFFERS, lindquist@42: SDL_GL_MULTISAMPLESAMPLES, lindquist@42: SDL_GL_ACCELERATED_VISUAL, lindquist@42: SDL_GL_SWAP_CONTROL lindquist@42: } lindquist@42: int SDL_GL_LoadLibrary(char*); lindquist@42: void* SDL_GL_GetProcAddress(char*); lindquist@42: int SDL_GL_SetAttribute(int,int); lindquist@42: int SDL_GL_GetAttribute(int,int*); lindquist@42: void SDL_GL_SwapBuffers(); lindquist@42: void SDL_GL_UpdateRects(int,SDL_Rect*); lindquist@42: void SDL_GL_Lock(); lindquist@42: void SDL_GL_Unlock(); lindquist@42: enum : uint { lindquist@42: SDL_INIT_TIMER=0x00000001, lindquist@42: SDL_INIT_AUDIO=0x00000010, lindquist@42: SDL_INIT_VIDEO=0x00000020, lindquist@42: SDL_INIT_CDROM=0x00000100, lindquist@42: SDL_INIT_JOYSTICK=0x00000200, lindquist@42: SDL_INIT_NOPARACHUTE=0x00100000, lindquist@42: SDL_INIT_EVENTTHREAD=0x00200000, lindquist@42: SDL_INIT_EVERYTHING=0x0000FFFF lindquist@42: } lindquist@38: lindquist@42: int SDL_Init(uint); lindquist@42: int SDL_InitSubSystem(uint); lindquist@42: int SDL_QuitSubSystem(uint); lindquist@42: int SDL_WasInit(uint); lindquist@42: void SDL_Quit();