2
0
mirror of https://github.com/dpethes/rerogue.git synced 2025-06-07 18:58:32 +02:00
rerogue/model_viewer/sdl2/sdlshape.inc
2017-02-02 02:08:13 +01:00

44 lines
1.6 KiB
PHP

//from "sdl_shape.h"
{** SDL_shape.h
*
* Header file for the shaped window API.
*}
const
SDL_NONSHAPEABLE_WINDOW = -1;
SDL_INVALID_SHAPE_ARGUMENT = -2;
SDL_WINDOW_LACKS_SHAPE = -3;
type
PPSDL_Window = ^PSDL_Window;
PSDL_Window = ^TSDL_Window;
{** An enum denoting the specific type of contents present in an SDL_WindowShapeParams union. *}
TWindowShapeMode = ({** The default mode, a binarized alpha cutoff of 1. *}
ShapeModeDefault,
{** A binarized alpha cutoff with a given integer value. *}
ShapeModeBinarizeAlpha,
{** A binarized alpha cutoff with a given integer value, but with the opposite comparison. *}
ShapeModeReverseBinarizeAlpha,
{** A color key is applied. *}
ShapeModeColorKey);
//#define SDL_SHAPEMODEALPHA(mode) (mode == ShapeModeDefault || mode == ShapeModeBinarizeAlpha || mode == ShapeModeReverseBinarizeAlpha)
{** A union containing parameters for shaped windows. *}
TSDL_WindowShapeParams = record
case Integer of
{** a cutoff alpha value for binarization of the window shape's alpha channel. *}
0: (binarizationCutoff: UInt8;);
1: (colorKey: TSDL_Color;);
end;
{** A struct that tags the SDL_WindowShapeParams union with an enum describing the type of its contents. *}
PSDL_WindowShapeMode = ^TSDL_WindowShapeMode;
TSDL_WindowShapeMode = record
{** The mode of these window-shape parameters. *}
mode: TWindowShapeMode;
{** Window-shape parameters. *}
parameters: TSDL_WindowShapeParams;
end;