comparison libvo/w32_common.c @ 22416:02783a09e1b3

Whitespace-only cosmetics: get rid of all remaining tabs
author reimar
date Sun, 04 Mar 2007 10:39:02 +0000
parents c36b8d705d08
children 8f95e2a3c797
comparison
equal deleted inserted replaced
22415:c36b8d705d08 22416:02783a09e1b3
40 40
41 static LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { 41 static LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) {
42 RECT r; 42 RECT r;
43 POINT p; 43 POINT p;
44 switch (message) { 44 switch (message) {
45 case WM_PAINT: 45 case WM_PAINT:
46 event_flags |= VO_EVENT_EXPOSE; 46 event_flags |= VO_EVENT_EXPOSE;
47 break; 47 break;
48 case WM_MOVE: 48 case WM_MOVE:
49 p.x = 0; 49 p.x = 0;
50 p.y = 0; 50 p.y = 0;
51 ClientToScreen(vo_window, &p); 51 ClientToScreen(vo_window, &p);
52 vo_dx = p.x; 52 vo_dx = p.x;
53 vo_dy = p.y; 53 vo_dy = p.y;
54 break; 54 break;
55 case WM_SIZE: 55 case WM_SIZE:
56 event_flags |= VO_EVENT_RESIZE; 56 event_flags |= VO_EVENT_RESIZE;
57 GetClientRect(vo_window, &r); 57 GetClientRect(vo_window, &r);
58 vo_dwidth = r.right; 58 vo_dwidth = r.right;
59 vo_dheight = r.bottom; 59 vo_dheight = r.bottom;
60 break; 60 break;
61 case WM_WINDOWPOSCHANGING: 61 case WM_WINDOWPOSCHANGING:
62 return 0; 62 return 0;
63 case WM_CLOSE: 63 case WM_CLOSE:
64 mplayer_put_key(KEY_CLOSE_WIN); 64 mplayer_put_key(KEY_CLOSE_WIN);
65 break; 65 break;
66 case WM_SYSCOMMAND: 66 case WM_SYSCOMMAND:
67 switch (wParam) { 67 switch (wParam) {
68 case SC_SCREENSAVE: 68 case SC_SCREENSAVE:
69 case SC_MONITORPOWER: 69 case SC_MONITORPOWER:
70 mp_msg(MSGT_VO, MSGL_V, "vo: win32: killing screensaver\n"); 70 mp_msg(MSGT_VO, MSGL_V, "vo: win32: killing screensaver\n");
71 return 0; 71 return 0;
72 } 72 }
73 break; 73 break;
74 case WM_KEYDOWN: 74 case WM_KEYDOWN:
75 switch (wParam) { 75 switch (wParam) {
76 case VK_LEFT: mplayer_put_key(KEY_LEFT); break; 76 case VK_LEFT: mplayer_put_key(KEY_LEFT); break;
77 case VK_UP: mplayer_put_key(KEY_UP); break; 77 case VK_UP: mplayer_put_key(KEY_UP); break;
78 case VK_RIGHT: mplayer_put_key(KEY_RIGHT); break; 78 case VK_RIGHT: mplayer_put_key(KEY_RIGHT); break;
79 case VK_DOWN: mplayer_put_key(KEY_DOWN); break; 79 case VK_DOWN: mplayer_put_key(KEY_DOWN); break;
80 case VK_TAB: mplayer_put_key(KEY_TAB); break; 80 case VK_TAB: mplayer_put_key(KEY_TAB); break;
81 case VK_CONTROL: mplayer_put_key(KEY_CTRL); break; 81 case VK_CONTROL: mplayer_put_key(KEY_CTRL); break;
82 case VK_BACK: mplayer_put_key(KEY_BS); break; 82 case VK_BACK: mplayer_put_key(KEY_BS); break;
83 case VK_DELETE: mplayer_put_key(KEY_DELETE); break; 83 case VK_DELETE: mplayer_put_key(KEY_DELETE); break;
84 case VK_INSERT: mplayer_put_key(KEY_INSERT); break; 84 case VK_INSERT: mplayer_put_key(KEY_INSERT); break;
85 case VK_HOME: mplayer_put_key(KEY_HOME); break; 85 case VK_HOME: mplayer_put_key(KEY_HOME); break;
86 case VK_END: mplayer_put_key(KEY_END); break; 86 case VK_END: mplayer_put_key(KEY_END); break;
87 case VK_PRIOR: mplayer_put_key(KEY_PAGE_UP); break; 87 case VK_PRIOR: mplayer_put_key(KEY_PAGE_UP); break;
88 case VK_NEXT: mplayer_put_key(KEY_PAGE_DOWN); break; 88 case VK_NEXT: mplayer_put_key(KEY_PAGE_DOWN); break;
89 case VK_ESCAPE: mplayer_put_key(KEY_ESC); break; 89 case VK_ESCAPE: mplayer_put_key(KEY_ESC); break;
90 } 90 }
91 break; 91 break;
92 case WM_CHAR: 92 case WM_CHAR:
93 mplayer_put_key(wParam); 93 mplayer_put_key(wParam);
94 break; 94 break;
95 case WM_LBUTTONDOWN: 95 case WM_LBUTTONDOWN:
96 if (!vo_nomouse_input && (vo_fs || (wParam & MK_CONTROL))) { 96 if (!vo_nomouse_input && (vo_fs || (wParam & MK_CONTROL))) {
97 mplayer_put_key(MOUSE_BTN0); 97 mplayer_put_key(MOUSE_BTN0);
98 break; 98 break;
99 } 99 }
100 if (!vo_fs) { 100 if (!vo_fs) {
101 ReleaseCapture(); 101 ReleaseCapture();
102 SendMessage(hWnd, WM_NCLBUTTONDOWN, HTCAPTION, 0); 102 SendMessage(hWnd, WM_NCLBUTTONDOWN, HTCAPTION, 0);
103 return 0; 103 return 0;
104 } 104 }
105 break; 105 break;
106 case WM_MBUTTONDOWN: 106 case WM_MBUTTONDOWN:
107 if (!vo_nomouse_input) 107 if (!vo_nomouse_input)
108 mplayer_put_key(MOUSE_BTN1); 108 mplayer_put_key(MOUSE_BTN1);
109 break; 109 break;
110 case WM_RBUTTONDOWN: 110 case WM_RBUTTONDOWN:
111 if (!vo_nomouse_input) 111 if (!vo_nomouse_input)
112 mplayer_put_key(MOUSE_BTN2); 112 mplayer_put_key(MOUSE_BTN2);
113 break; 113 break;
114 case WM_MOUSEWHEEL: 114 case WM_MOUSEWHEEL:
115 if (!vo_nomouse_input) { 115 if (!vo_nomouse_input) {
116 int x = GET_WHEEL_DELTA_WPARAM(wParam); 116 int x = GET_WHEEL_DELTA_WPARAM(wParam);
117 if (x > 0) 117 if (x > 0)
118 mplayer_put_key(MOUSE_BTN3); 118 mplayer_put_key(MOUSE_BTN3);
119 else 119 else
120 mplayer_put_key(MOUSE_BTN4); 120 mplayer_put_key(MOUSE_BTN4);
121 break; 121 break;
122 } 122 }
123 } 123 }
124 124
125 return DefWindowProc(hWnd, message, wParam, lParam); 125 return DefWindowProc(hWnd, message, wParam, lParam);
126 } 126 }
127 127
128 int vo_w32_check_events(void) { 128 int vo_w32_check_events(void) {
129 MSG msg; 129 MSG msg;
130 event_flags = 0; 130 event_flags = 0;
131 while (PeekMessage(&msg, 0, 0, 0, PM_REMOVE)) { 131 while (PeekMessage(&msg, 0, 0, 0, PM_REMOVE)) {
132 TranslateMessage(&msg); 132 TranslateMessage(&msg);
133 DispatchMessage(&msg); 133 DispatchMessage(&msg);
134 } 134 }
135 if (WinID >= 0) { 135 if (WinID >= 0) {
136 RECT r; 136 RECT r;
137 GetClientRect(vo_window, &r); 137 GetClientRect(vo_window, &r);
138 if (r.right != vo_dwidth || r.bottom != vo_dheight) 138 if (r.right != vo_dwidth || r.bottom != vo_dheight)
186 DEVMODE dm; 186 DEVMODE dm;
187 dm.dmSize = sizeof dm; 187 dm.dmSize = sizeof dm;
188 dm.dmDriverExtra = 0; 188 dm.dmDriverExtra = 0;
189 dm.dmFields = DM_BITSPERPEL | DM_PELSWIDTH | DM_PELSHEIGHT; 189 dm.dmFields = DM_BITSPERPEL | DM_PELSWIDTH | DM_PELSHEIGHT;
190 if (!EnumDisplaySettings(0, ENUM_CURRENT_SETTINGS, &dm)) { 190 if (!EnumDisplaySettings(0, ENUM_CURRENT_SETTINGS, &dm)) {
191 mp_msg(MSGT_VO, MSGL_ERR, "vo: win32: unable to enumerate display settings!\n"); 191 mp_msg(MSGT_VO, MSGL_ERR, "vo: win32: unable to enumerate display settings!\n");
192 return; 192 return;
193 } 193 }
194 194
195 vo_screenwidth = dm.dmPelsWidth; 195 vo_screenwidth = dm.dmPelsWidth;
196 vo_screenheight = dm.dmPelsHeight; 196 vo_screenheight = dm.dmPelsHeight;
197 vo_depthonscreen = dm.dmBitsPerPel; 197 vo_depthonscreen = dm.dmBitsPerPel;
207 dm.dmBitsPerPel = vo_depthonscreen; 207 dm.dmBitsPerPel = vo_depthonscreen;
208 dm.dmPelsWidth = vo_screenwidth; 208 dm.dmPelsWidth = vo_screenwidth;
209 dm.dmPelsHeight = vo_screenheight; 209 dm.dmPelsHeight = vo_screenheight;
210 210
211 if (vo_vm) { 211 if (vo_vm) {
212 int bestMode = -1; 212 int bestMode = -1;
213 int bestScore = INT_MAX; 213 int bestScore = INT_MAX;
214 int i; 214 int i;
215 for (i = 0; EnumDisplaySettings(0, i, &dm); ++i) { 215 for (i = 0; EnumDisplaySettings(0, i, &dm); ++i) {
216 int score = (dm.dmPelsWidth - o_dwidth) * (dm.dmPelsHeight - o_dheight); 216 int score = (dm.dmPelsWidth - o_dwidth) * (dm.dmPelsHeight - o_dheight);
217 if (dm.dmBitsPerPel != vo_depthonscreen) continue; 217 if (dm.dmBitsPerPel != vo_depthonscreen) continue;
218 if (dm.dmPelsWidth < o_dwidth) continue; 218 if (dm.dmPelsWidth < o_dwidth) continue;
219 if (dm.dmPelsHeight < o_dheight) continue; 219 if (dm.dmPelsHeight < o_dheight) continue;
220 220
221 if (score < bestScore) { 221 if (score < bestScore) {
222 bestScore = score; 222 bestScore = score;
223 bestMode = i; 223 bestMode = i;
224 } 224 }
225 } 225 }
226 226
227 if (bestMode != -1) 227 if (bestMode != -1)
228 EnumDisplaySettings(0, bestMode, &dm); 228 EnumDisplaySettings(0, bestMode, &dm);
229 229
230 ChangeDisplaySettings(&dm, CDS_FULLSCREEN); 230 ChangeDisplaySettings(&dm, CDS_FULLSCREEN);
231 } 231 }
232 } 232 }
233 233
245 int style = (vo_border && !vo_fs) ? 245 int style = (vo_border && !vo_fs) ?
246 (WS_OVERLAPPEDWINDOW | WS_SIZEBOX) : WS_POPUP; 246 (WS_OVERLAPPEDWINDOW | WS_SIZEBOX) : WS_POPUP;
247 247
248 if (vo_fs || vo_ontop) layer = HWND_TOPMOST; 248 if (vo_fs || vo_ontop) layer = HWND_TOPMOST;
249 if (vo_fs) { 249 if (vo_fs) {
250 changeMode(); 250 changeMode();
251 while (ShowCursor(0) >= 0) /**/ ; 251 while (ShowCursor(0) >= 0) /**/ ;
252 } else { 252 } else {
253 resetMode(); 253 resetMode();
254 while (ShowCursor(1) < 0) /**/ ; 254 while (ShowCursor(1) < 0) /**/ ;
255 } 255 }
256 updateScreenProperties(); 256 updateScreenProperties();
257 ShowWindow(vo_window, SW_HIDE); 257 ShowWindow(vo_window, SW_HIDE);
258 SetWindowLong(vo_window, GWL_STYLE, style); 258 SetWindowLong(vo_window, GWL_STYLE, style);
259 if (vo_fs) { 259 if (vo_fs) {
291 pfd.iPixelType = PFD_TYPE_RGBA; 291 pfd.iPixelType = PFD_TYPE_RGBA;
292 pfd.cColorBits = 24; 292 pfd.cColorBits = 24;
293 pfd.iLayerType = PFD_MAIN_PLANE; 293 pfd.iLayerType = PFD_MAIN_PLANE;
294 pf = ChoosePixelFormat(vo_hdc, &pfd); 294 pf = ChoosePixelFormat(vo_hdc, &pfd);
295 if (!pf) { 295 if (!pf) {
296 mp_msg(MSGT_VO, MSGL_ERR, "vo: win32: unable to select a valid pixel format!\n"); 296 mp_msg(MSGT_VO, MSGL_ERR, "vo: win32: unable to select a valid pixel format!\n");
297 return 0; 297 return 0;
298 } 298 }
299 299
300 SetPixelFormat(vo_hdc, pf, &pfd); 300 SetPixelFormat(vo_hdc, pf, &pfd);
301 301
302 mp_msg(MSGT_VO, MSGL_V, "vo: win32: running at %dx%d with depth %d\n", vo_screenwidth, vo_screenheight, vo_depthonscreen); 302 mp_msg(MSGT_VO, MSGL_V, "vo: win32: running at %dx%d with depth %d\n", vo_screenwidth, vo_screenheight, vo_depthonscreen);
318 vo_vm = flags & VOFLAG_MODESWITCHING; 318 vo_vm = flags & VOFLAG_MODESWITCHING;
319 return createRenderingContext(); 319 return createRenderingContext();
320 } 320 }
321 321
322 int vo_w32_init(void) { 322 int vo_w32_init(void) {
323 HICON mplayerIcon = 0; 323 HICON mplayerIcon = 0;
324 char exedir[MAX_PATH]; 324 char exedir[MAX_PATH];
325 HINSTANCE user32; 325 HINSTANCE user32;
326 326
327 if (vo_window) 327 if (vo_window)
328 return 1; 328 return 1;
329 329
330 hInstance = GetModuleHandle(0); 330 hInstance = GetModuleHandle(0);
331 331
332 if (GetModuleFileName(0, exedir, MAX_PATH)) 332 if (GetModuleFileName(0, exedir, MAX_PATH))
333 mplayerIcon = ExtractIcon(hInstance, exedir, 0); 333 mplayerIcon = ExtractIcon(hInstance, exedir, 0);
334 if (!mplayerIcon) 334 if (!mplayerIcon)
335 mplayerIcon = LoadIcon(0, IDI_APPLICATION); 335 mplayerIcon = LoadIcon(0, IDI_APPLICATION);
336 336
337 { 337 {
338 WNDCLASSEX wcex = { sizeof wcex, CS_OWNDC, WndProc, 0, 0, hInstance, mplayerIcon, LoadCursor(0, IDC_ARROW), (HBRUSH)GetStockObject(BLACK_BRUSH), 0, classname, mplayerIcon }; 338 WNDCLASSEX wcex = { sizeof wcex, CS_OWNDC, WndProc, 0, 0, hInstance, mplayerIcon, LoadCursor(0, IDC_ARROW), (HBRUSH)GetStockObject(BLACK_BRUSH), 0, classname, mplayerIcon };
339 339
340 if (!RegisterClassEx(&wcex)) { 340 if (!RegisterClassEx(&wcex)) {
341 mp_msg(MSGT_VO, MSGL_ERR, "vo: win32: unable to register window class!\n"); 341 mp_msg(MSGT_VO, MSGL_ERR, "vo: win32: unable to register window class!\n");
342 return 0; 342 return 0;
343 } 343 }
344 } 344 }
345 345
346 if (WinID >= 0) 346 if (WinID >= 0)
347 vo_window = WinID; 347 vo_window = WinID;
348 else { 348 else {
349 vo_window = CreateWindowEx(0, classname, classname, 349 vo_window = CreateWindowEx(0, classname, classname,
350 vo_border ? (WS_OVERLAPPEDWINDOW | WS_SIZEBOX) : WS_POPUP, 350 vo_border ? (WS_OVERLAPPEDWINDOW | WS_SIZEBOX) : WS_POPUP,
351 CW_USEDEFAULT, 0, 100, 100, 0, 0, hInstance, 0); 351 CW_USEDEFAULT, 0, 100, 100, 0, 0, hInstance, 0);
352 if (!vo_window) { 352 if (!vo_window) {
353 mp_msg(MSGT_VO, MSGL_ERR, "vo: win32: unable to create window!\n"); 353 mp_msg(MSGT_VO, MSGL_ERR, "vo: win32: unable to create window!\n");
354 return 0; 354 return 0;
355 } 355 }
356 } 356 }
357 357
358 vo_hdc = GetDC(vo_window); 358 vo_hdc = GetDC(vo_window);
359 359
384 384
385 void vo_w32_ontop( void ) 385 void vo_w32_ontop( void )
386 { 386 {
387 vo_ontop = !vo_ontop; 387 vo_ontop = !vo_ontop;
388 if (!vo_fs) { 388 if (!vo_fs) {
389 HWND layer = HWND_NOTOPMOST; 389 HWND layer = HWND_NOTOPMOST;
390 if (vo_ontop) layer = HWND_TOPMOST; 390 if (vo_ontop) layer = HWND_TOPMOST;
391 SetWindowPos(vo_window, layer, (vo_screenwidth - vo_dwidth) / 2, (vo_screenheight - vo_dheight) / 2, vo_dwidth, vo_dheight, SWP_SHOWWINDOW); 391 SetWindowPos(vo_window, layer, (vo_screenwidth - vo_dwidth) / 2, (vo_screenheight - vo_dheight) / 2, vo_dwidth, vo_dheight, SWP_SHOWWINDOW);
392 } 392 }
393 } 393 }
394 394
395 void vo_w32_uninit() { 395 void vo_w32_uninit() {
396 mp_msg(MSGT_VO, MSGL_V, "vo: win32: uninit\n"); 396 mp_msg(MSGT_VO, MSGL_V, "vo: win32: uninit\n");