Mercurial > mplayer.hg
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"); |