*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:
Mergul 2019-11-12 20:33:31 +01:00
parent 73f2aa6861
commit cb7609dcaa
82 changed files with 11188 additions and 413 deletions

View file

@ -1,240 +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.sdlsyswm;
//import core.stdc.config : c_long;
alias int c_long;
import bindbc.sdl.config;
import bindbc.sdl.bind.sdlstdinc : SDL_bool;
import bindbc.sdl.bind.sdlversion : SDL_version;
import bindbc.sdl.bind.sdlvideo : SDL_Window;
static if(sdlSupport >= SDLSupport.sdl205) {
enum SDL_SYSWM_TYPE {
SDL_SYSWM_UNKNOWN,
SDL_SYSWM_WINDOWS,
SDL_SYSWM_X11,
SDL_SYSWM_DIRECTFB,
SDL_SYSWM_COCOA,
SDL_SYSWM_UIKIT,
SDL_SYSWM_WAYLAND,
SDL_SYSWM_MIR,
SDL_SYSWM_WINRT,
SDL_SYSWM_ANDROID,
SDL_SYSWM_VIVANTE,
SDL_SYSWM_OS2,
}
}
else static if(sdlSupport >= SDLSupport.sdl205) {
enum SDL_SYSWM_TYPE {
SDL_SYSWM_UNKNOWN,
SDL_SYSWM_WINDOWS,
SDL_SYSWM_X11,
SDL_SYSWM_DIRECTFB,
SDL_SYSWM_COCOA,
SDL_SYSWM_UIKIT,
SDL_SYSWM_WAYLAND,
SDL_SYSWM_MIR,
SDL_SYSWM_WINRT,
SDL_SYSWM_ANDROID,
SDL_SYSWM_VIVANTE,
}
}
else static if(sdlSupport >= SDLSupport.sdl204) {
enum SDL_SYSWM_TYPE {
SDL_SYSWM_UNKNOWN,
SDL_SYSWM_WINDOWS,
SDL_SYSWM_X11,
SDL_SYSWM_DIRECTFB,
SDL_SYSWM_COCOA,
SDL_SYSWM_UIKIT,
SDL_SYSWM_WAYLAND,
SDL_SYSWM_MIR,
SDL_SYSWM_WINRT,
SDL_SYSWM_ANDROID,
}
}
else static if(sdlSupport >= SDLSupport.sdl203) {
enum SDL_SYSWM_TYPE {
SDL_SYSWM_UNKNOWN,
SDL_SYSWM_WINDOWS,
SDL_SYSWM_X11,
SDL_SYSWM_DIRECTFB,
SDL_SYSWM_COCOA,
SDL_SYSWM_UIKIT,
SDL_SYSWM_WAYLAND,
SDL_SYSWM_MIR,
SDL_SYSWM_WINRT,
}
}
else static if(sdlSupport >= SDLSupport.sdl202) {
enum SDL_SYSWM_TYPE {
SDL_SYSWM_UNKNOWN,
SDL_SYSWM_WINDOWS,
SDL_SYSWM_X11,
SDL_SYSWM_DIRECTFB,
SDL_SYSWM_COCOA,
SDL_SYSWM_UIKIT,
SDL_SYSWM_WAYLAND,
SDL_SYSWM_MIR,
}
}
else {
enum SDL_SYSWM_TYPE {
SDL_SYSWM_UNKNOWN,
SDL_SYSWM_WINDOWS,
SDL_SYSWM_X11,
SDL_SYSWM_DIRECTFB,
SDL_SYSWM_COCOA,
SDL_SYSWM_UIKIT,
}
}
mixin(expandEnum!SDL_SYSWM_TYPE);
version(Windows) {
// I don't want to import core.sys.windows.windows just for these
version(Win64) {
alias wparam = ulong;
alias lparam = long;
}else {
alias wparam = uint;
alias lparam = int;
}
}
struct SDL_SysWMmsg {
SDL_version version_;
SDL_SYSWM_TYPE subsystem;
union msg_ {
version(Windows) {
struct win_ {
void* hwnd;
uint msg;
wparam wParam;
lparam lParam;
}
win_ win;
}
else version(OSX) {
struct cocoa_ {
int dummy;
}
cocoa_ cocoa;
}
else version(linux) {
struct dfb_ {
void* event;
}
dfb_ dfb;
}
version(Posix) {
struct x11_ {
c_long[24] pad; // sufficient size for any X11 event
}
x11_ x11;
}
static if(sdlSupport >= SDLSupport.sdl205) {
struct vivante_ {
int dummy;
}
vivante_ vivante;
}
int dummy;
}
msg_ msg;
}
struct SDL_SysWMinfo {
SDL_version version_;
SDL_SYSWM_TYPE subsystem;
union info_ {
version(Windows) {
struct win_ {
void* window;
static if(sdlSupport >= SDLSupport.sdl204) void* hdc;
static if(sdlSupport >= SDLSupport.sdl206) void* hinstance;
}
win_ win;
}
else version(OSX) {
struct cocoa_ {
void* window;
}
cocoa_ cocoa;
struct uikit_ {
void *window;
}
uikit_ uikit;
}
else version(linux) {
struct dfb_ {
void *dfb;
void *window;
void *surface;
}
dfb_ dfb;
static if(sdlSupport >= SDLSupport.sdl202) {
struct wl_ {
void *display;
void *surface;
void *shell_surface;
}
wl_ wl;
struct mir_ {
void *connection;
void *surface;
}
mir_ mir;
}
}
version(Posix) {
struct x11_ {
void* display;
uint window;
}
x11_ x11;
}
static if(sdlSupport >= SDLSupport.sdl204) {
version(Android) {
struct android_ {
void* window;
void* surface;
}
android_ android;
}
}
static if(sdlSupport >= SDLSupport.sdl206) ubyte[64] dummy;
else int dummy;
}
info_ info;
}
version(BindSDL_Static) {
extern(C) @nogc nothrow {
SDL_bool SDL_GetWindowWMInfo(SDL_Window*,SDL_SysWMinfo*);
}
}
else {
extern(C) @nogc nothrow {
alias pSDL_GetWindowWMInfo = SDL_bool function(SDL_Window*,SDL_SysWMinfo*);
}
__gshared {
pSDL_GetWindowWMInfo SDL_GetWindowWMInfo;
}
}