bubel-ecs/demos/external/wasm_imports/bindbc/sdl/bind/sdlsystem.d
Mergul cb7609dcaa -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
2019-11-12 20:33:31 +01:00

152 lines
No EOL
5.1 KiB
D

// 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.sdlsystem;
import bindbc.sdl.config;
import bindbc.sdl.bind.sdlrender : SDL_Renderer;
import bindbc.sdl.bind.sdlstdinc : SDL_bool;
version(Android) {
enum int SDL_ANDROID_EXTERNAL_STORAGE_READ = 0x01;
enum int SDL_ANDROID_EXTERNAL_STORAGE_WRITE = 0x02;
}
static if(sdlSupport >= SDLSupport.sdl201) {
version(Windows) struct IDirect3DDevice9;
}
static if(sdlSupport >= SDLSupport.sdl204) {
version(Windows) {
extern(C) nothrow alias SDL_WindowsMessageHook = void function(void*,void*,uint,ulong,long);
}
}
version(BindSDL_Static) {
extern(C) @nogc nothrow {
version(Android) {
void* SDL_AndroidGetJNIEnv();
void* SDL_AndroidGetActivity();
const(char)* SDL_AndroidGetInternalStoragePath();
int SDL_AndroidGetInternalStorageState();
const(char)* SDL_AndroidGetExternalStoragePath();
static if(sdlSupport >= SDLSupport.sdl208) {
SDL_bool SDL_IsAndroidTV();
}
static if(sdlSupport >= SDLSupport.sdl209) {
SDL_bool SDL_IsChromebook();
SDL_bool SDL_IsDeXMode();
void SDL_AndroidBackButton();
}
}
else version(Windows) {
static if(sdlSupport >= SDLSupport.sdl201) {
int SDL_Direct3D9GetAdapterIndex(int);
IDirect3DDevice9* SDL_RenderGetD3D9Device(SDL_Renderer*);
}
static if(sdlSupport >= SDLSupport.sdl202) {
SDL_bool SDL_DXGIGetOutputInfo(int,int*,int*);
}
static if(sdlSupport >= SDLSupport.sdl204) {
void SDL_SetWindowsMessageHook(SDL_WindowsMessageHook,void*);
}
}
else version(linux) {
static if(sdlSupport >= SDLSupport.sdl209) {
int SDL_LinuxSetThreadPriority(long,int);
}
}
}
}
else {
version(Android) {
extern(C) @nogc nothrow {
alias pSDL_AndroidGetJNIEnv = void* function();
alias pSDL_AndroidGetActivity = void* function();
alias pSDL_AndroidGetInternalStoragePath = const(char)* function();
alias pSDL_AndroidGetInternalStorageState = int function();
alias pSDL_AndroidGetExternalStoragePath = const(char)* function();
}
__gshared {
pSDL_AndroidGetJNIEnv SDL_AndroidGetJNIEnv;
pSDL_AndroidGetActivity SDL_AndroidGetActivity;
pSDL_AndroidGetInternalStoragePath SDL_AndroidGetInternalStoragePath;
pSDL_AndroidGetInternalStorageState SDL_AndroidGetInternalStorageState;
pSDL_AndroidGetExternalStoragePath SDL_AndroidGetExternalStoragePath;
}
static if(sdlSupport >= SDLSupport.sdl208) {
extern(C) @nogc nothrow {
alias pSDL_IsAndroidTV = SDL_bool function();
}
__gshared {
pSDL_IsAndroidTV SDL_IsAndroidTV;
}
}
static if(sdlSupport >= SDLSupport.sdl209) {
extern(C) @nogc nothrow {
alias pSDL_IsChromebook = SDL_bool function();
alias pSDL_IsDeXMode = SDL_bool function();
alias pSDL_AndroidBackButton = void function();
}
__gshared {
pSDL_IsChromebook SDL_IsChromebook;
pSDL_IsDeXMode SDL_IsDeXMode;
pSDL_AndroidBackButton SDL_AndroidBackButton;
}
}
}
else version(Windows) {
static if(sdlSupport >= SDLSupport.sdl201) {
extern(C) @nogc nothrow {
alias pSDL_Direct3D9GetAdapterIndex = int function(int);
alias pSDL_RenderGetD3D9Device = IDirect3DDevice9* function(SDL_Renderer*);
}
__gshared {
pSDL_Direct3D9GetAdapterIndex SDL_Direct3D9GetAdapterIndex ;
pSDL_RenderGetD3D9Device SDL_RenderGetD3D9Device;
}
}
static if(sdlSupport >= SDLSupport.sdl202) {
extern(C) @nogc nothrow {
alias pSDL_DXGIGetOutputInfo = SDL_bool function(int,int*,int*);
}
__gshared {
pSDL_DXGIGetOutputInfo SDL_DXGIGetOutputInfo;
}
}
static if(sdlSupport >= SDLSupport.sdl204) {
extern(C) @nogc nothrow {
alias pSDL_SetWindowsMessageHook = void function(SDL_WindowsMessageHook,void*);
}
__gshared {
pSDL_SetWindowsMessageHook SDL_SetWindowsMessageHook;
}
}
}
else version(linux) {
static if(sdlSupport >= SDLSupport.sdl209) {
extern(C) @nogc nothrow {
alias pSDL_LinuxSetThreadPriority = int function(long,int);
}
__gshared {
pSDL_LinuxSetThreadPriority SDL_LinuxSetThreadPriority;
}
}
}
}