Commit 2c8b1ce8 authored by Eli Gottlieb's avatar Eli Gottlieb

Added Andreas's fixes to the header and stub file for SDL_shape.

parent 00e7bc8b
...@@ -39,11 +39,11 @@ extern "C" { ...@@ -39,11 +39,11 @@ extern "C" {
/** \file SDL_shape.h /** \file SDL_shape.h
* *
* Header file for shaped windows. * Header file for the shaped window API.
*/ */
/** /**
* \brief Create a shaped window with the specified position, dimensions, and flags. * \brief Create a window that can be shaped with the specified position, dimensions, and flags.
* *
* \param title The title of the window, in UTF-8 encoding. * \param title The title of the window, in UTF-8 encoding.
* \param x The x position of the window, ::SDL_WINDOWPOS_CENTERED, or * \param x The x position of the window, ::SDL_WINDOWPOS_CENTERED, or
...@@ -69,13 +69,18 @@ extern DECLSPEC SDL_Window * SDLCALL SDL_CreateShapedWindow(const char *title,un ...@@ -69,13 +69,18 @@ extern DECLSPEC SDL_Window * SDLCALL SDL_CreateShapedWindow(const char *title,un
* *
* \param window The window to query for being shaped. * \param window The window to query for being shaped.
* *
* \return SDL_TRUE if the window is a shaped window and SDL_FALSE otherwise. * \return SDL_TRUE if the window is a window that can be shaped, SDL_FALSE if the window is unshaped or NULL.
* \sa SDL_CreateShapedWindow * \sa SDL_CreateShapedWindow
*/ */
extern DECLSPEC SDL_bool SDLCALL SDL_WindowIsShaped(const SDL_Window *window); extern DECLSPEC SDL_bool SDLCALL SDL_IsShapedWindow(const SDL_Window *window);
/** \brief An enum denoting the specific type of contents present in an SDL_WindowShapeParams union. */ /** \brief An enum denoting the specific type of contents present in an SDL_WindowShapeParams union. */
typedef enum {ShapeModeDefault, ShapeModeBinarizeAlpha} WindowShapeMode; typedef enum {
/** \brief The default mode, a binarized alpha cutoff of 1. */
ShapeModeDefault,
/** \brief A binarized alpha cutoff with a given integer value. */
ShapeModeBinarizeAlpha
} WindowShapeMode;
/** \brief A union containing parameters for shaped windows. */ /** \brief A union containing parameters for shaped windows. */
typedef union { typedef union {
/** \brief a cutoff alpha value for binarization of the window shape's alpha channel. */ /** \brief a cutoff alpha value for binarization of the window shape's alpha channel. */
...@@ -94,29 +99,30 @@ typedef struct SDL_WindowShapeMode { ...@@ -94,29 +99,30 @@ typedef struct SDL_WindowShapeMode {
* \brief Set the shape and parameters of a shaped window. * \brief Set the shape and parameters of a shaped window.
* *
* \param window The shaped window whose parameters should be set. * \param window The shaped window whose parameters should be set.
* \param shape A surface encoding the desired shape for the window as a bitmap mask. * \param shape A surface encoding the desired shape for the window.
* \param parameters The parameters to set for the shaped window. * \param shapeMode The parameters to set for the shaped window.
* *
* \return 0 on success, -1 on invalid an invalid shape argument, or -2 if the SDL_Window* given does not reference * \return 0 on success, -1 on invalid an invalid shape argument, or -2 if the SDL_Window* given does not reference
* a valid shaped window. * a valid shaped window.
* *
* \sa SDL_WindowShapeMode * \sa SDL_WindowShapeMode
* \sa SDL_GetShapeParameters. * \sa SDL_GetShapedWindowMode.
*/ */
extern DECLSPEC int SDLCALL SDL_SetWindowShape(SDL_Window *window,SDL_Surface *shape,SDL_WindowShapeMode parameters); extern DECLSPEC int SDLCALL SDL_SetWindowShape(SDL_Window *window,SDL_Surface *shape,SDL_WindowShapeMode *shapeMode);
/** /**
* \brief Set the shape parameters of a shaped window. * \brief Get the shape parameters of a shaped window.
* *
* \param window The shaped window whose parameters should be retrieved. * \param window The shaped window whose parameters should be retrieved.
* \param shapeMode An empty shape-parameters structure to fill. * \param shapeMode An empty shape-parameters structure to fill.
* *
* \return 0 on success, -1 on a null shapeMode, or -2 if the SDL_Window given is not a shaped window. * \return 0 on success, -1 on a null shapeMode, or -2 if the SDL_Window given is not a shaped window, or -3 if the
* SDL_Window given is a window that can be shaped but isn't.
* *
* \sa SDL_WindowShapeMode * \sa SDL_WindowShapeMode
* \sa SDL_SetShapeParameters * \sa SDL_SetWindowShape
*/ */
extern DECLSPEC int SDLCALL SDL_GetShapeParameters(SDL_Window *window,SDL_WindowShapeMode *shapeMode); extern DECLSPEC int SDLCALL SDL_GetShapedWindowMode(SDL_Window *window,SDL_WindowShapeMode *shapeMode);
/* Ends C function definitions when using C++ */ /* Ends C function definitions when using C++ */
#ifdef __cplusplus #ifdef __cplusplus
......
...@@ -30,11 +30,11 @@ SDL_Window* SDL_CreateShapedWindow(const char *title,unsigned int x,unsigned int ...@@ -30,11 +30,11 @@ SDL_Window* SDL_CreateShapedWindow(const char *title,unsigned int x,unsigned int
return NULL; return NULL;
} }
SDL_bool SDL_WindowIsShaped(const SDL_Window *window) { SDL_bool SDL_IsShapedWindow(const SDL_Window *window) {
return SDL_FALSE; return SDL_FALSE;
} }
int SDL_SetWindowShape(SDL_Window *window,SDL_Surface *shape,SDL_WindowShapeMode parameters) { int SDL_SetWindowShape(SDL_Window *window,SDL_Surface *shape,SDL_WindowShapeMode *shapeMode) {
if(window == NULL || !SDL_WindowIsShaped(window)) if(window == NULL || !SDL_WindowIsShaped(window))
return -2; return -2;
if(shape == NULL) if(shape == NULL)
...@@ -42,7 +42,7 @@ int SDL_SetWindowShape(SDL_Window *window,SDL_Surface *shape,SDL_WindowShapeMode ...@@ -42,7 +42,7 @@ int SDL_SetWindowShape(SDL_Window *window,SDL_Surface *shape,SDL_WindowShapeMode
return -3; return -3;
} }
int SDL_GetShapeParameters(SDL_Window *window,SDL_WindowShapeMode *shapeMode) { int SDL_GetShapedWindowMode(SDL_Window *window,SDL_WindowShapeMode *shapeMode) {
if(shapeMode == NULL) if(shapeMode == NULL)
return -1; return -1;
if(window == NULL || !SDL_WindowIsShaped(window)) if(window == NULL || !SDL_WindowIsShaped(window))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment