bubel-ecs/demos/external/wasm_imports/bindbc/sdl/bind/sdlshape.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

63 lines
No EOL
2 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.sdlshape;
import bindbc.sdl.config;
import bindbc.sdl.bind.sdlpixels : SDL_Color;
import bindbc.sdl.bind.sdlstdinc : SDL_bool;
import bindbc.sdl.bind.sdlsurface : SDL_Surface;
import bindbc.sdl.bind.sdlvideo : SDL_Window;
enum {
SDL_NONSHAPEABLE_WINDOW = -1,
SDL_INVALID_SHAPE_ARGUMENT = -2,
SDL_WINDOW_LACKS_SHAPE = -3,
}
enum WindowShapeMode {
ShapeModeDefault,
ShapeModeBinarizeAlpha,
ShapeModeReverseBinarizeAlpha,
ShapeModeColorKey
}
mixin(expandEnum!WindowShapeMode);
enum SDL_SHAPEMODEALPHA(WindowShapeMode mode) = (mode == ShapeModeDefault || mode == ShapeModeBinarizeAlpha || mode == ShapeModeReverseBinarizeAlpha);
union SDL_WindowShapeParams {
ubyte binarizationCutoff;
SDL_Color colorKey;
}
struct SDL_WindowShapeMode {
WindowShapeMode mode;
SDL_WindowShapeParams parameters;
}
version(BindSDL_Static) {
extern(C) @nogc nothrow {
SDL_Window* SDL_CreateShapedWindow(const(char)*,uint,uint,uint,uint,uint);
SDL_bool SDL_IsShapedWindow(const(SDL_Window)*);
int SDL_SetWindowShape(SDL_Window*,SDL_Surface*,SDL_WindowShapeMode*);
int SDL_GetShapedWindowMode(SDL_Window*,SDL_WindowShapeMode*);
}
}
else {
extern(C) @nogc nothrow {
alias pSDL_CreateShapedWindow = SDL_Window* function(const(char)*,uint,uint,uint,uint,uint);
alias pSDL_IsShapedWindow = SDL_bool function(const(SDL_Window)*);
alias pSDL_SetWindowShape = int function(SDL_Window*,SDL_Surface*,SDL_WindowShapeMode*);
alias pSDL_GetShapedWindowMode = int function(SDL_Window*,SDL_WindowShapeMode*);
}
__gshared {
pSDL_CreateShapedWindow SDL_CreateShapedWindow;
pSDL_IsShapedWindow SDL_IsShapedWindow;
pSDL_SetWindowShape SDL_SetWindowShape;
pSDL_GetShapedWindowMode SDL_GetShapedWindowMode;
}
}