Mercurial > sdl-ios-xcode
annotate src/audio/windx5/directx.h @ 4590:1ad70fb49fcb
Fix so many things that there is little place in this column to list them all but the result is that blending modes just work now for drawing primitives.
Fixes involved:
1. Fix handling of alpha channel when SDL_BLENDMODE_NONE is set.
2. Make xrendercolor use floating-point values for color channels and then convert to 16 bit ints.
3. Fix handling of visuals in SDL_x11modes.c so that a 32 bit ARGB visual is used.
4. Fix the background pixel value in SDL_x11window.c so that the window background has an alpha value of 0xFF and not 0.
author | Sunny Sachanandani <sunnysachanandani@gmail.com> |
---|---|
date | Fri, 09 Jul 2010 21:36:41 +0530 |
parents | 1bceff8f008f |
children | 80277d92551b |
rev | line source |
---|---|
1274
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
1 |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
2 #ifndef _directx_h |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
3 #define _directx_h |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
4 |
4426 | 5 #ifdef __GNUC__ |
6 #define NONAMELESSUNION | |
7 #endif | |
8 | |
1274
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
9 /* Include all of the DirectX 5.0 headers and adds any necessary tweaks */ |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
10 |
1433
bb6839704ed6
SDL_windows.h is no longer necessary
Sam Lantinga <slouken@libsdl.org>
parents:
1330
diff
changeset
|
11 #define WIN32_LEAN_AND_MEAN |
bb6839704ed6
SDL_windows.h is no longer necessary
Sam Lantinga <slouken@libsdl.org>
parents:
1330
diff
changeset
|
12 #include <windows.h> |
1274
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
13 #include <mmsystem.h> |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
14 #ifndef WIN32 |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
15 #define WIN32 |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
16 #endif |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
17 #undef WINNT |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
18 |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
19 /* Far pointers don't exist in 32-bit code */ |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
20 #ifndef FAR |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
21 #define FAR |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
22 #endif |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
23 |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
24 /* Error codes not yet included in Win32 API header files */ |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
25 #ifndef MAKE_HRESULT |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
26 #define MAKE_HRESULT(sev,fac,code) \ |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
27 ((HRESULT)(((unsigned long)(sev)<<31) | ((unsigned long)(fac)<<16) | ((unsigned long)(code)))) |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
28 #endif |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
29 |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
30 #ifndef S_OK |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
31 #define S_OK (HRESULT)0x00000000L |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
32 #endif |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
33 |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
34 #ifndef SUCCEEDED |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
35 #define SUCCEEDED(x) ((HRESULT)(x) >= 0) |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
36 #endif |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
37 #ifndef FAILED |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
38 #define FAILED(x) ((HRESULT)(x)<0) |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
39 #endif |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
40 |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
41 #ifndef E_FAIL |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
42 #define E_FAIL (HRESULT)0x80000008L |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
43 #endif |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
44 #ifndef E_NOINTERFACE |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
45 #define E_NOINTERFACE (HRESULT)0x80004002L |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
46 #endif |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
47 #ifndef E_OUTOFMEMORY |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
48 #define E_OUTOFMEMORY (HRESULT)0x8007000EL |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
49 #endif |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
50 #ifndef E_INVALIDARG |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
51 #define E_INVALIDARG (HRESULT)0x80070057L |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
52 #endif |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
53 #ifndef E_NOTIMPL |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
54 #define E_NOTIMPL (HRESULT)0x80004001L |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
55 #endif |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
56 #ifndef REGDB_E_CLASSNOTREG |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
57 #define REGDB_E_CLASSNOTREG (HRESULT)0x80040154L |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
58 #endif |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
59 |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
60 /* Severity codes */ |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
61 #ifndef SEVERITY_ERROR |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
62 #define SEVERITY_ERROR 1 |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
63 #endif |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
64 |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
65 /* Error facility codes */ |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
66 #ifndef FACILITY_WIN32 |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
67 #define FACILITY_WIN32 7 |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
68 #endif |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
69 |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
70 #ifndef FIELD_OFFSET |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
71 #define FIELD_OFFSET(type, field) ((LONG)&(((type *)0)->field)) |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
72 #endif |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
73 |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
74 /* DirectX headers (if it isn't included, I haven't tested it yet) |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
75 */ |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
76 /* We need these defines to mark what version of DirectX API we use */ |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
77 #define DIRECTDRAW_VERSION 0x0700 |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
78 #define DIRECTSOUND_VERSION 0x0500 |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
79 #define DIRECTINPUT_VERSION 0x0500 |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
80 |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
81 #include <ddraw.h> |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
82 #include <dsound.h> |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
83 #include <dinput.h> |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
84 |
4726fa79ede1
Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
85 #endif /* _directx_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:
1433
diff
changeset
|
86 /* vi: set ts=4 sw=4 expandtab: */ |