Mercurial > sdl-ios-xcode
annotate src/video/SDL_yuv_sw_c.h @ 4733:983eb9d5ed31
Change SDL to not use DefWindowProc as the window class' window procedure.
For some reason, having lpfnWndProc=DefWindowProc during window class registration causes IME input to not work in windows.
With this small change, IME input should now work in SDL windows but not in fullscreen mode.
author | dewyatt |
---|---|
date | Tue, 08 Jun 2010 05:22:49 -0400 |
parents | f7b03b6838cb |
children |
rev | line source |
---|---|
0 | 1 /* |
2 SDL - Simple DirectMedia Layer | |
3697 | 3 Copyright (C) 1997-2010 Sam Lantinga |
0 | 4 |
5 This library is free software; you can redistribute it and/or | |
1312
c9b51268668f
Updated copyright information and removed rcs id lines (problematic in branch merges)
Sam Lantinga <slouken@libsdl.org>
parents:
769
diff
changeset
|
6 modify it under the terms of the GNU Lesser General Public |
0 | 7 License as published by the Free Software Foundation; either |
1312
c9b51268668f
Updated copyright information and removed rcs id lines (problematic in branch merges)
Sam Lantinga <slouken@libsdl.org>
parents:
769
diff
changeset
|
8 version 2.1 of the License, or (at your option) any later version. |
0 | 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 | |
1312
c9b51268668f
Updated copyright information and removed rcs id lines (problematic in branch merges)
Sam Lantinga <slouken@libsdl.org>
parents:
769
diff
changeset
|
13 Lesser General Public License for more details. |
0 | 14 |
1312
c9b51268668f
Updated copyright information and removed rcs id lines (problematic in branch merges)
Sam Lantinga <slouken@libsdl.org>
parents:
769
diff
changeset
|
15 You should have received a copy of the GNU Lesser General Public |
c9b51268668f
Updated copyright information and removed rcs id lines (problematic in branch merges)
Sam Lantinga <slouken@libsdl.org>
parents:
769
diff
changeset
|
16 License along with this library; if not, write to the Free Software |
c9b51268668f
Updated copyright information and removed rcs id lines (problematic in branch merges)
Sam Lantinga <slouken@libsdl.org>
parents:
769
diff
changeset
|
17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
0 | 18 |
19 Sam Lantinga | |
252
e8157fcb3114
Updated the source with the correct e-mail address
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
20 slouken@libsdl.org |
0 | 21 */ |
1402
d910939febfa
Use consistent identifiers for the various platforms we support.
Sam Lantinga <slouken@libsdl.org>
parents:
1312
diff
changeset
|
22 #include "SDL_config.h" |
0 | 23 |
24 #include "SDL_video.h" | |
25 #include "SDL_sysvideo.h" | |
26 | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1643
diff
changeset
|
27 /* This is the software implementation of the YUV texture support */ |
0 | 28 |
3257
94fb40a4a9a7
Merged Martin's code changes from Google Summer of Code 2009
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
29 struct SDL_SW_YUVTexture |
94fb40a4a9a7
Merged Martin's code changes from Google Summer of Code 2009
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
30 { |
94fb40a4a9a7
Merged Martin's code changes from Google Summer of Code 2009
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
31 Uint32 format; |
94fb40a4a9a7
Merged Martin's code changes from Google Summer of Code 2009
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
32 Uint32 target_format; |
94fb40a4a9a7
Merged Martin's code changes from Google Summer of Code 2009
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
33 int w, h; |
94fb40a4a9a7
Merged Martin's code changes from Google Summer of Code 2009
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
34 Uint8 *pixels; |
94fb40a4a9a7
Merged Martin's code changes from Google Summer of Code 2009
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
35 int *colortab; |
94fb40a4a9a7
Merged Martin's code changes from Google Summer of Code 2009
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
36 Uint32 *rgb_2_pix; |
94fb40a4a9a7
Merged Martin's code changes from Google Summer of Code 2009
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
37 void (*Display1X) (int *colortab, Uint32 * rgb_2_pix, |
94fb40a4a9a7
Merged Martin's code changes from Google Summer of Code 2009
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
38 unsigned char *lum, unsigned char *cr, |
94fb40a4a9a7
Merged Martin's code changes from Google Summer of Code 2009
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
39 unsigned char *cb, unsigned char *out, |
94fb40a4a9a7
Merged Martin's code changes from Google Summer of Code 2009
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
40 int rows, int cols, int mod); |
94fb40a4a9a7
Merged Martin's code changes from Google Summer of Code 2009
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
41 void (*Display2X) (int *colortab, Uint32 * rgb_2_pix, |
94fb40a4a9a7
Merged Martin's code changes from Google Summer of Code 2009
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
42 unsigned char *lum, unsigned char *cr, |
94fb40a4a9a7
Merged Martin's code changes from Google Summer of Code 2009
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
43 unsigned char *cb, unsigned char *out, |
94fb40a4a9a7
Merged Martin's code changes from Google Summer of Code 2009
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
44 int rows, int cols, int mod); |
94fb40a4a9a7
Merged Martin's code changes from Google Summer of Code 2009
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
45 |
94fb40a4a9a7
Merged Martin's code changes from Google Summer of Code 2009
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
46 /* These are just so we don't have to allocate them separately */ |
94fb40a4a9a7
Merged Martin's code changes from Google Summer of Code 2009
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
47 Uint16 pitches[3]; |
94fb40a4a9a7
Merged Martin's code changes from Google Summer of Code 2009
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
48 Uint8 *planes[3]; |
94fb40a4a9a7
Merged Martin's code changes from Google Summer of Code 2009
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
49 |
94fb40a4a9a7
Merged Martin's code changes from Google Summer of Code 2009
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
50 /* This is a temporary surface in case we have to stretch copy */ |
94fb40a4a9a7
Merged Martin's code changes from Google Summer of Code 2009
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
51 SDL_Surface *stretch; |
94fb40a4a9a7
Merged Martin's code changes from Google Summer of Code 2009
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
52 SDL_Surface *display; |
94fb40a4a9a7
Merged Martin's code changes from Google Summer of Code 2009
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
53 }; |
94fb40a4a9a7
Merged Martin's code changes from Google Summer of Code 2009
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
54 |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1643
diff
changeset
|
55 typedef struct SDL_SW_YUVTexture SDL_SW_YUVTexture; |
0 | 56 |
2781
5651642f4a78
Added software fallback for YUV overlay code when YUV textures aren't available.
Sam Lantinga <slouken@libsdl.org>
parents:
1895
diff
changeset
|
57 SDL_SW_YUVTexture *SDL_SW_CreateYUVTexture(Uint32 format, int w, int h); |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1643
diff
changeset
|
58 int SDL_SW_QueryYUVTexturePixels(SDL_SW_YUVTexture * swdata, void **pixels, |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1643
diff
changeset
|
59 int *pitch); |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1643
diff
changeset
|
60 int SDL_SW_UpdateYUVTexture(SDL_SW_YUVTexture * swdata, const SDL_Rect * rect, |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1643
diff
changeset
|
61 const void *pixels, int pitch); |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1643
diff
changeset
|
62 int SDL_SW_LockYUVTexture(SDL_SW_YUVTexture * swdata, const SDL_Rect * rect, |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1643
diff
changeset
|
63 int markDirty, void **pixels, int *pitch); |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1643
diff
changeset
|
64 void SDL_SW_UnlockYUVTexture(SDL_SW_YUVTexture * swdata); |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1643
diff
changeset
|
65 int SDL_SW_CopyYUVToRGB(SDL_SW_YUVTexture * swdata, const SDL_Rect * srcrect, |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1643
diff
changeset
|
66 Uint32 target_format, int w, int h, void *pixels, |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1643
diff
changeset
|
67 int pitch); |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1643
diff
changeset
|
68 void SDL_SW_DestroyYUVTexture(SDL_SW_YUVTexture * swdata); |
0 | 69 |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1643
diff
changeset
|
70 /* vi: set ts=4 sw=4 expandtab: */ |