Skip to content

Latest commit

 

History

History
113 lines (86 loc) · 3.54 KB

SDL_lowvideo.h

File metadata and controls

113 lines (86 loc) · 3.54 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
22
23
24
25
*/
#ifndef _SDL_lowvideo_h
#define _SDL_lowvideo_h
Feb 6, 2006
Feb 6, 2006
26
#include "SDL_windows.h"
Apr 26, 2001
Apr 26, 2001
27
28
29
30
31
32
#include "SDL_sysvideo.h"
/* Hidden "this" pointer for the video functions */
#define _THIS SDL_VideoDevice *this
Mar 10, 2002
Mar 10, 2002
33
34
#define WINDIB_FULLSCREEN() \
( \
Apr 10, 2002
Apr 10, 2002
35
SDL_VideoSurface && \
Mar 10, 2002
Mar 10, 2002
36
37
((SDL_VideoSurface->flags & SDL_FULLSCREEN) == SDL_FULLSCREEN) && \
(((SDL_VideoSurface->flags & SDL_OPENGL ) == SDL_OPENGL ) || \
Jan 19, 2006
Jan 19, 2006
38
39
((strcmp(this->name, "windib") == 0) || \
(strcmp(this->name, "gapi") == 0))) \
Mar 10, 2002
Mar 10, 2002
40
)
Apr 29, 2001
Apr 29, 2001
41
#define DDRAW_FULLSCREEN() \
Apr 26, 2001
Apr 26, 2001
42
( \
Apr 10, 2002
Apr 10, 2002
43
SDL_VideoSurface && \
Apr 26, 2001
Apr 26, 2001
44
45
46
47
48
((SDL_VideoSurface->flags & SDL_FULLSCREEN) == SDL_FULLSCREEN) && \
((SDL_VideoSurface->flags & SDL_OPENGL ) != SDL_OPENGL ) && \
(strcmp(this->name, "directx") == 0) \
)
Mar 31, 2002
Mar 31, 2002
49
#define DINPUT_FULLSCREEN() DDRAW_FULLSCREEN()
Apr 29, 2001
Apr 29, 2001
50
Apr 26, 2001
Apr 26, 2001
51
/* The main window -- and a function to set it for the audio */
Aug 20, 2002
Aug 20, 2002
52
53
54
55
56
#ifdef _WIN32_WCE
extern LPWSTR SDL_Appname;
#else
extern LPSTR SDL_Appname;
#endif
Apr 26, 2001
Apr 26, 2001
57
58
extern HINSTANCE SDL_Instance;
extern HWND SDL_Window;
Jan 29, 2006
Jan 29, 2006
59
extern BOOL SDL_windowid;
Apr 26, 2001
Apr 26, 2001
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
/* 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
82
83
84
85
/* The position of the window in windowed mode */
extern int SDL_windowX;
extern int SDL_windowY;
Apr 26, 2001
Apr 26, 2001
86
87
88
89
90
91
/* 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
92
93
/* The GDI fullscreen mode currently active */
#ifndef NO_CHANGEDISPLAYSETTINGS
Jan 30, 2006
Jan 30, 2006
94
extern DEVMODE SDL_desktop_mode;
Mar 10, 2002
Mar 10, 2002
95
96
97
extern DEVMODE SDL_fullscreen_mode;
#endif
Apr 11, 2002
Apr 11, 2002
98
99
100
/* The system gamma ramp for GDI modes */
extern WORD *gamma_saved;
Apr 26, 2001
Apr 26, 2001
101
102
103
/* This is really from SDL_dx5audio.c */
extern void DX5_SoundFocus(HWND window);
Aug 9, 2001
Aug 9, 2001
104
105
106
107
/* 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
108
109
110
111
112
/* 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
113
#endif /* SDL_lowvideo_h */