include/SDL_shape.h
author Eli Gottlieb <eligottlieb@gmail.com>
Sun, 23 May 2010 01:27:09 -0400
changeset 4767 dc3fd9b7fcbc
parent 4766 7b50faf23907
child 4768 4435e014eacc
permissions -rw-r--r--
I'm actually going to have to alter this proposed API a fair bit, but it's coming along. I want to keep it as orthogonal to the rest of SDL as possible.
eligottlieb@4766
     1
/*
eligottlieb@4766
     2
    SDL - Simple DirectMedia Layer
eligottlieb@4766
     3
    Copyright (C) 2010 Eli Gottlieb
eligottlieb@4766
     4
eligottlieb@4766
     5
    This library is free software; you can redistribute it and/or
eligottlieb@4766
     6
    modify it under the terms of the GNU Lesser General Public
eligottlieb@4766
     7
    License as published by the Free Software Foundation; either
eligottlieb@4766
     8
    version 2.1 of the License, or (at your option) any later version.
eligottlieb@4766
     9
eligottlieb@4766
    10
    This library is distributed in the hope that it will be useful,
eligottlieb@4766
    11
    but WITHOUT ANY WARRANTY; without even the implied warranty of
eligottlieb@4766
    12
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
eligottlieb@4766
    13
    Lesser General Public License for more details.
eligottlieb@4766
    14
eligottlieb@4766
    15
    You should have received a copy of the GNU Lesser General Public
eligottlieb@4766
    16
    License along with this library; if not, write to the Free Software
eligottlieb@4766
    17
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
eligottlieb@4766
    18
eligottlieb@4766
    19
    Eli Gottlieb
eligottlieb@4766
    20
    eligottlieb@gmail.com
eligottlieb@4766
    21
*/
eligottlieb@4766
    22
eligottlieb@4766
    23
struct SDL_Shaped_Window;
eligottlieb@4766
    24
typedef struct SDL_Shaped_Window SDL_Shaped_Window;
eligottlieb@4766
    25
eligottlieb@4766
    26
/**
eligottlieb@4766
    27
 *  \brief Create a shaped window with the specified position, dimensions, and flags.
eligottlieb@4766
    28
 *  
eligottlieb@4766
    29
 *  \param title The title of the window, in UTF-8 encoding.
eligottlieb@4766
    30
 *  \param x     The x position of the window, ::SDL_WINDOWPOS_CENTERED, or 
eligottlieb@4766
    31
 *               ::SDL_WINDOWPOS_UNDEFINED.
eligottlieb@4766
    32
 *  \param y     The y position of the window, ::SDL_WINDOWPOS_CENTERED, or 
eligottlieb@4766
    33
 *               ::SDL_WINDOWPOS_UNDEFINED.
eligottlieb@4766
    34
 *  \param w     The width of the window.
eligottlieb@4766
    35
 *  \param h     The height of the window.
eligottlieb@4766
    36
 *  \param flags The flags for the window, a mask of SDL_WINDOW_BORDERLESS with any of the following: 
eligottlieb@4767
    37
 *               ::SDL_WINDOW_OPENGL,     ::SDL_WINDOW_INPUT_GRABBED,
eligottlieb@4766
    38
 *               ::SDL_WINDOW_SHOWN,      ::SDL_WINDOW_RESIZABLE,
eligottlieb@4766
    39
 *               ::SDL_WINDOW_MAXIMIZED,  ::SDL_WINDOW_MINIMIZED,
eligottlieb@4767
    40
 *		 ::SDL_WINDOW_BORDERLESS is always set, and ::SDL_WINDOW_FULLSCREEN is always unset.
eligottlieb@4766
    41
 *  
eligottlieb@4766
    42
 *  \return The id of the window created, or zero if window creation failed.
eligottlieb@4766
    43
 *  
eligottlieb@4766
    44
 *  \sa SDL_DestroyWindow()
eligottlieb@4766
    45
 */
eligottlieb@4766
    46
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);
eligottlieb@4766
    47
eligottlieb@4766
    48
extern DECLSPEC SDL_Surface * SDLCALL SDL_LockWindowShape(const SDL_Shaped_Window *window);
eligottlieb@4766
    49
extern DECLSPEC void SDLCALL SDL_UnlockWindowShape(const SDL_Shaped_Window *window);
eligottlieb@4766
    50
extern DECLSPEC int SDLCALL SDL_PresentWindowShape(const SDL_Shaped_Window *window);
eligottlieb@4766
    51
eligottlieb@4766
    52
extern DECLSPEC SDL_Window * SDLCALL SDL_LockShapedWindow(const SDL_Shaped_Window *window);
eligottlieb@4766
    53
extern DECLSPEC void SDLCALL SDL_UnlockShapedWindow(const SDL_Shaped_Window *window);
eligottlieb@4766
    54
eligottlieb@4766
    55
extern DECLSPEC void SDLCALL SDL_DestroyShapedWindow(const SDL_Shaped_Window *window);