Skip to content

Latest commit

 

History

History
115 lines (88 loc) · 3.6 KB

SDL_lowvideo.h

File metadata and controls

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