Skip to content

Latest commit

 

History

History
128 lines (100 loc) · 3.86 KB

SDL_lowvideo.h

File metadata and controls

128 lines (100 loc) · 3.86 KB
 
Apr 26, 2001
Apr 26, 2001
1
2
/*
SDL - Simple DirectMedia Layer
Feb 1, 2006
Feb 1, 2006
3
Copyright (C) 1997-2006 Sam Lantinga
Apr 26, 2001
Apr 26, 2001
4
5
This library is free software; you can redistribute it and/or
Feb 1, 2006
Feb 1, 2006
6
modify it under the terms of the GNU Lesser General Public
Apr 26, 2001
Apr 26, 2001
7
License as published by the Free Software Foundation; either
Feb 1, 2006
Feb 1, 2006
8
version 2.1 of the License, or (at your option) any later version.
Apr 26, 2001
Apr 26, 2001
9
10
11
12
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Feb 1, 2006
Feb 1, 2006
13
Lesser General Public License for more details.
Apr 26, 2001
Apr 26, 2001
14
Feb 1, 2006
Feb 1, 2006
15
16
17
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Apr 26, 2001
Apr 26, 2001
18
19
Sam Lantinga
Dec 14, 2001
Dec 14, 2001
20
slouken@libsdl.org
Apr 26, 2001
Apr 26, 2001
21
*/
Feb 21, 2006
Feb 21, 2006
22
#include "SDL_config.h"
Apr 26, 2001
Apr 26, 2001
23
24
25
26
#ifndef _SDL_lowvideo_h
#define _SDL_lowvideo_h
Feb 25, 2006
Feb 25, 2006
27
28
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
Apr 26, 2001
Apr 26, 2001
29
Mar 4, 2006
Mar 4, 2006
30
31
32
33
34
35
36
37
38
#ifndef SetClassLongPtr
#define SetClassLongPtr SetClassLong
#endif
#ifndef GetWindowLongPtr
#define GetWindowLongPtr GetWindowLong
#endif
#ifndef SetWindowLongPtr
#define SetWindowLongPtr SetWindowLong
#endif
Mar 6, 2006
Mar 6, 2006
39
40
41
#ifndef GWLP_WNDPROC
#define GWLP_WNDPROC GWL_WNDPROC
#endif
Mar 4, 2006
Mar 4, 2006
42
Feb 16, 2006
Feb 16, 2006
43
#include "../SDL_sysvideo.h"
Apr 26, 2001
Apr 26, 2001
44
45
46
47
/* Hidden "this" pointer for the video functions */
#define _THIS SDL_VideoDevice *this
Mar 10, 2002
Mar 10, 2002
48
49
#define WINDIB_FULLSCREEN() \
( \
Apr 10, 2002
Apr 10, 2002
50
SDL_VideoSurface && \
Mar 10, 2002
Mar 10, 2002
51
52
((SDL_VideoSurface->flags & SDL_FULLSCREEN) == SDL_FULLSCREEN) && \
(((SDL_VideoSurface->flags & SDL_OPENGL ) == SDL_OPENGL ) || \
Feb 7, 2006
Feb 7, 2006
53
54
((SDL_strcmp(this->name, "windib") == 0) || \
(SDL_strcmp(this->name, "gapi") == 0))) \
Mar 10, 2002
Mar 10, 2002
55
)
Apr 29, 2001
Apr 29, 2001
56
#define DDRAW_FULLSCREEN() \
Apr 26, 2001
Apr 26, 2001
57
( \
Apr 10, 2002
Apr 10, 2002
58
SDL_VideoSurface && \
Apr 26, 2001
Apr 26, 2001
59
60
((SDL_VideoSurface->flags & SDL_FULLSCREEN) == SDL_FULLSCREEN) && \
((SDL_VideoSurface->flags & SDL_OPENGL ) != SDL_OPENGL ) && \
Feb 7, 2006
Feb 7, 2006
61
(SDL_strcmp(this->name, "directx") == 0) \
Apr 26, 2001
Apr 26, 2001
62
63
)
Mar 31, 2002
Mar 31, 2002
64
#define DINPUT_FULLSCREEN() DDRAW_FULLSCREEN()
Apr 29, 2001
Apr 29, 2001
65
Apr 26, 2001
Apr 26, 2001
66
/* The main window -- and a function to set it for the audio */
Aug 20, 2002
Aug 20, 2002
67
68
69
70
71
#ifdef _WIN32_WCE
extern LPWSTR SDL_Appname;
#else
extern LPSTR SDL_Appname;
#endif
Apr 26, 2001
Apr 26, 2001
72
73
extern HINSTANCE SDL_Instance;
extern HWND SDL_Window;
Jan 29, 2006
Jan 29, 2006
74
extern BOOL SDL_windowid;
Apr 26, 2001
Apr 26, 2001
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
/* Variables and functions exported to other parts of the native video
subsystem (SDL_sysevents.c)
*/
/* Called by windows message loop when system palette is available */
extern void (*WIN_RealizePalette)(_THIS);
/* Called by windows message loop when the system palette changes */
extern void (*WIN_PaletteChanged)(_THIS, HWND window);
/* Called by windows message loop when a portion of the screen needs update */
extern void (*WIN_WinPAINT)(_THIS, HDC hdc);
/* Called by windows message loop when the message isn't handled */
extern LONG (*HandleMessage)(_THIS, HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
/* The window cursor (from SDL_sysmouse.c) */
extern HCURSOR SDL_hcursor;
/* The bounds of the window in screen coordinates */
extern RECT SDL_bounds;
Feb 16, 2004
Feb 16, 2004
97
98
99
100
/* The position of the window in windowed mode */
extern int SDL_windowX;
extern int SDL_windowY;
Apr 26, 2001
Apr 26, 2001
101
102
103
104
105
106
/* Flag -- SDL is performing a resize, rather than the user */
extern int SDL_resizing;
/* Flag -- the mouse is in relative motion mode */
extern int mouse_relative;
Mar 10, 2002
Mar 10, 2002
107
108
/* The GDI fullscreen mode currently active */
#ifndef NO_CHANGEDISPLAYSETTINGS
Jan 30, 2006
Jan 30, 2006
109
extern DEVMODE SDL_desktop_mode;
Mar 10, 2002
Mar 10, 2002
110
111
112
extern DEVMODE SDL_fullscreen_mode;
#endif
Apr 11, 2002
Apr 11, 2002
113
114
115
/* The system gamma ramp for GDI modes */
extern WORD *gamma_saved;
Apr 26, 2001
Apr 26, 2001
116
117
118
/* This is really from SDL_dx5audio.c */
extern void DX5_SoundFocus(HWND window);
Aug 9, 2001
Aug 9, 2001
119
120
121
122
/* DJM: This is really from SDL_sysevents.c, we need it in
GDL_CreateWindow as well */
LONG CALLBACK WinMessage(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
Jan 19, 2006
Jan 19, 2006
123
124
125
126
127
/* JFP: Implementation of ToUnicode() that works on 9x/ME/2K/XP */
typedef int (WINAPI *ToUnicodeFN)(UINT, UINT, PBYTE, LPWSTR, int, UINT);
extern ToUnicodeFN SDL_ToUnicode;
Apr 26, 2001
Apr 26, 2001
128
#endif /* SDL_lowvideo_h */