*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
152 lines
No EOL
5.1 KiB
D
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;
|
|
}
|
|
}
|
|
}
|
|
} |