Skip to content
This repository has been archived by the owner on Feb 11, 2021. It is now read-only.

Latest commit

 

History

History
137 lines (111 loc) · 3.58 KB

SDL_win32video.c

File metadata and controls

137 lines (111 loc) · 3.58 KB
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/*
SDL - Simple DirectMedia Layer
Copyright (C) 1997-2006 Sam Lantinga
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
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
Lesser General Public License for more details.
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
Sam Lantinga
slouken@libsdl.org
*/
#include "SDL_config.h"
#include "SDL_video.h"
#include "SDL_mouse.h"
#include "../SDL_sysvideo.h"
#include "../SDL_pixels_c.h"
#include "SDL_win32video.h"
#include "SDL_win32events.h"
#include "SDL_win32window.h"
/* Initialization/Query functions */
Jun 27, 2006
Jun 27, 2006
34
35
36
static int WIN_VideoInit(_THIS);
static int WIN_SetDisplayMode(_THIS, const SDL_DisplayMode * mode);
static void WIN_VideoQuit(_THIS);
37
38
39
40
/* WIN32 driver bootstrap functions */
static int
Jun 27, 2006
Jun 27, 2006
41
WIN_Available(void)
42
43
44
45
46
{
return (1);
}
static void
Jun 27, 2006
Jun 27, 2006
47
WIN_DeleteDevice(SDL_VideoDevice * device)
Jun 27, 2006
Jun 27, 2006
49
SDL_UnregisterApp();
50
51
52
53
54
SDL_free(device->hidden);
SDL_free(device);
}
static SDL_VideoDevice *
Jun 27, 2006
Jun 27, 2006
55
WIN_CreateDevice(int devindex)
56
57
58
{
SDL_VideoDevice *device;
Jun 27, 2006
Jun 27, 2006
59
60
SDL_RegisterApp(NULL, 0, NULL);
61
62
63
64
65
66
67
68
69
70
71
72
/* Initialize all variables that we clean on shutdown */
device = (SDL_VideoDevice *) SDL_malloc(sizeof(SDL_VideoDevice));
if (device) {
SDL_memset(device, 0, (sizeof *device));
device->hidden = (struct SDL_PrivateVideoData *)
SDL_malloc((sizeof *device->hidden));
}
if ((device == NULL) || (device->hidden == NULL)) {
SDL_OutOfMemory();
if (device) {
SDL_free(device);
}
Jun 27, 2006
Jun 27, 2006
73
return NULL;
74
75
76
77
}
SDL_memset(device->hidden, 0, (sizeof *device->hidden));
/* Set the function pointers */
Jun 27, 2006
Jun 27, 2006
78
79
80
81
device->VideoInit = WIN_VideoInit;
device->SetDisplayMode = WIN_SetDisplayMode;
device->VideoQuit = WIN_VideoQuit;
device->PumpEvents = WIN_PumpEvents;
82
83
#undef CreateWindow
Jun 27, 2006
Jun 27, 2006
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
device->CreateWindow = WIN_CreateWindow;
device->CreateWindowFrom = WIN_CreateWindowFrom;
device->SetWindowTitle = WIN_SetWindowTitle;
device->SetWindowPosition = WIN_SetWindowPosition;
device->SetWindowSize = WIN_SetWindowSize;
device->ShowWindow = WIN_ShowWindow;
device->HideWindow = WIN_HideWindow;
device->RaiseWindow = WIN_RaiseWindow;
device->MaximizeWindow = WIN_MaximizeWindow;
device->MinimizeWindow = WIN_MinimizeWindow;
device->RestoreWindow = WIN_RestoreWindow;
device->SetWindowGrab = WIN_SetWindowGrab;
device->DestroyWindow = WIN_DestroyWindow;
device->GetWindowWMInfo = WIN_GetWindowWMInfo;
device->free = WIN_DeleteDevice;
100
101
102
103
104
105
return device;
}
VideoBootStrap WIN32_bootstrap = {
"win32", "SDL Win32/64 video driver",
Jun 27, 2006
Jun 27, 2006
106
WIN_Available, WIN_CreateDevice
107
108
109
110
};
int
Jun 27, 2006
Jun 27, 2006
111
WIN_VideoInit(_THIS)
112
113
114
115
{
SDL_DisplayMode mode;
SDL_AddBasicVideoDisplay(NULL);
Jun 27, 2006
Jun 27, 2006
116
//SDL_AddRenderDriver(0, &SDL_WIN_RenderDriver);
117
118
119
120
121
122
123
124
125
SDL_zero(mode);
SDL_AddDisplayMode(0, &mode);
/* We're done! */
return 0;
}
static int
Jun 27, 2006
Jun 27, 2006
126
WIN_SetDisplayMode(_THIS, const SDL_DisplayMode * mode)
127
128
129
130
131
132
{
SDL_CurrentDisplay.current_mode = *mode;
return 0;
}
void
Jun 27, 2006
Jun 27, 2006
133
WIN_VideoQuit(_THIS)
134
135
136
137
{
}
/* vim: set ts=4 sw=4 expandtab: */