annotate src/video/win32/SDL_win32shape.h @ 4987:b68a0e03db02

Set blend mode for textures that were created from surfaces with a colorkey
author Sam Lantinga <slouken@libsdl.org>
date Wed, 12 Jan 2011 15:58:53 -0800
parents 0b918c186938
children
rev   line source
4797
2a71f02323c7 Added SDL_win32shape.h to version control. D'oh.
Eli Gottlieb <eligottlieb@gmail.com>
parents:
diff changeset
1 /*
2a71f02323c7 Added SDL_win32shape.h to version control. D'oh.
Eli Gottlieb <eligottlieb@gmail.com>
parents:
diff changeset
2 SDL - Simple DirectMedia Layer
2a71f02323c7 Added SDL_win32shape.h to version control. D'oh.
Eli Gottlieb <eligottlieb@gmail.com>
parents:
diff changeset
3 Copyright (C) 2010 Eli Gottlieb
2a71f02323c7 Added SDL_win32shape.h to version control. D'oh.
Eli Gottlieb <eligottlieb@gmail.com>
parents:
diff changeset
4
2a71f02323c7 Added SDL_win32shape.h to version control. D'oh.
Eli Gottlieb <eligottlieb@gmail.com>
parents:
diff changeset
5 This library is free software; you can redistribute it and/or
2a71f02323c7 Added SDL_win32shape.h to version control. D'oh.
Eli Gottlieb <eligottlieb@gmail.com>
parents:
diff changeset
6 modify it under the terms of the GNU Lesser General Public
2a71f02323c7 Added SDL_win32shape.h to version control. D'oh.
Eli Gottlieb <eligottlieb@gmail.com>
parents:
diff changeset
7 License as published by the Free Software Foundation; either
2a71f02323c7 Added SDL_win32shape.h to version control. D'oh.
Eli Gottlieb <eligottlieb@gmail.com>
parents:
diff changeset
8 version 2.1 of the License, or (at your option) any later version.
2a71f02323c7 Added SDL_win32shape.h to version control. D'oh.
Eli Gottlieb <eligottlieb@gmail.com>
parents:
diff changeset
9
2a71f02323c7 Added SDL_win32shape.h to version control. D'oh.
Eli Gottlieb <eligottlieb@gmail.com>
parents:
diff changeset
10 This library is distributed in the hope that it will be useful,
2a71f02323c7 Added SDL_win32shape.h to version control. D'oh.
Eli Gottlieb <eligottlieb@gmail.com>
parents:
diff changeset
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
2a71f02323c7 Added SDL_win32shape.h to version control. D'oh.
Eli Gottlieb <eligottlieb@gmail.com>
parents:
diff changeset
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
2a71f02323c7 Added SDL_win32shape.h to version control. D'oh.
Eli Gottlieb <eligottlieb@gmail.com>
parents:
diff changeset
13 Lesser General Public License for more details.
2a71f02323c7 Added SDL_win32shape.h to version control. D'oh.
Eli Gottlieb <eligottlieb@gmail.com>
parents:
diff changeset
14
2a71f02323c7 Added SDL_win32shape.h to version control. D'oh.
Eli Gottlieb <eligottlieb@gmail.com>
parents:
diff changeset
15 You should have received a copy of the GNU Lesser General Public
2a71f02323c7 Added SDL_win32shape.h to version control. D'oh.
Eli Gottlieb <eligottlieb@gmail.com>
parents:
diff changeset
16 License along with this library; if not, write to the Free Software
2a71f02323c7 Added SDL_win32shape.h to version control. D'oh.
Eli Gottlieb <eligottlieb@gmail.com>
parents:
diff changeset
17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
2a71f02323c7 Added SDL_win32shape.h to version control. D'oh.
Eli Gottlieb <eligottlieb@gmail.com>
parents:
diff changeset
18
2a71f02323c7 Added SDL_win32shape.h to version control. D'oh.
Eli Gottlieb <eligottlieb@gmail.com>
parents:
diff changeset
19 Eli Gottlieb
2a71f02323c7 Added SDL_win32shape.h to version control. D'oh.
Eli Gottlieb <eligottlieb@gmail.com>
parents:
diff changeset
20 eligottlieb@gmail.com
2a71f02323c7 Added SDL_win32shape.h to version control. D'oh.
Eli Gottlieb <eligottlieb@gmail.com>
parents:
diff changeset
21 */
2a71f02323c7 Added SDL_win32shape.h to version control. D'oh.
Eli Gottlieb <eligottlieb@gmail.com>
parents:
diff changeset
22
2a71f02323c7 Added SDL_win32shape.h to version control. D'oh.
Eli Gottlieb <eligottlieb@gmail.com>
parents:
diff changeset
23 #include "SDL_config.h"
2a71f02323c7 Added SDL_win32shape.h to version control. D'oh.
Eli Gottlieb <eligottlieb@gmail.com>
parents:
diff changeset
24
2a71f02323c7 Added SDL_win32shape.h to version control. D'oh.
Eli Gottlieb <eligottlieb@gmail.com>
parents:
diff changeset
25 #ifndef _SDL_win32shape_h
2a71f02323c7 Added SDL_win32shape.h to version control. D'oh.
Eli Gottlieb <eligottlieb@gmail.com>
parents:
diff changeset
26 #define _SDL_win32shape_h
2a71f02323c7 Added SDL_win32shape.h to version control. D'oh.
Eli Gottlieb <eligottlieb@gmail.com>
parents:
diff changeset
27
2a71f02323c7 Added SDL_win32shape.h to version control. D'oh.
Eli Gottlieb <eligottlieb@gmail.com>
parents:
diff changeset
28 #include "SDL_video.h"
2a71f02323c7 Added SDL_win32shape.h to version control. D'oh.
Eli Gottlieb <eligottlieb@gmail.com>
parents:
diff changeset
29 #include "SDL_shape.h"
2a71f02323c7 Added SDL_win32shape.h to version control. D'oh.
Eli Gottlieb <eligottlieb@gmail.com>
parents:
diff changeset
30 #include "../SDL_sysvideo.h"
4813
5b4c7d7d8953 Wrote out the system for breaking shape-masks into quad-trees of rectangles, and added code to conglomerate those quad-trees of rectangles into regions for setting shapes under Win32.
Eli Gottlieb <eligottlieb@gmail.com>
parents: 4809
diff changeset
31 #include "../SDL_shape_internals.h"
4797
2a71f02323c7 Added SDL_win32shape.h to version control. D'oh.
Eli Gottlieb <eligottlieb@gmail.com>
parents:
diff changeset
32
2a71f02323c7 Added SDL_win32shape.h to version control. D'oh.
Eli Gottlieb <eligottlieb@gmail.com>
parents:
diff changeset
33 typedef struct {
4813
5b4c7d7d8953 Wrote out the system for breaking shape-masks into quad-trees of rectangles, and added code to conglomerate those quad-trees of rectangles into regions for setting shapes under Win32.
Eli Gottlieb <eligottlieb@gmail.com>
parents: 4809
diff changeset
34 SDL_ShapeTree *mask_tree;
4797
2a71f02323c7 Added SDL_win32shape.h to version control. D'oh.
Eli Gottlieb <eligottlieb@gmail.com>
parents:
diff changeset
35 } SDL_ShapeData;
2a71f02323c7 Added SDL_win32shape.h to version control. D'oh.
Eli Gottlieb <eligottlieb@gmail.com>
parents:
diff changeset
36
2a71f02323c7 Added SDL_win32shape.h to version control. D'oh.
Eli Gottlieb <eligottlieb@gmail.com>
parents:
diff changeset
37 extern SDL_WindowShaper* Win32_CreateShaper(SDL_Window * window);
4849
0b918c186938 Finally got the Win32 API code for shaping to work! Just need to fix SDL_CalculateShapeTree() now!
egottlieb
parents: 4813
diff changeset
38 extern int Win32_SetWindowShape(SDL_WindowShaper *shaper,SDL_Surface *shape,SDL_WindowShapeMode *shape_mode);
4797
2a71f02323c7 Added SDL_win32shape.h to version control. D'oh.
Eli Gottlieb <eligottlieb@gmail.com>
parents:
diff changeset
39 extern int Win32_ResizeWindowShape(SDL_Window *window);
2a71f02323c7 Added SDL_win32shape.h to version control. D'oh.
Eli Gottlieb <eligottlieb@gmail.com>
parents:
diff changeset
40
2a71f02323c7 Added SDL_win32shape.h to version control. D'oh.
Eli Gottlieb <eligottlieb@gmail.com>
parents:
diff changeset
41 #endif /* _SDL_win32shape_h */