-Demos:
*added ImGUI styles *added new assets (fonts, shaders) *added cimgui.dll *added imports for bindbc-sdl (for WASM) *added simple demo *added demo launcher *added snake demo *impoved demo utils *added cimgui.bc library for WASM -improved wasm build script -small change in vector
This commit is contained in:
parent
73f2aa6861
commit
cb7609dcaa
82 changed files with 11188 additions and 413 deletions
230
demos/external/imports/bindbc/sdl/bind/sdlsurface.d
vendored
230
demos/external/imports/bindbc/sdl/bind/sdlsurface.d
vendored
|
|
@ -1,230 +0,0 @@
|
|||
|
||||
// Copyright Michael D. Parker 2018.
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||
// http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
module bindbc.sdl.bind.sdlsurface;
|
||||
|
||||
import bindbc.sdl.config;
|
||||
import bindbc.sdl.bind.sdlblendmode : SDL_BlendMode;
|
||||
import bindbc.sdl.bind.sdlrect : SDL_Rect;
|
||||
import bindbc.sdl.bind.sdlrwops;
|
||||
import bindbc.sdl.bind.sdlpixels : SDL_Palette, SDL_PixelFormat;
|
||||
import bindbc.sdl.bind.sdlstdinc : SDL_bool;
|
||||
|
||||
enum {
|
||||
SDL_SWSURFACE = 0,
|
||||
SDL_PREALLOC = 0x00000001,
|
||||
SDL_RLEACCEL = 0x00000002,
|
||||
SDL_DONTFREE = 0x00000004,
|
||||
}
|
||||
|
||||
@nogc nothrow pure
|
||||
bool SDL_MUSTLOCK(const(SDL_Surface)* S)
|
||||
{
|
||||
pragma(inline, true);
|
||||
return (S.flags & SDL_RLEACCEL) != 0;
|
||||
}
|
||||
|
||||
struct SDL_BlitMap;
|
||||
struct SDL_Surface {
|
||||
int flags;
|
||||
SDL_PixelFormat* format;
|
||||
int w, h;
|
||||
int pitch;
|
||||
void* pixels;
|
||||
void* userdata;
|
||||
int locked;
|
||||
void* lock_data;
|
||||
SDL_Rect clip_rect;
|
||||
SDL_BlitMap* map;
|
||||
int refcount;
|
||||
}
|
||||
|
||||
extern(C) nothrow alias SDL_blit = int function(SDL_Surface* src, SDL_Rect* srcrect, SDL_Surface* dst, SDL_Rect* dstrect);
|
||||
|
||||
@nogc nothrow {
|
||||
SDL_Surface* SDL_LoadBMP(const(char)* file) {
|
||||
pragma(inline, true);
|
||||
return SDL_LoadBMP_RW(SDL_RWFromFile(file,"rb"),1);
|
||||
}
|
||||
|
||||
int SDL_SaveBMP(SDL_Surface* surface,const(char)* file) {
|
||||
pragma(inline, true);
|
||||
return SDL_SaveBMP_RW(surface,SDL_RWFromFile(file,"wb"),1);
|
||||
}
|
||||
}
|
||||
|
||||
alias SDL_BlitSurface = SDL_UpperBlit;
|
||||
alias SDL_BlitScaled = SDL_UpperBlitScaled;
|
||||
|
||||
static if(sdlSupport >= SDLSupport.sdl208) {
|
||||
enum SDL_YUV_CONVERSION_MODE {
|
||||
SDL_YUV_CONVERSION_JPEG,
|
||||
SDL_YUV_CONVERSION_BT601,
|
||||
SDL_YUV_CONVERSION_BT709,
|
||||
SDL_YUV_CONVERSION_AUTOMATIC,
|
||||
}
|
||||
mixin(expandEnum!SDL_YUV_CONVERSION_MODE);
|
||||
}
|
||||
|
||||
version(BindSDL_Static) {
|
||||
extern(C) @nogc nothrow {
|
||||
SDL_Surface* SDL_CreateRGBSurface(uint,int,int,int,uint,uint,uint,uint);
|
||||
SDL_Surface* SDL_CreateRGBSurfaceFrom(void*,int,int,int,int,uint,uint,uint,uint);
|
||||
void SDL_FreeSurface(SDL_Surface*);
|
||||
int SDL_SetSurfacePalette(SDL_Surface*,SDL_Palette*);
|
||||
int SDL_LockSurface(SDL_Surface*);
|
||||
int SDL_UnlockSurface(SDL_Surface*);
|
||||
SDL_Surface* SDL_LoadBMP_RW(SDL_RWops*,int);
|
||||
int SDL_SaveBMP_RW(SDL_Surface*,SDL_RWops*,int);
|
||||
int SDL_SetSurfaceRLE(SDL_Surface*,int);
|
||||
int SDL_SetColorKey(SDL_Surface*,int,uint);
|
||||
int SDL_GetColorKey(SDL_Surface*,uint*);
|
||||
int SDL_SetSurfaceColorMod(SDL_Surface*,ubyte,ubyte,ubyte);
|
||||
int SDL_GetSurfaceColorMod(SDL_Surface*,ubyte*,ubyte*,ubyte*);
|
||||
int SDL_SetSurfaceAlphaMod(SDL_Surface*,ubyte);
|
||||
int SDL_GetSurfaceAlphaMod(SDL_Surface*,ubyte*);
|
||||
int SDL_SetSurfaceBlendMode(SDL_Surface*,SDL_BlendMode);
|
||||
int SDL_GetSurfaceBlendMode(SDL_Surface*,SDL_BlendMode*);
|
||||
SDL_bool SDL_SetClipRect(SDL_Surface*,const(SDL_Rect)*);
|
||||
void SDL_GetClipRect(SDL_Surface*,SDL_Rect*);
|
||||
SDL_Surface* SDL_ConvertSurface(SDL_Surface*,const(SDL_PixelFormat)*,uint);
|
||||
SDL_Surface* SDL_ConvertSurfaceFormat(SDL_Surface*,uint,uint);
|
||||
int SDL_ConvertPixels(int,int,uint,const(void)*,int,uint,void*,int);
|
||||
int SDL_FillRect(SDL_Surface*,const(SDL_Rect)*,uint);
|
||||
int SDL_FillRects(SDL_Surface*,const(SDL_Rect)*,int,uint);
|
||||
int SDL_UpperBlit(SDL_Surface*,const(SDL_Rect)*,SDL_Surface*,SDL_Rect*);
|
||||
int SDL_LowerBlit(SDL_Surface*,SDL_Rect*,SDL_Surface*,SDL_Rect*);
|
||||
int SDL_SoftStretch(SDL_Surface*,const(SDL_Rect)*,SDL_Surface*,const(SDL_Rect)*);
|
||||
int SDL_UpperBlitScaled(SDL_Surface*,const(SDL_Rect)*,SDL_Surface*,SDL_Rect*);
|
||||
int SDL_LowerBlitScaled(SDL_Surface*,SDL_Rect*,SDL_Surface*,SDL_Rect*);
|
||||
|
||||
static if(sdlSupport >= SDLSupport.sdl205) {
|
||||
SDL_Surface* SDL_CreateRGBSurfaceWithFormat(uint,int,int,int,uint);
|
||||
SDL_Surface* SDL_CreateRGBSurfaceWithFormatFrom(void*,int,int,int,int,uint);
|
||||
}
|
||||
static if(sdlSupport >= SDLSupport.sdl205) {
|
||||
SDL_Surface* SDL_DuplicateSurface(SDL_Surface*);
|
||||
}
|
||||
static if(sdlSupport >= SDLSupport.sdl208) {
|
||||
void SDL_SetYUVConversionMode(SDL_YUV_CONVERSION_MODE);
|
||||
SDL_YUV_CONVERSION_MODE SDL_GetYUVConversionMode();
|
||||
SDL_YUV_CONVERSION_MODE SDL_GetYUVConversionModeForResolution(int,int);
|
||||
}
|
||||
static if(sdlSupport >= SDLSupport.sdl209) {
|
||||
SDL_bool SDL_HasColorKey(SDL_Surface*);
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
extern(C) @nogc nothrow {alias pSDL_CreateRGBSurface = SDL_Surface* function(uint,int,int,int,uint,uint,uint,uint);
|
||||
alias pSDL_CreateRGBSurfaceFrom = SDL_Surface* function(void*,int,int,int,int,uint,uint,uint,uint);
|
||||
alias pSDL_FreeSurface = void function(SDL_Surface*);
|
||||
alias pSDL_SetSurfacePalette = int function(SDL_Surface*,SDL_Palette*);
|
||||
alias pSDL_LockSurface = int function(SDL_Surface*);
|
||||
alias pSDL_UnlockSurface = int function(SDL_Surface*);
|
||||
alias pSDL_LoadBMP_RW = SDL_Surface* function(SDL_RWops*,int);
|
||||
alias pSDL_SaveBMP_RW = int function(SDL_Surface*,SDL_RWops*,int);
|
||||
alias pSDL_SetSurfaceRLE = int function(SDL_Surface*,int);
|
||||
alias pSDL_SetColorKey = int function(SDL_Surface*,int,uint);
|
||||
alias pSDL_GetColorKey = int function(SDL_Surface*,uint*);
|
||||
alias pSDL_SetSurfaceColorMod = int function(SDL_Surface*,ubyte,ubyte,ubyte);
|
||||
alias pSDL_GetSurfaceColorMod = int function(SDL_Surface*,ubyte*,ubyte*,ubyte*);
|
||||
alias pSDL_SetSurfaceAlphaMod = int function(SDL_Surface*,ubyte);
|
||||
alias pSDL_GetSurfaceAlphaMod = int function(SDL_Surface*,ubyte*);
|
||||
alias pSDL_SetSurfaceBlendMode = int function(SDL_Surface*,SDL_BlendMode);
|
||||
alias pSDL_GetSurfaceBlendMode = int function(SDL_Surface*,SDL_BlendMode*);
|
||||
alias pSDL_SetClipRect = SDL_bool function(SDL_Surface*,const(SDL_Rect)*);
|
||||
alias pSDL_GetClipRect = void function(SDL_Surface*,SDL_Rect*);
|
||||
alias pSDL_ConvertSurface = SDL_Surface* function(SDL_Surface*,const(SDL_PixelFormat)*,uint);
|
||||
alias pSDL_ConvertSurfaceFormat = SDL_Surface* function(SDL_Surface*,uint,uint);
|
||||
alias pSDL_ConvertPixels = int function(int,int,uint,const(void)*,int,uint,void*,int);
|
||||
alias pSDL_FillRect = int function(SDL_Surface*,const(SDL_Rect)*,uint);
|
||||
alias pSDL_FillRects = int function(SDL_Surface*,const(SDL_Rect)*,int,uint);
|
||||
alias pSDL_UpperBlit = int function(SDL_Surface*,const(SDL_Rect)*,SDL_Surface*,SDL_Rect*);
|
||||
alias pSDL_LowerBlit = int function(SDL_Surface*,SDL_Rect*,SDL_Surface*,SDL_Rect*);
|
||||
alias pSDL_SoftStretch = int function(SDL_Surface*,const(SDL_Rect)*,SDL_Surface*,const(SDL_Rect)*);
|
||||
alias pSDL_UpperBlitScaled = int function(SDL_Surface*,const(SDL_Rect)*,SDL_Surface*,SDL_Rect*);
|
||||
alias pSDL_LowerBlitScaled = int function(SDL_Surface*,SDL_Rect*,SDL_Surface*,SDL_Rect*);
|
||||
}
|
||||
|
||||
__gshared {
|
||||
pSDL_CreateRGBSurface SDL_CreateRGBSurface;
|
||||
pSDL_CreateRGBSurfaceFrom SDL_CreateRGBSurfaceFrom;
|
||||
pSDL_FreeSurface SDL_FreeSurface;
|
||||
pSDL_SetSurfacePalette SDL_SetSurfacePalette;
|
||||
pSDL_LockSurface SDL_LockSurface;
|
||||
pSDL_UnlockSurface SDL_UnlockSurface;
|
||||
pSDL_LoadBMP_RW SDL_LoadBMP_RW;
|
||||
pSDL_SaveBMP_RW SDL_SaveBMP_RW;
|
||||
pSDL_SetSurfaceRLE SDL_SetSurfaceRLE;
|
||||
pSDL_SetColorKey SDL_SetColorKey;
|
||||
pSDL_GetColorKey SDL_GetColorKey;
|
||||
pSDL_SetSurfaceColorMod SDL_SetSurfaceColorMod;
|
||||
pSDL_GetSurfaceColorMod SDL_GetSurfaceColorMod;
|
||||
pSDL_SetSurfaceAlphaMod SDL_SetSurfaceAlphaMod;
|
||||
pSDL_GetSurfaceAlphaMod SDL_GetSurfaceAlphaMod;
|
||||
pSDL_SetSurfaceBlendMode SDL_SetSurfaceBlendMode;
|
||||
pSDL_GetSurfaceBlendMode SDL_GetSurfaceBlendMode;
|
||||
pSDL_SetClipRect SDL_SetClipRect;
|
||||
pSDL_GetClipRect SDL_GetClipRect;
|
||||
pSDL_ConvertSurface SDL_ConvertSurface;
|
||||
pSDL_ConvertSurfaceFormat SDL_ConvertSurfaceFormat;
|
||||
pSDL_ConvertPixels SDL_ConvertPixels;
|
||||
pSDL_FillRect SDL_FillRect;
|
||||
pSDL_FillRects SDL_FillRects;
|
||||
pSDL_UpperBlit SDL_UpperBlit;
|
||||
pSDL_LowerBlit SDL_LowerBlit;
|
||||
pSDL_SoftStretch SDL_SoftStretch;
|
||||
pSDL_UpperBlitScaled SDL_UpperBlitScaled;
|
||||
pSDL_LowerBlitScaled SDL_LowerBlitScaled;
|
||||
}
|
||||
|
||||
static if(sdlSupport >= SDLSupport.sdl205) {
|
||||
extern(C) @nogc nothrow {
|
||||
alias pSDL_CreateRGBSurfaceWithFormat = SDL_Surface* function(uint,int,int,int,uint);
|
||||
alias pSDL_CreateRGBSurfaceWithFormatFrom = SDL_Surface* function(void*,int,int,int,int,uint);
|
||||
}
|
||||
|
||||
__gshared {
|
||||
pSDL_CreateRGBSurfaceWithFormat SDL_CreateRGBSurfaceWithFormat;
|
||||
pSDL_CreateRGBSurfaceWithFormatFrom SDL_CreateRGBSurfaceWithFormatFrom;
|
||||
}
|
||||
}
|
||||
|
||||
static if(sdlSupport >= SDLSupport.sdl205) {
|
||||
extern(C) @nogc nothrow {
|
||||
alias pSDL_DuplicateSurface = SDL_Surface* function(SDL_Surface*);
|
||||
}
|
||||
|
||||
__gshared {
|
||||
pSDL_DuplicateSurface SDL_DuplicateSurface;
|
||||
}
|
||||
}
|
||||
|
||||
static if(sdlSupport >= SDLSupport.sdl208) {
|
||||
extern(C) @nogc nothrow {
|
||||
alias pSDL_SetYUVConversionMode = void function(SDL_YUV_CONVERSION_MODE);
|
||||
alias pSDL_GetYUVConversionMode = SDL_YUV_CONVERSION_MODE function();
|
||||
alias pSDL_GetYUVConversionModeForResolution = SDL_YUV_CONVERSION_MODE function(int,int);
|
||||
}
|
||||
|
||||
__gshared {
|
||||
pSDL_SetYUVConversionMode SDL_SetYUVConversionMode;
|
||||
pSDL_GetYUVConversionMode SDL_GetYUVConversionMode;
|
||||
pSDL_GetYUVConversionModeForResolution SDL_GetYUVConversionModeForResolution;
|
||||
}
|
||||
}
|
||||
|
||||
static if(sdlSupport >= SDLSupport.sdl209) {
|
||||
extern(C) @nogc nothrow {
|
||||
alias pSDL_HasColorKey = SDL_bool function(SDL_Surface*);
|
||||
}
|
||||
|
||||
__gshared {
|
||||
pSDL_HasColorKey SDL_HasColorKey;
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue