Skip to content

Latest commit

 

History

History
131 lines (103 loc) · 3.92 KB

SDL_lowvideo.h

File metadata and controls

131 lines (103 loc) · 3.92 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 7, 2006
Mar 7, 2006
42
43
44
#ifndef GCLP_HICON
#define GCLP_HICON GCL_HICON
#endif
Mar 4, 2006
Mar 4, 2006
45
Feb 16, 2006
Feb 16, 2006
46
#include "../SDL_sysvideo.h"
Apr 26, 2001
Apr 26, 2001
47
48
49
50
/* Hidden "this" pointer for the video functions */
#define _THIS SDL_VideoDevice *this
Mar 10, 2002
Mar 10, 2002
51
52
#define WINDIB_FULLSCREEN() \
( \
Apr 10, 2002
Apr 10, 2002
53
SDL_VideoSurface && \
Mar 10, 2002
Mar 10, 2002
54
55
((SDL_VideoSurface->flags & SDL_FULLSCREEN) == SDL_FULLSCREEN) && \
(((SDL_VideoSurface->flags & SDL_OPENGL ) == SDL_OPENGL ) || \
Feb 7, 2006
Feb 7, 2006
56
57
((SDL_strcmp(this->name, "windib") == 0) || \
(SDL_strcmp(this->name, "gapi") == 0))) \
Mar 10, 2002
Mar 10, 2002
58
)
Apr 29, 2001
Apr 29, 2001
59
#define DDRAW_FULLSCREEN() \
Apr 26, 2001
Apr 26, 2001
60
( \
Apr 10, 2002
Apr 10, 2002
61
SDL_VideoSurface && \
Apr 26, 2001
Apr 26, 2001
62
63
((SDL_VideoSurface->flags & SDL_FULLSCREEN) == SDL_FULLSCREEN) && \
((SDL_VideoSurface->flags & SDL_OPENGL ) != SDL_OPENGL ) && \
Feb 7, 2006
Feb 7, 2006
64
(SDL_strcmp(this->name, "directx") == 0) \
Apr 26, 2001
Apr 26, 2001
65
66
)
Mar 31, 2002
Mar 31, 2002
67
#define DINPUT_FULLSCREEN() DDRAW_FULLSCREEN()
Apr 29, 2001
Apr 29, 2001
68
Apr 26, 2001
Apr 26, 2001
69
/* The main window -- and a function to set it for the audio */
Aug 20, 2002
Aug 20, 2002
70
71
72
73
74
#ifdef _WIN32_WCE
extern LPWSTR SDL_Appname;
#else
extern LPSTR SDL_Appname;
#endif
Apr 26, 2001
Apr 26, 2001
75
76
extern HINSTANCE SDL_Instance;
extern HWND SDL_Window;
Jan 29, 2006
Jan 29, 2006
77
extern BOOL SDL_windowid;
Apr 26, 2001
Apr 26, 2001
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
/* 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
100
101
102
103
/* The position of the window in windowed mode */
extern int SDL_windowX;
extern int SDL_windowY;
Apr 26, 2001
Apr 26, 2001
104
105
106
107
108
109
/* 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
110
111
/* The GDI fullscreen mode currently active */
#ifndef NO_CHANGEDISPLAYSETTINGS
Jan 30, 2006
Jan 30, 2006
112
extern DEVMODE SDL_desktop_mode;
Mar 10, 2002
Mar 10, 2002
113
114
115
extern DEVMODE SDL_fullscreen_mode;
#endif
Apr 11, 2002
Apr 11, 2002
116
117
118
/* The system gamma ramp for GDI modes */
extern WORD *gamma_saved;
Apr 26, 2001
Apr 26, 2001
119
120
121
/* This is really from SDL_dx5audio.c */
extern void DX5_SoundFocus(HWND window);
Aug 9, 2001
Aug 9, 2001
122
123
/* DJM: This is really from SDL_sysevents.c, we need it in
GDL_CreateWindow as well */
Mar 7, 2006
Mar 7, 2006
124
LRESULT CALLBACK WinMessage(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
Aug 9, 2001
Aug 9, 2001
125
Jan 19, 2006
Jan 19, 2006
126
127
128
129
130
/* 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
131
#endif /* SDL_lowvideo_h */