# HG changeset patch # User Eli Gottlieb # Date 1274477292 14400 # Node ID 7b50faf2390798f8122bd7ce347ed9d0355f73bd # Parent 5ff305de583440aa131e37e1e443c5f2ce1f2819 Moved SDL_shape.h, and building out the API as needed by SDL_Eyes. diff -r 5ff305de5834 -r 7b50faf23907 include/SDL_shape.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/include/SDL_shape.h Fri May 21 17:28:12 2010 -0400 @@ -0,0 +1,55 @@ +/* + SDL - Simple DirectMedia Layer + Copyright (C) 2010 Eli Gottlieb + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + Eli Gottlieb + eligottlieb@gmail.com +*/ + +struct SDL_Shaped_Window; +typedef struct SDL_Shaped_Window SDL_Shaped_Window; + +/** + * \brief Create a shaped window with the specified position, dimensions, and flags. + * + * \param title The title of the window, in UTF-8 encoding. + * \param x The x position of the window, ::SDL_WINDOWPOS_CENTERED, or + * ::SDL_WINDOWPOS_UNDEFINED. + * \param y The y position of the window, ::SDL_WINDOWPOS_CENTERED, or + * ::SDL_WINDOWPOS_UNDEFINED. + * \param w The width of the window. + * \param h The height of the window. + * \param flags The flags for the window, a mask of SDL_WINDOW_BORDERLESS with any of the following: + * ::SDL_WINDOW_FULLSCREEN, ::SDL_WINDOW_OPENGL, + * ::SDL_WINDOW_SHOWN, ::SDL_WINDOW_RESIZABLE, + * ::SDL_WINDOW_MAXIMIZED, ::SDL_WINDOW_MINIMIZED, + * ::SDL_WINDOW_INPUT_GRABBED. + * + * \return The id of the window created, or zero if window creation failed. + * + * \sa SDL_DestroyWindow() + */ +extern DECLSPEC SDL_Shaped_Window * SDLCALL SDL_CreateShapedWindow(const char *title,unsigned int x,unsigned int y,unsigned int w,unsigned int h,Uint32 flags); + +extern DECLSPEC SDL_Surface * SDLCALL SDL_LockWindowShape(const SDL_Shaped_Window *window); +extern DECLSPEC void SDLCALL SDL_UnlockWindowShape(const SDL_Shaped_Window *window); +extern DECLSPEC int SDLCALL SDL_PresentWindowShape(const SDL_Shaped_Window *window); + +extern DECLSPEC SDL_Window * SDLCALL SDL_LockShapedWindow(const SDL_Shaped_Window *window); +extern DECLSPEC void SDLCALL SDL_UnlockShapedWindow(const SDL_Shaped_Window *window); + +extern DECLSPEC void SDLCALL SDL_DestroyShapedWindow(const SDL_Shaped_Window *window); diff -r 5ff305de5834 -r 7b50faf23907 src/video/SDL_shape.c --- a/src/video/SDL_shape.c Fri May 21 14:50:04 2010 -0400 +++ b/src/video/SDL_shape.c Fri May 21 17:28:12 2010 -0400 @@ -21,3 +21,26 @@ */ #include "SDL_shape.h" + +struct SDL_Shaped_Window { + SDL_Window *window; + SDL_Surface *shape_mask; +} + +SDL_Shaped_Window * SDLCALL SDL_CreateShapedWindow(const char *title, + unsigned int x,unsigned int y, + unsigned int w,unsigned int h, + Uint32 flags) { + //TODO: Fill in stub of SDL_CreatedShapedWindow + return NULL; +} + +int SDLCALL SDL_PresentShape(const SDL_Shaped_Window *window) { + //TODO: Fill in stub of SDL_PresentShape + return -1; +} + +void SDLCALL SDL_DestroyShapedWindow(const SDL_Shaped_Window *window) { + //TODO: Fill in stub of SDL_DestroyShapedWindow + return; +} diff -r 5ff305de5834 -r 7b50faf23907 src/video/SDL_shape.h --- a/src/video/SDL_shape.h Fri May 21 14:50:04 2010 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,21 +0,0 @@ -/* - SDL - Simple DirectMedia Layer - Copyright (C) 2010 Eli Gottlieb - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - Eli Gottlieb - eligottlieb@gmail.com -*/