include/SDL_shape.h
author Eli Gottlieb <eligottlieb@gmail.com>
Tue, 25 May 2010 00:23:41 -0400
changeset 4768 4435e014eacc
parent 4767 dc3fd9b7fcbc
child 4769 83f9b95da263
permissions -rw-r--r--
Changed API for shaped windows to make it much, much simpler. A shaped window's shape mask is now accessed as a render target, which means we can get at it with blit and draw functions, as well as (most likely) OpenGL.
     1 /*
     2     SDL - Simple DirectMedia Layer
     3     Copyright (C) 2010 Eli Gottlieb
     4 
     5     This library is free software; you can redistribute it and/or
     6     modify it under the terms of the GNU Lesser General Public
     7     License as published by the Free Software Foundation; either
     8     version 2.1 of the License, or (at your option) any later version.
     9 
    10     This library is distributed in the hope that it will be useful,
    11     but WITHOUT ANY WARRANTY; without even the implied warranty of
    12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    13     Lesser General Public License for more details.
    14 
    15     You should have received a copy of the GNU Lesser General Public
    16     License along with this library; if not, write to the Free Software
    17     Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
    18 
    19     Eli Gottlieb
    20     eligottlieb@gmail.com
    21 */
    22 
    23 struct SDL_Shaped_Window;
    24 typedef struct SDL_Shaped_Window SDL_Shaped_Window;
    25 
    26 /**
    27  *  \brief Create a shaped window with the specified position, dimensions, and flags.
    28  *  
    29  *  \param title The title of the window, in UTF-8 encoding.
    30  *  \param x     The x position of the window, ::SDL_WINDOWPOS_CENTERED, or 
    31  *               ::SDL_WINDOWPOS_UNDEFINED.
    32  *  \param y     The y position of the window, ::SDL_WINDOWPOS_CENTERED, or 
    33  *               ::SDL_WINDOWPOS_UNDEFINED.
    34  *  \param w     The width of the window.
    35  *  \param h     The height of the window.
    36  *  \param flags The flags for the window, a mask of SDL_WINDOW_BORDERLESS with any of the following: 
    37  *               ::SDL_WINDOW_OPENGL,     ::SDL_WINDOW_INPUT_GRABBED,
    38  *               ::SDL_WINDOW_SHOWN,      ::SDL_WINDOW_RESIZABLE,
    39  *               ::SDL_WINDOW_MAXIMIZED,  ::SDL_WINDOW_MINIMIZED,
    40  *		 ::SDL_WINDOW_BORDERLESS is always set, and ::SDL_WINDOW_FULLSCREEN is always unset.
    41  *  
    42  *  \return The id of the window created, or zero if window creation failed.
    43  *  
    44  *  \sa SDL_DestroyWindow()
    45  */
    46 extern DECLSPEC SDL_Window * SDLCALL SDL_CreateShapedWindow(const char *title,unsigned int x,unsigned int y,unsigned int w,unsigned int h,Uint32 flags);
    47 
    48 extern DECLSPE SDL_bool SDLCALL SDL_WindowIsShaped(const SDL_Window *window);
    49 extern DECLSPEC int SDLCALL SDL_SelectShapeRenderer(const SDL_Window *window);
    50 
    51 extern DECLSPEC void SDLCALL SDL_DestroyShapedWindow(const SDL_Shaped_Window *window);