Mercurial > mplayer.hg
annotate libvo/vo_quartz.c @ 29530:4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
author | reimar |
---|---|
date | Fri, 28 Aug 2009 08:36:51 +0000 |
parents | 2a3b942fce09 |
children | 6bd4c0c77eab |
rev | line source |
---|---|
28446
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28122
diff
changeset
|
1 /* |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28122
diff
changeset
|
2 * This file is part of MPlayer. |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28122
diff
changeset
|
3 * |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28122
diff
changeset
|
4 * MPlayer is free software; you can redistribute it and/or modify |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28122
diff
changeset
|
5 * it under the terms of the GNU General Public License as published by |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28122
diff
changeset
|
6 * the Free Software Foundation; either version 2 of the License, or |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28122
diff
changeset
|
7 * (at your option) any later version. |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28122
diff
changeset
|
8 * |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28122
diff
changeset
|
9 * MPlayer is distributed in the hope that it will be useful, |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28122
diff
changeset
|
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28122
diff
changeset
|
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28122
diff
changeset
|
12 * GNU General Public License for more details. |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28122
diff
changeset
|
13 * |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28122
diff
changeset
|
14 * You should have received a copy of the GNU General Public License along |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28122
diff
changeset
|
15 * with MPlayer; if not, write to the Free Software Foundation, Inc., |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28122
diff
changeset
|
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28122
diff
changeset
|
17 */ |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28122
diff
changeset
|
18 |
27990
a5755165051a
Use doxygen-style comments in file header. Remove tabs usage.
gpoirier
parents:
27989
diff
changeset
|
19 /** |
a5755165051a
Use doxygen-style comments in file header. Remove tabs usage.
gpoirier
parents:
27989
diff
changeset
|
20 \author Nicolas Plourde <nicolasplourde@gmail.com> |
27989 | 21 |
27990
a5755165051a
Use doxygen-style comments in file header. Remove tabs usage.
gpoirier
parents:
27989
diff
changeset
|
22 Copyright (c) Nicolas Plourde - April 2004 |
27989 | 23 |
27990
a5755165051a
Use doxygen-style comments in file header. Remove tabs usage.
gpoirier
parents:
27989
diff
changeset
|
24 YUV support Copyright (C) 2004 Romain Dolbeau <romain@dolbeau.org> |
12414 | 25 |
27990
a5755165051a
Use doxygen-style comments in file header. Remove tabs usage.
gpoirier
parents:
27989
diff
changeset
|
26 \brief MPlayer Mac OSX Quartz video out module. |
27989 | 27 |
27990
a5755165051a
Use doxygen-style comments in file header. Remove tabs usage.
gpoirier
parents:
27989
diff
changeset
|
28 \todo: -screen overlay output |
a5755165051a
Use doxygen-style comments in file header. Remove tabs usage.
gpoirier
parents:
27989
diff
changeset
|
29 -fit osd in black bar when available |
a5755165051a
Use doxygen-style comments in file header. Remove tabs usage.
gpoirier
parents:
27989
diff
changeset
|
30 -fix RGB32 |
a5755165051a
Use doxygen-style comments in file header. Remove tabs usage.
gpoirier
parents:
27989
diff
changeset
|
31 -(add sugestion here) |
a5755165051a
Use doxygen-style comments in file header. Remove tabs usage.
gpoirier
parents:
27989
diff
changeset
|
32 */ |
12120 | 33 |
34 //SYS | |
35 #include <stdio.h> | |
36 | |
37 //OSX | |
38 #include <Carbon/Carbon.h> | |
12414 | 39 #include <QuickTime/QuickTime.h> |
12120 | 40 |
41 //MPLAYER | |
42 #include "config.h" | |
12414 | 43 #include "fastmemcpy.h" |
12120 | 44 #include "video_out.h" |
45 #include "video_out_internal.h" | |
46 #include "aspect.h" | |
12414 | 47 #include "mp_msg.h" |
48 #include "m_option.h" | |
22823
98eaf29b5dee
Code cleanup: don't include a .c file in mplayer.c and fix a few
rathann
parents:
21396
diff
changeset
|
49 #include "mp_fifo.h" |
23676
f3cb35ec74c3
bugfix intel mac vo_quartz, PlanarPixmapInfoYUV420 structure requires big-endian value. author Taihei Monma tmkk@mac.com
nplourde
parents:
23457
diff
changeset
|
50 #include "mpbswap.h" |
28122
113fe9968c5b
Do not use full relative #include path for headers in the same directory.
diego
parents:
28075
diff
changeset
|
51 #include "sub.h" |
12120 | 52 |
13787
e047e70a9767
Handle "xxx.h" vs "../xxx.h" include paths in a consistent way.
diego
parents:
13779
diff
changeset
|
53 #include "input/input.h" |
e047e70a9767
Handle "xxx.h" vs "../xxx.h" include paths in a consistent way.
diego
parents:
13779
diff
changeset
|
54 #include "input/mouse.h" |
12120 | 55 |
56 #include "vo_quartz.h" | |
57 | |
27989 | 58 static const vo_info_t info = |
12296 | 59 { |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
60 "Mac OSX (Quartz)", |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
61 "quartz", |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
62 "Nicolas Plourde <nicolasplourde@hotmail.com>, Romain Dolbeau <romain@dolbeau.org>", |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
63 "" |
12120 | 64 }; |
65 | |
25220
c9e9ac2008c2
Mark the vo_functions_t definitions as const where possible.
reimar
parents:
25216
diff
changeset
|
66 const LIBVO_EXTERN(quartz) |
12120 | 67 |
12414 | 68 static uint32_t image_depth; |
69 static uint32_t image_format; | |
70 static uint32_t image_size; | |
71 static uint32_t image_buffer_size; | |
12432 | 72 static char *image_data; |
12414 | 73 |
12432 | 74 static ImageSequence seqId; |
12414 | 75 static CodecType image_qtcodec; |
12487 | 76 static PlanarPixmapInfoYUV420 *P = NULL; |
12424 | 77 static struct |
78 { | |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
79 ImageDescriptionHandle desc; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
80 Handle extension_colr; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
81 Handle extension_fiel; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
82 Handle extension_clap; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
83 Handle extension_pasp; |
12414 | 84 } yuv_qt_stuff; |
12432 | 85 static MatrixRecord matrix; |
12414 | 86 static int EnterMoviesDone = 0; |
12487 | 87 static int get_image_done = 0; |
12120 | 88 |
12487 | 89 static int vo_quartz_fs; // we are in fullscreen |
29530
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
90 static int our_aspect_change; |
13792
d603c33bb3d3
menu option to set desired movie aspect & keep aspect on window resize
nplourde
parents:
13791
diff
changeset
|
91 static float old_movie_aspect; |
12120 | 92 |
12826
fb55f94f3001
Add Window Level Key, Can switch mode with T key
nplourde
parents:
12785
diff
changeset
|
93 static int winLevel = 1; |
fb55f94f3001
Add Window Level Key, Can switch mode with T key
nplourde
parents:
12785
diff
changeset
|
94 int levelList[] = |
fb55f94f3001
Add Window Level Key, Can switch mode with T key
nplourde
parents:
12785
diff
changeset
|
95 { |
fb55f94f3001
Add Window Level Key, Can switch mode with T key
nplourde
parents:
12785
diff
changeset
|
96 kCGDesktopWindowLevelKey, |
fb55f94f3001
Add Window Level Key, Can switch mode with T key
nplourde
parents:
12785
diff
changeset
|
97 kCGNormalWindowLevelKey, |
fb55f94f3001
Add Window Level Key, Can switch mode with T key
nplourde
parents:
12785
diff
changeset
|
98 kCGScreenSaverWindowLevelKey |
fb55f94f3001
Add Window Level Key, Can switch mode with T key
nplourde
parents:
12785
diff
changeset
|
99 }; |
fb55f94f3001
Add Window Level Key, Can switch mode with T key
nplourde
parents:
12785
diff
changeset
|
100 |
12487 | 101 static int int_pause = 0; |
102 static float winAlpha = 1; | |
15892 | 103 static int mouseHide = FALSE; |
12296 | 104 |
27986
9e17ab676ab9
Replace QuickDraw calls in vo_quartz.c to fix warnings when compiling with current SDK versions.
gpoirier
parents:
27397
diff
changeset
|
105 static int device_id = 0; |
12120 | 106 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
107 static short fs_res_x = 0; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
108 static short fs_res_y = 0; |
13788
ced61fa921ca
let you choose fullscreen resolution for slower system
nplourde
parents:
13787
diff
changeset
|
109 |
12487 | 110 static WindowRef theWindow = NULL; |
12826
fb55f94f3001
Add Window Level Key, Can switch mode with T key
nplourde
parents:
12785
diff
changeset
|
111 static WindowGroupRef winGroup = NULL; |
13124 | 112 static CGRect bounds; |
27986
9e17ab676ab9
Replace QuickDraw calls in vo_quartz.c to fix warnings when compiling with current SDK versions.
gpoirier
parents:
27397
diff
changeset
|
113 static CGDirectDisplayID displayId = 0; |
9e17ab676ab9
Replace QuickDraw calls in vo_quartz.c to fix warnings when compiling with current SDK versions.
gpoirier
parents:
27397
diff
changeset
|
114 static CFDictionaryRef originalMode = NULL; |
13124 | 115 |
27986
9e17ab676ab9
Replace QuickDraw calls in vo_quartz.c to fix warnings when compiling with current SDK versions.
gpoirier
parents:
27397
diff
changeset
|
116 static CGDataProviderRef dataProviderRef = NULL; |
9e17ab676ab9
Replace QuickDraw calls in vo_quartz.c to fix warnings when compiling with current SDK versions.
gpoirier
parents:
27397
diff
changeset
|
117 static CGImageRef image = NULL; |
12296 | 118 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
119 static Rect imgRect; // size of the original image (unscaled) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
120 static Rect dstRect; // size of the displayed image (after scaling) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
121 static Rect winRect; // size of the window containg the displayed image (include padding) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
122 static Rect oldWinRect; // size of the window containg the displayed image (include padding) when NOT in FS mode |
13840 | 123 static Rect oldWinBounds; |
12296 | 124 |
13792
d603c33bb3d3
menu option to set desired movie aspect & keep aspect on window resize
nplourde
parents:
13791
diff
changeset
|
125 static MenuRef windMenu; |
d603c33bb3d3
menu option to set desired movie aspect & keep aspect on window resize
nplourde
parents:
13791
diff
changeset
|
126 static MenuRef movMenu; |
d603c33bb3d3
menu option to set desired movie aspect & keep aspect on window resize
nplourde
parents:
13791
diff
changeset
|
127 static MenuRef aspectMenu; |
d603c33bb3d3
menu option to set desired movie aspect & keep aspect on window resize
nplourde
parents:
13791
diff
changeset
|
128 |
27986
9e17ab676ab9
Replace QuickDraw calls in vo_quartz.c to fix warnings when compiling with current SDK versions.
gpoirier
parents:
27397
diff
changeset
|
129 static int lastScreensaverUpdate = 0; |
9e17ab676ab9
Replace QuickDraw calls in vo_quartz.c to fix warnings when compiling with current SDK versions.
gpoirier
parents:
27397
diff
changeset
|
130 static int lastMouseHide = 0; |
9e17ab676ab9
Replace QuickDraw calls in vo_quartz.c to fix warnings when compiling with current SDK versions.
gpoirier
parents:
27397
diff
changeset
|
131 |
13693
abba514689a1
fix menu bar support and add new movie zoom option menu a la quicktime
nplourde
parents:
13124
diff
changeset
|
132 enum |
abba514689a1
fix menu bar support and add new movie zoom option menu a la quicktime
nplourde
parents:
13124
diff
changeset
|
133 { |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
134 kQuitCmd = 1, |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
135 kHalfScreenCmd = 2, |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
136 kNormalScreenCmd = 3, |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
137 kDoubleScreenCmd = 4, |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
138 kFullScreenCmd = 5, |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
139 kKeepAspectCmd = 6, |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
140 kAspectOrgCmd = 7, |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
141 kAspectFullCmd = 8, |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
142 kAspectWideCmd = 9, |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
143 kPanScanCmd = 10 |
13693
abba514689a1
fix menu bar support and add new movie zoom option menu a la quicktime
nplourde
parents:
13124
diff
changeset
|
144 }; |
abba514689a1
fix menu bar support and add new movie zoom option menu a la quicktime
nplourde
parents:
13124
diff
changeset
|
145 |
13787
e047e70a9767
Handle "xxx.h" vs "../xxx.h" include paths in a consistent way.
diego
parents:
13779
diff
changeset
|
146 #include "osdep/keycodes.h" |
15702 | 147 |
12120 | 148 //PROTOTYPE///////////////////////////////////////////////////////////////// |
15702 | 149 static OSStatus KeyEventHandler(EventHandlerCallRef nextHandler, EventRef event, void *userData); |
150 static OSStatus MouseEventHandler(EventHandlerCallRef nextHandler, EventRef event, void *userData); | |
151 static OSStatus WindowEventHandler(EventHandlerCallRef nextHandler, EventRef event, void *userData); | |
29212
eda346733b8c
Add missing 'void' to parameterless function declarations.
diego
parents:
28446
diff
changeset
|
152 void window_resized(void); |
eda346733b8c
Add missing 'void' to parameterless function declarations.
diego
parents:
28446
diff
changeset
|
153 void window_ontop(void); |
eda346733b8c
Add missing 'void' to parameterless function declarations.
diego
parents:
28446
diff
changeset
|
154 void window_fullscreen(void); |
eda346733b8c
Add missing 'void' to parameterless function declarations.
diego
parents:
28446
diff
changeset
|
155 void window_panscan(void); |
12120 | 156 |
29528
2a3b942fce09
Use lookup_keymap_table function with data structure instead of huge switch-case
reimar
parents:
29263
diff
changeset
|
157 static const struct keymap keymap[] = { |
2a3b942fce09
Use lookup_keymap_table function with data structure instead of huge switch-case
reimar
parents:
29263
diff
changeset
|
158 // special keys |
2a3b942fce09
Use lookup_keymap_table function with data structure instead of huge switch-case
reimar
parents:
29263
diff
changeset
|
159 {QZ_IBOOK_ENTER, KEY_ENTER}, {QZ_RETURN, KEY_ENTER}, |
2a3b942fce09
Use lookup_keymap_table function with data structure instead of huge switch-case
reimar
parents:
29263
diff
changeset
|
160 {QZ_ESCAPE, KEY_ESC}, |
2a3b942fce09
Use lookup_keymap_table function with data structure instead of huge switch-case
reimar
parents:
29263
diff
changeset
|
161 {QZ_BACKSPACE, KEY_BACKSPACE}, {QZ_LALT, KEY_BACKSPACE}, {QZ_LCTRL, KEY_BACKSPACE}, {QZ_LSHIFT, KEY_BACKSPACE}, |
2a3b942fce09
Use lookup_keymap_table function with data structure instead of huge switch-case
reimar
parents:
29263
diff
changeset
|
162 {QZ_TAB, KEY_TAB}, |
2a3b942fce09
Use lookup_keymap_table function with data structure instead of huge switch-case
reimar
parents:
29263
diff
changeset
|
163 |
2a3b942fce09
Use lookup_keymap_table function with data structure instead of huge switch-case
reimar
parents:
29263
diff
changeset
|
164 // cursor keys |
2a3b942fce09
Use lookup_keymap_table function with data structure instead of huge switch-case
reimar
parents:
29263
diff
changeset
|
165 {QZ_UP, KEY_UP}, {QZ_DOWN, KEY_DOWN}, {QZ_LEFT, KEY_LEFT}, {QZ_RIGHT, KEY_RIGHT}, |
2a3b942fce09
Use lookup_keymap_table function with data structure instead of huge switch-case
reimar
parents:
29263
diff
changeset
|
166 |
2a3b942fce09
Use lookup_keymap_table function with data structure instead of huge switch-case
reimar
parents:
29263
diff
changeset
|
167 // navigation block |
2a3b942fce09
Use lookup_keymap_table function with data structure instead of huge switch-case
reimar
parents:
29263
diff
changeset
|
168 {QZ_INSERT, KEY_INSERT}, {QZ_DELETE, KEY_DELETE}, {QZ_HOME, KEY_HOME}, |
2a3b942fce09
Use lookup_keymap_table function with data structure instead of huge switch-case
reimar
parents:
29263
diff
changeset
|
169 {QZ_END, KEY_END}, {QZ_PAGEUP, KEY_PAGE_UP}, {QZ_PAGEDOWN, KEY_PAGE_DOWN}, |
2a3b942fce09
Use lookup_keymap_table function with data structure instead of huge switch-case
reimar
parents:
29263
diff
changeset
|
170 |
2a3b942fce09
Use lookup_keymap_table function with data structure instead of huge switch-case
reimar
parents:
29263
diff
changeset
|
171 // F-keys |
2a3b942fce09
Use lookup_keymap_table function with data structure instead of huge switch-case
reimar
parents:
29263
diff
changeset
|
172 {QZ_F1, KEY_F + 1}, {QZ_F2, KEY_F + 2}, {QZ_F3, KEY_F + 3}, {QZ_F4, KEY_F + 4}, |
2a3b942fce09
Use lookup_keymap_table function with data structure instead of huge switch-case
reimar
parents:
29263
diff
changeset
|
173 {QZ_F5, KEY_F + 5}, {QZ_F6, KEY_F + 6}, {QZ_F7, KEY_F + 7}, {QZ_F8, KEY_F + 8}, |
2a3b942fce09
Use lookup_keymap_table function with data structure instead of huge switch-case
reimar
parents:
29263
diff
changeset
|
174 {QZ_F9, KEY_F + 9}, {QZ_F10, KEY_F + 10}, {QZ_F11, KEY_F + 11}, {QZ_F12, KEY_F + 12}, |
2a3b942fce09
Use lookup_keymap_table function with data structure instead of huge switch-case
reimar
parents:
29263
diff
changeset
|
175 |
2a3b942fce09
Use lookup_keymap_table function with data structure instead of huge switch-case
reimar
parents:
29263
diff
changeset
|
176 // numpad |
2a3b942fce09
Use lookup_keymap_table function with data structure instead of huge switch-case
reimar
parents:
29263
diff
changeset
|
177 {QZ_KP_PLUS, '+'}, {QZ_KP_MINUS, '-'}, {QZ_KP_MULTIPLY, '*'}, |
2a3b942fce09
Use lookup_keymap_table function with data structure instead of huge switch-case
reimar
parents:
29263
diff
changeset
|
178 {QZ_KP_DIVIDE, '/'}, {QZ_KP_ENTER, KEY_KPENTER}, {QZ_KP_PERIOD, KEY_KPDEC}, |
2a3b942fce09
Use lookup_keymap_table function with data structure instead of huge switch-case
reimar
parents:
29263
diff
changeset
|
179 {QZ_KP0, KEY_KP0}, {QZ_KP1, KEY_KP1}, {QZ_KP2, KEY_KP2}, {QZ_KP3, KEY_KP3}, |
2a3b942fce09
Use lookup_keymap_table function with data structure instead of huge switch-case
reimar
parents:
29263
diff
changeset
|
180 {QZ_KP4, KEY_KP4}, {QZ_KP5, KEY_KP5}, {QZ_KP6, KEY_KP6}, {QZ_KP7, KEY_KP7}, |
2a3b942fce09
Use lookup_keymap_table function with data structure instead of huge switch-case
reimar
parents:
29263
diff
changeset
|
181 {QZ_KP8, KEY_KP8}, {QZ_KP9, KEY_KP9}, |
2a3b942fce09
Use lookup_keymap_table function with data structure instead of huge switch-case
reimar
parents:
29263
diff
changeset
|
182 |
2a3b942fce09
Use lookup_keymap_table function with data structure instead of huge switch-case
reimar
parents:
29263
diff
changeset
|
183 {0, 0} |
2a3b942fce09
Use lookup_keymap_table function with data structure instead of huge switch-case
reimar
parents:
29263
diff
changeset
|
184 }; |
2a3b942fce09
Use lookup_keymap_table function with data structure instead of huge switch-case
reimar
parents:
29263
diff
changeset
|
185 |
12886
9b95958f4eb0
listen for key repeats, patch by Dan Christiansen
nplourde
parents:
12830
diff
changeset
|
186 static inline int convert_key(UInt32 key, UInt32 charcode) |
9b95958f4eb0
listen for key repeats, patch by Dan Christiansen
nplourde
parents:
12830
diff
changeset
|
187 { |
29528
2a3b942fce09
Use lookup_keymap_table function with data structure instead of huge switch-case
reimar
parents:
29263
diff
changeset
|
188 int mpkey = lookup_keymap_table(keymap, key); |
2a3b942fce09
Use lookup_keymap_table function with data structure instead of huge switch-case
reimar
parents:
29263
diff
changeset
|
189 if (mpkey) |
2a3b942fce09
Use lookup_keymap_table function with data structure instead of huge switch-case
reimar
parents:
29263
diff
changeset
|
190 return mpkey; |
2a3b942fce09
Use lookup_keymap_table function with data structure instead of huge switch-case
reimar
parents:
29263
diff
changeset
|
191 return charcode; |
12886
9b95958f4eb0
listen for key repeats, patch by Dan Christiansen
nplourde
parents:
12830
diff
changeset
|
192 } |
9b95958f4eb0
listen for key repeats, patch by Dan Christiansen
nplourde
parents:
12830
diff
changeset
|
193 |
12296 | 194 static void draw_alpha(int x0, int y0, int w, int h, unsigned char *src, unsigned char *srca, int stride) |
195 { | |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
196 switch (image_format) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
197 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
198 case IMGFMT_RGB32: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
199 vo_draw_alpha_rgb32(w, h, src, srca, stride, image_data + 4 * (y0 * imgRect.right + x0), 4 * imgRect.right); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
200 break; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
201 case IMGFMT_YV12: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
202 case IMGFMT_IYUV: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
203 case IMGFMT_I420: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
204 vo_draw_alpha_yv12(w, h, src, srca, stride, ((char *)P) + be2me_32(P->componentInfoY.offset) + x0 + y0 * imgRect.right, imgRect.right); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
205 break; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
206 case IMGFMT_UYVY: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
207 vo_draw_alpha_uyvy(w, h, src, srca, stride, ((char *)P) + (x0 + y0 * imgRect.right) * 2, imgRect.right * 2); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
208 break; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
209 case IMGFMT_YUY2: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
210 vo_draw_alpha_yuy2(w, h, src, srca, stride, ((char *)P) + (x0 + y0 * imgRect.right) * 2, imgRect.right * 2); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
211 break; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
212 } |
12296 | 213 } |
12120 | 214 |
15702 | 215 //default keyboard event handler |
216 static OSStatus KeyEventHandler(EventHandlerCallRef nextHandler, EventRef event, void *userData) | |
12120 | 217 { |
12624 | 218 OSStatus result = noErr; |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
219 UInt32 class = GetEventClass(event); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
220 UInt32 kind = GetEventKind(event); |
12624 | 221 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
222 result = CallNextEventHandler(nextHandler, event); |
27989 | 223 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
224 if (class == kEventClassKeyboard) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
225 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
226 char macCharCodes; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
227 UInt32 macKeyCode; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
228 UInt32 macKeyModifiers; |
27989 | 229 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
230 GetEventParameter(event, kEventParamKeyMacCharCodes, typeChar, NULL, sizeof(macCharCodes), NULL, &macCharCodes); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
231 GetEventParameter(event, kEventParamKeyCode, typeUInt32, NULL, sizeof(macKeyCode), NULL, &macKeyCode); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
232 GetEventParameter(event, kEventParamKeyModifiers, typeUInt32, NULL, sizeof(macKeyModifiers), NULL, &macKeyModifiers); |
27989 | 233 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
234 if (macKeyModifiers != 256) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
235 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
236 if (kind == kEventRawKeyRepeat || kind == kEventRawKeyDown) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
237 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
238 int key = convert_key(macKeyCode, macCharCodes); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
239 |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
240 if (key != -1) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
241 mplayer_put_key(key); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
242 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
243 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
244 else if (macKeyModifiers == 256) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
245 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
246 switch (macCharCodes) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
247 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
248 case '[': SetWindowAlpha(theWindow, winAlpha -= 0.05); break; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
249 case ']': SetWindowAlpha(theWindow, winAlpha += 0.05); break; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
250 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
251 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
252 else |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
253 result = eventNotHandledErr; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
254 } |
27989 | 255 |
15702 | 256 return result; |
257 } | |
258 | |
259 //default mouse event handler | |
260 static OSStatus MouseEventHandler(EventHandlerCallRef nextHandler, EventRef event, void *userData) | |
261 { | |
262 OSStatus result = noErr; | |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
263 UInt32 class = GetEventClass(event); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
264 UInt32 kind = GetEventKind(event); |
15702 | 265 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
266 result = CallNextEventHandler(nextHandler, event); |
27989 | 267 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
268 if (class == kEventClassMouse) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
269 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
270 WindowPtr tmpWin; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
271 Point mousePos; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
272 Point winMousePos; |
12460 | 273 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
274 GetEventParameter(event, kEventParamMouseLocation, typeQDPoint, 0, sizeof(Point), 0, &mousePos); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
275 GetEventParameter(event, kEventParamWindowMouseLocation, typeQDPoint, 0, sizeof(Point), 0, &winMousePos); |
12460 | 276 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
277 switch (kind) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
278 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
279 case kEventMouseMoved: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
280 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
281 if (vo_quartz_fs) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
282 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
283 CGDisplayShowCursor(displayId); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
284 mouseHide = FALSE; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
285 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
286 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
287 break; |
27989 | 288 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
289 case kEventMouseWheelMoved: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
290 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
291 int wheel; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
292 short part; |
27989 | 293 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
294 GetEventParameter(event, kEventParamMouseWheelDelta, typeSInt32, 0, sizeof(int), 0, &wheel); |
15702 | 295 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
296 part = FindWindow(mousePos, &tmpWin); |
27989 | 297 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
298 if (part == inContent) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
299 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
300 if (wheel > 0) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
301 mplayer_put_key(MOUSE_BTN3); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
302 else |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
303 mplayer_put_key(MOUSE_BTN4); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
304 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
305 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
306 break; |
27989 | 307 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
308 case kEventMouseDown: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
309 case kEventMouseUp: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
310 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
311 EventMouseButton button; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
312 short part; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
313 Rect bounds; |
27989 | 314 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
315 GetWindowPortBounds(theWindow, &bounds); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
316 GetEventParameter(event, kEventParamMouseButton, typeMouseButton, 0, sizeof(EventMouseButton), 0, &button); |
27989 | 317 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
318 part = FindWindow(mousePos, &tmpWin); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
319 if (kind == kEventMouseUp) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
320 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
321 if (part != inContent) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
322 break; |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
29212
diff
changeset
|
323 switch (button) |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
324 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
325 case kEventMouseButtonPrimary: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
326 mplayer_put_key(MOUSE_BTN0); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
327 break; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
328 case kEventMouseButtonSecondary: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
329 mplayer_put_key(MOUSE_BTN2); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
330 break; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
331 case kEventMouseButtonTertiary: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
332 mplayer_put_key(MOUSE_BTN1); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
333 break; |
27989 | 334 |
27991
0a0ea17f7f64
avoid putting several statements on a single line
gpoirier
parents:
27990
diff
changeset
|
335 default: |
0a0ea17f7f64
avoid putting several statements on a single line
gpoirier
parents:
27990
diff
changeset
|
336 result = eventNotHandledErr; |
0a0ea17f7f64
avoid putting several statements on a single line
gpoirier
parents:
27990
diff
changeset
|
337 break; |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
338 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
339 break; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
340 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
341 if ((winMousePos.h > (bounds.right - 15)) && (winMousePos.v > (bounds.bottom))) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
342 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
343 if (!vo_quartz_fs) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
344 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
345 Rect newSize; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
346 |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
347 ResizeWindow(theWindow, mousePos, NULL, &newSize); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
348 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
349 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
350 else if (part == inMenuBar) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
351 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
352 MenuSelect(mousePos); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
353 HiliteMenu(0); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
354 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
355 else if (part == inContent) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
356 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
357 switch (button) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
358 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
359 case kEventMouseButtonPrimary: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
360 mplayer_put_key(MOUSE_BTN0 | MP_KEY_DOWN); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
361 break; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
362 case kEventMouseButtonSecondary: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
363 mplayer_put_key(MOUSE_BTN2 | MP_KEY_DOWN); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
364 break; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
365 case kEventMouseButtonTertiary: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
366 mplayer_put_key(MOUSE_BTN1 | MP_KEY_DOWN); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
367 break; |
27989 | 368 |
27991
0a0ea17f7f64
avoid putting several statements on a single line
gpoirier
parents:
27990
diff
changeset
|
369 default: |
0a0ea17f7f64
avoid putting several statements on a single line
gpoirier
parents:
27990
diff
changeset
|
370 result = eventNotHandledErr; |
0a0ea17f7f64
avoid putting several statements on a single line
gpoirier
parents:
27990
diff
changeset
|
371 break; |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
372 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
373 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
374 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
375 break; |
27989 | 376 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
377 case kEventMouseDragged: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
378 break; |
27989 | 379 |
27991
0a0ea17f7f64
avoid putting several statements on a single line
gpoirier
parents:
27990
diff
changeset
|
380 default: |
0a0ea17f7f64
avoid putting several statements on a single line
gpoirier
parents:
27990
diff
changeset
|
381 result = eventNotHandledErr; |
0a0ea17f7f64
avoid putting several statements on a single line
gpoirier
parents:
27990
diff
changeset
|
382 break; |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
383 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
384 } |
15702 | 385 |
12624 | 386 return result; |
12296 | 387 } |
12120 | 388 |
15702 | 389 //default window event handler |
390 static OSStatus WindowEventHandler(EventHandlerCallRef nextHandler, EventRef event, void *userData) | |
13707
3fff37ed4fe7
Fixed event handling for menubar and window close button.
nplourde
parents:
13693
diff
changeset
|
391 { |
29530
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
392 char cmd_str[64]; |
13707
3fff37ed4fe7
Fixed event handling for menubar and window close button.
nplourde
parents:
13693
diff
changeset
|
393 OSStatus result = noErr; |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
394 uint32_t d_width; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
395 uint32_t d_height; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
396 UInt32 class = GetEventClass(event); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
397 UInt32 kind = GetEventKind(event); |
13707
3fff37ed4fe7
Fixed event handling for menubar and window close button.
nplourde
parents:
13693
diff
changeset
|
398 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
399 result = CallNextEventHandler(nextHandler, event); |
27989 | 400 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
401 aspect(&d_width, &d_height, A_NOZOOM); |
13707
3fff37ed4fe7
Fixed event handling for menubar and window close button.
nplourde
parents:
13693
diff
changeset
|
402 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
403 if (class == kEventClassCommand) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
404 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
405 HICommand theHICommand; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
406 |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
407 GetEventParameter(event, kEventParamDirectObject, typeHICommand, NULL, sizeof(HICommand), NULL, &theHICommand); |
27989 | 408 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
409 switch (theHICommand.commandID) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
410 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
411 case kHICommandQuit: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
412 mplayer_put_key(KEY_CLOSE_WIN); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
413 break; |
27989 | 414 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
415 case kHalfScreenCmd: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
416 if (vo_quartz_fs) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
417 { |
27991
0a0ea17f7f64
avoid putting several statements on a single line
gpoirier
parents:
27990
diff
changeset
|
418 vo_fs = (!(vo_fs)); |
0a0ea17f7f64
avoid putting several statements on a single line
gpoirier
parents:
27990
diff
changeset
|
419 window_fullscreen(); |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
420 } |
27989 | 421 |
29530
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
422 SizeWindow(theWindow, d_width / 2, d_height / 2, 1); |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
423 window_resized(); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
424 break; |
13707
3fff37ed4fe7
Fixed event handling for menubar and window close button.
nplourde
parents:
13693
diff
changeset
|
425 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
426 case kNormalScreenCmd: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
427 if (vo_quartz_fs) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
428 { |
27991
0a0ea17f7f64
avoid putting several statements on a single line
gpoirier
parents:
27990
diff
changeset
|
429 vo_fs = (!(vo_fs)); |
0a0ea17f7f64
avoid putting several statements on a single line
gpoirier
parents:
27990
diff
changeset
|
430 window_fullscreen(); |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
431 } |
27989 | 432 |
29530
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
433 SizeWindow(theWindow, d_width, d_height, 1); |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
434 window_resized(); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
435 break; |
13707
3fff37ed4fe7
Fixed event handling for menubar and window close button.
nplourde
parents:
13693
diff
changeset
|
436 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
437 case kDoubleScreenCmd: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
438 if (vo_quartz_fs) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
439 { |
27991
0a0ea17f7f64
avoid putting several statements on a single line
gpoirier
parents:
27990
diff
changeset
|
440 vo_fs = (!(vo_fs)); |
0a0ea17f7f64
avoid putting several statements on a single line
gpoirier
parents:
27990
diff
changeset
|
441 window_fullscreen(); |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
442 } |
27989 | 443 |
29530
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
444 SizeWindow(theWindow, d_width * 2, d_height * 2, 1); |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
445 window_resized(); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
446 break; |
13707
3fff37ed4fe7
Fixed event handling for menubar and window close button.
nplourde
parents:
13693
diff
changeset
|
447 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
448 case kFullScreenCmd: |
27991
0a0ea17f7f64
avoid putting several statements on a single line
gpoirier
parents:
27990
diff
changeset
|
449 vo_fs = (!(vo_fs)); |
0a0ea17f7f64
avoid putting several statements on a single line
gpoirier
parents:
27990
diff
changeset
|
450 window_fullscreen(); |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
451 break; |
13707
3fff37ed4fe7
Fixed event handling for menubar and window close button.
nplourde
parents:
13693
diff
changeset
|
452 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
453 case kKeepAspectCmd: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
454 vo_keepaspect = (!(vo_keepaspect)); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
455 CheckMenuItem(aspectMenu, 1, vo_keepaspect); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
456 window_resized(); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
457 break; |
27989 | 458 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
459 case kAspectOrgCmd: |
29530
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
460 our_aspect_change = 1; |
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
461 sprintf(cmd_str, "switch_ratio %f", old_movie_aspect); |
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
462 mp_input_queue_cmd(mp_input_parse_cmd(cmd_str)); |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
463 break; |
27989 | 464 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
465 case kAspectFullCmd: |
29530
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
466 our_aspect_change = 1; |
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
467 mp_input_queue_cmd(mp_input_parse_cmd("switch_ratio 1.6667")); |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
468 break; |
27989 | 469 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
470 case kAspectWideCmd: |
29530
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
471 our_aspect_change = 1; |
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
472 mp_input_queue_cmd(mp_input_parse_cmd("switch_ratio 1.7778")); |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
473 break; |
27989 | 474 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
475 case kPanScanCmd: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
476 vo_panscan = (!(vo_panscan)); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
477 CheckMenuItem(aspectMenu, 2, vo_panscan); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
478 window_panscan(); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
479 window_resized(); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
480 break; |
27989 | 481 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
482 default: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
483 result = eventNotHandledErr; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
484 break; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
485 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
486 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
487 else if (class == kEventClassWindow) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
488 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
489 WindowRef window; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
490 Rect rectWindow = { 0, 0, 0, 0 }; |
27989 | 491 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
492 GetEventParameter(event, kEventParamDirectObject, typeWindowRef, NULL, sizeof(WindowRef), NULL, &window); |
27989 | 493 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
494 if (window) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
495 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
496 GetWindowBounds(window, kWindowGlobalPortRgn, &rectWindow); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
497 } |
27989 | 498 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
499 switch (kind) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
500 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
501 case kEventWindowClosed: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
502 theWindow = NULL; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
503 mplayer_put_key(KEY_CLOSE_WIN); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
504 break; |
27989 | 505 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
506 // resize window |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
507 case kEventWindowZoomed: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
508 case kEventWindowBoundsChanged: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
509 window_resized(); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
510 flip_page(); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
511 window_resized(); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
512 break; |
27989 | 513 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
514 default: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
515 result = eventNotHandledErr; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
516 break; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
517 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
518 } |
27989 | 519 |
13707
3fff37ed4fe7
Fixed event handling for menubar and window close button.
nplourde
parents:
13693
diff
changeset
|
520 return result; |
3fff37ed4fe7
Fixed event handling for menubar and window close button.
nplourde
parents:
13693
diff
changeset
|
521 } |
3fff37ed4fe7
Fixed event handling for menubar and window close button.
nplourde
parents:
13693
diff
changeset
|
522 |
27989 | 523 static void quartz_CreateWindow(uint32_t d_width, uint32_t d_height, WindowAttributes windowAttrs) |
12487 | 524 { |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
525 CFStringRef titleKey; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
526 CFStringRef windowTitle; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
527 OSStatus result; |
27989 | 528 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
529 MenuItemIndex index; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
530 CFStringRef movMenuTitle; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
531 CFStringRef aspMenuTitle; |
27989 | 532 |
24952 | 533 const EventTypeSpec win_events[] = { |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
534 {kEventClassWindow, kEventWindowClosed}, |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
535 {kEventClassWindow, kEventWindowBoundsChanged}, |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
536 {kEventClassCommand, kEventCommandProcess} |
24952 | 537 }; |
538 | |
539 const EventTypeSpec key_events[] = { | |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
540 {kEventClassKeyboard, kEventRawKeyDown}, |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
541 {kEventClassKeyboard, kEventRawKeyRepeat} |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
542 }; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
543 |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
544 const EventTypeSpec mouse_events[] = { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
545 {kEventClassMouse, kEventMouseMoved}, |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
546 {kEventClassMouse, kEventMouseWheelMoved}, |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
547 {kEventClassMouse, kEventMouseDown}, |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
548 {kEventClassMouse, kEventMouseUp}, |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
549 {kEventClassMouse, kEventMouseDragged} |
24952 | 550 }; |
551 | |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
552 SetRect(&winRect, 0, 0, d_width, d_height); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
553 SetRect(&oldWinRect, 0, 0, d_width, d_height); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
554 SetRect(&dstRect, 0, 0, d_width, d_height); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
555 |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
556 // Clear Menu Bar |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
557 ClearMenuBar(); |
24952 | 558 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
559 // Create Window Menu |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
560 CreateStandardWindowMenu(0, &windMenu); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
561 InsertMenu(windMenu, 0); |
27989 | 562 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
563 // Create Movie Menu |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
564 CreateNewMenu(1004, 0, &movMenu); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
565 movMenuTitle = CFSTR("Movie"); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
566 SetMenuTitleWithCFString(movMenu, movMenuTitle); |
27989 | 567 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
568 AppendMenuItemTextWithCFString(movMenu, CFSTR("Half Size"), 0, kHalfScreenCmd, &index); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
569 SetMenuItemCommandKey(movMenu, index, 0, '0'); |
27989 | 570 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
571 AppendMenuItemTextWithCFString(movMenu, CFSTR("Normal Size"), 0, kNormalScreenCmd, &index); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
572 SetMenuItemCommandKey(movMenu, index, 0, '1'); |
27989 | 573 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
574 AppendMenuItemTextWithCFString(movMenu, CFSTR("Double Size"), 0, kDoubleScreenCmd, &index); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
575 SetMenuItemCommandKey(movMenu, index, 0, '2'); |
27989 | 576 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
577 AppendMenuItemTextWithCFString(movMenu, CFSTR("Full Size"), 0, kFullScreenCmd, &index); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
578 SetMenuItemCommandKey(movMenu, index, 0, 'F'); |
27989 | 579 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
580 AppendMenuItemTextWithCFString(movMenu, NULL, kMenuItemAttrSeparator, 0, &index); |
27989 | 581 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
582 AppendMenuItemTextWithCFString(movMenu, CFSTR("Aspect Ratio"), 0, 0, &index); |
13792
d603c33bb3d3
menu option to set desired movie aspect & keep aspect on window resize
nplourde
parents:
13791
diff
changeset
|
583 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
584 //// Create Aspect Ratio Sub Menu |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
585 CreateNewMenu(0, 0, &aspectMenu); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
586 aspMenuTitle = CFSTR("Aspect Ratio"); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
587 SetMenuTitleWithCFString(aspectMenu, aspMenuTitle); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
588 SetMenuItemHierarchicalMenu(movMenu, 6, aspectMenu); |
27989 | 589 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
590 AppendMenuItemTextWithCFString(aspectMenu, CFSTR("Keep"), 0, kKeepAspectCmd, &index); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
591 CheckMenuItem(aspectMenu, 1, vo_keepaspect); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
592 AppendMenuItemTextWithCFString(aspectMenu, CFSTR("Pan-Scan"), 0, kPanScanCmd, &index); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
593 CheckMenuItem(aspectMenu, 2, vo_panscan); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
594 AppendMenuItemTextWithCFString(aspectMenu, NULL, kMenuItemAttrSeparator, 0, &index); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
595 AppendMenuItemTextWithCFString(aspectMenu, CFSTR("Original"), 0, kAspectOrgCmd, &index); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
596 AppendMenuItemTextWithCFString(aspectMenu, CFSTR("4:3"), 0, kAspectFullCmd, &index); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
597 AppendMenuItemTextWithCFString(aspectMenu, CFSTR("16:9"), 0, kAspectWideCmd, &index); |
27989 | 598 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
599 InsertMenu(movMenu, GetMenuID(windMenu)); //insert before Window menu |
27989 | 600 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
601 DrawMenuBar(); |
27989 | 602 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
603 // create window |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
604 CreateNewWindow(kDocumentWindowClass, windowAttrs, &winRect, &theWindow); |
27989 | 605 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
606 CreateWindowGroup(0, &winGroup); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
607 SetWindowGroup(theWindow, winGroup); |
12826
fb55f94f3001
Add Window Level Key, Can switch mode with T key
nplourde
parents:
12785
diff
changeset
|
608 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
609 // Set window title |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
610 titleKey = CFSTR("MPlayer - The Movie Player"); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
611 windowTitle = CFCopyLocalizedString(titleKey, NULL); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
612 result = SetWindowTitleWithCFString(theWindow, windowTitle); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
613 CFRelease(titleKey); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
614 CFRelease(windowTitle); |
27989 | 615 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
616 // Install event handler |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
617 InstallApplicationEventHandler(NewEventHandlerUPP(KeyEventHandler), GetEventTypeCount(key_events), key_events, NULL, NULL); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
618 InstallApplicationEventHandler(NewEventHandlerUPP(MouseEventHandler), GetEventTypeCount(mouse_events), mouse_events, NULL, NULL); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
619 InstallWindowEventHandler(theWindow, NewEventHandlerUPP(WindowEventHandler), GetEventTypeCount(win_events), win_events, theWindow, NULL); |
12487 | 620 } |
621 | |
29530
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
622 static void update_screen_info(void) |
12296 | 623 { |
29530
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
624 CGRect displayRect; |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
625 CGDisplayCount displayCount; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
626 CGDirectDisplayID *displays; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
627 // Display IDs might not be consecutive, get the list of all devices up to # device_id |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
628 displayCount = device_id + 1; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
629 displays = malloc(sizeof(CGDirectDisplayID) * displayCount); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
630 if (kCGErrorSuccess != CGGetActiveDisplayList(displayCount, displays, &displayCount) || displayCount < device_id + 1) { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
631 mp_msg(MSGT_VO, MSGL_FATAL, "Quartz error: Device ID %d do not exist, falling back to main device.\n", device_id); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
632 displayId = kCGDirectMainDisplay; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
633 device_id = 0; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
634 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
635 else |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
636 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
637 displayId = displays[device_id]; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
638 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
639 free(displays); |
27989 | 640 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
641 displayRect = CGDisplayBounds(displayId); |
29530
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
642 xinerama_x = displayRect.origin.x; |
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
643 xinerama_y = displayRect.origin.y; |
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
644 vo_screenwidth = displayRect.size.width; |
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
645 vo_screenheight = displayRect.size.height; |
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
646 aspect_save_screenres(vo_screenwidth, vo_screenheight); |
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
647 } |
27989 | 648 |
29530
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
649 static int config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t flags, char *title, uint32_t format) |
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
650 { |
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
651 WindowAttributes windowAttrs; |
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
652 OSErr qterr; |
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
653 CGRect tmpBounds; |
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
654 |
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
655 if (!our_aspect_change) |
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
656 old_movie_aspect = (float)d_width / d_height; |
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
657 our_aspect_change = 0; |
13791 | 658 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
659 // misc mplayer setup///////////////////////////////////////////////////// |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
660 SetRect(&imgRect, 0, 0, width, height); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
661 switch (image_format) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
662 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
663 case IMGFMT_RGB32: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
664 image_depth = 32; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
665 break; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
666 case IMGFMT_YV12: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
667 case IMGFMT_IYUV: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
668 case IMGFMT_I420: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
669 case IMGFMT_UYVY: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
670 case IMGFMT_YUY2: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
671 image_depth = 16; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
672 break; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
673 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
674 image_size = ((imgRect.right * imgRect.bottom * image_depth) + 7) / 8; |
12296 | 675 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
676 if (image_data) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
677 free(image_data); |
27989 | 678 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
679 image_data = malloc(image_size); |
12296 | 680 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
681 // Create player window////////////////////////////////////////////////// |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
682 windowAttrs = kWindowStandardDocumentAttributes |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
683 | kWindowStandardHandlerAttribute |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
684 | kWindowLiveResizeAttribute; |
27989 | 685 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
686 windowAttrs &= (~kWindowResizableAttribute); |
27989 | 687 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
688 if (theWindow == NULL) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
689 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
690 CGContextRef context; |
27986
9e17ab676ab9
Replace QuickDraw calls in vo_quartz.c to fix warnings when compiling with current SDK versions.
gpoirier
parents:
27397
diff
changeset
|
691 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
692 quartz_CreateWindow(d_width, d_height, windowAttrs); |
27989 | 693 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
694 if (theWindow == NULL) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
695 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
696 mp_msg(MSGT_VO, MSGL_FATAL, "Quartz error: Couldn't create window !!!!!\n"); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
697 return -1; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
698 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
699 tmpBounds = CGRectMake(0, 0, winRect.right, winRect.bottom); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
700 QDBeginCGContext(GetWindowPort(theWindow), &context); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
701 CGContextFillRect(context, tmpBounds); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
702 QDEndCGContext(GetWindowPort(theWindow), &context); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
703 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
704 else |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
705 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
706 HideWindow(theWindow); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
707 ChangeWindowAttributes(theWindow, ~windowAttrs, windowAttrs); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
708 SetRect(&winRect, 0, 0, d_width, d_height); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
709 SetRect(&oldWinRect, 0, 0, d_width, d_height); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
710 SizeWindow(theWindow, d_width, d_height, 1); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
711 } |
27989 | 712 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
713 switch (image_format) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
714 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
715 case IMGFMT_RGB32: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
716 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
717 CGContextRef context; |
27989 | 718 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
719 QDBeginCGContext(GetWindowPort(theWindow), &context); |
27989 | 720 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
721 dataProviderRef = CGDataProviderCreateWithData(0, image_data, imgRect.right * imgRect.bottom * 4, 0); |
27989 | 722 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
723 image = CGImageCreate(imgRect.right, |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
724 imgRect.bottom, |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
725 8, |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
726 image_depth, |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
727 ((imgRect.right * 32) + 7) / 8, |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
728 CGColorSpaceCreateDeviceRGB(), |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
729 kCGImageAlphaNoneSkipFirst, |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
730 dataProviderRef, 0, 1, kCGRenderingIntentDefault); |
27986
9e17ab676ab9
Replace QuickDraw calls in vo_quartz.c to fix warnings when compiling with current SDK versions.
gpoirier
parents:
27397
diff
changeset
|
731 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
732 QDEndCGContext(GetWindowPort(theWindow), &context); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
733 break; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
734 } |
27989 | 735 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
736 case IMGFMT_YV12: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
737 case IMGFMT_IYUV: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
738 case IMGFMT_I420: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
739 case IMGFMT_UYVY: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
740 case IMGFMT_YUY2: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
741 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
742 get_image_done = 0; |
12623 | 743 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
744 if (!EnterMoviesDone) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
745 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
746 qterr = EnterMovies(); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
747 EnterMoviesDone = 1; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
748 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
749 else |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
750 qterr = 0; |
27989 | 751 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
752 if (qterr) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
753 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
754 mp_msg(MSGT_VO, MSGL_FATAL, "Quartz error: EnterMovies (%d)\n", qterr); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
755 return -1; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
756 } |
27989 | 757 |
758 | |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
759 SetIdentityMatrix(&matrix); |
27989 | 760 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
761 if ((d_width != width) || (d_height != height)) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
762 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
763 ScaleMatrix(&matrix, FixDiv(Long2Fix(d_width), Long2Fix(width)), FixDiv(Long2Fix(d_height), Long2Fix(height)), 0, 0); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
764 } |
12623 | 765 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
766 yuv_qt_stuff.desc = (ImageDescriptionHandle) NewHandleClear(sizeof(ImageDescription)); |
27989 | 767 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
768 yuv_qt_stuff.extension_colr = NewHandleClear(sizeof(NCLCColorInfoImageDescriptionExtension)); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
769 ((NCLCColorInfoImageDescriptionExtension *) (*yuv_qt_stuff.extension_colr))->colorParamType = kVideoColorInfoImageDescriptionExtensionType; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
770 ((NCLCColorInfoImageDescriptionExtension *) (*yuv_qt_stuff.extension_colr))->primaries = 2; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
771 ((NCLCColorInfoImageDescriptionExtension *) (*yuv_qt_stuff.extension_colr))->transferFunction = 2; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
772 ((NCLCColorInfoImageDescriptionExtension *) (*yuv_qt_stuff.extension_colr))->matrix = 2; |
27989 | 773 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
774 yuv_qt_stuff.extension_fiel = NewHandleClear(sizeof(FieldInfoImageDescriptionExtension)); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
775 ((FieldInfoImageDescriptionExtension *) (*yuv_qt_stuff.extension_fiel))->fieldCount = 1; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
776 ((FieldInfoImageDescriptionExtension *) (*yuv_qt_stuff.extension_fiel))->fieldOrderings = 0; |
27989 | 777 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
778 yuv_qt_stuff.extension_clap = NewHandleClear(sizeof(CleanApertureImageDescriptionExtension)); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
779 ((CleanApertureImageDescriptionExtension *) (*yuv_qt_stuff.extension_clap))->cleanApertureWidthN = imgRect.right; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
780 ((CleanApertureImageDescriptionExtension *) (*yuv_qt_stuff.extension_clap))->cleanApertureWidthD = 1; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
781 ((CleanApertureImageDescriptionExtension *) (*yuv_qt_stuff.extension_clap))->cleanApertureHeightN = imgRect.bottom; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
782 ((CleanApertureImageDescriptionExtension *) (*yuv_qt_stuff.extension_clap))->cleanApertureHeightD = 1; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
783 ((CleanApertureImageDescriptionExtension *) (*yuv_qt_stuff.extension_clap))->horizOffN = 0; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
784 ((CleanApertureImageDescriptionExtension *) (*yuv_qt_stuff.extension_clap))->horizOffD = 1; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
785 ((CleanApertureImageDescriptionExtension *) (*yuv_qt_stuff.extension_clap))->vertOffN = 0; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
786 ((CleanApertureImageDescriptionExtension *) (*yuv_qt_stuff.extension_clap))->vertOffD = 1; |
27989 | 787 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
788 yuv_qt_stuff.extension_pasp = NewHandleClear(sizeof(PixelAspectRatioImageDescriptionExtension)); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
789 ((PixelAspectRatioImageDescriptionExtension *) (*yuv_qt_stuff.extension_pasp))->hSpacing = 1; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
790 ((PixelAspectRatioImageDescriptionExtension *) (*yuv_qt_stuff.extension_pasp))->vSpacing = 1; |
12432 | 791 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
792 (*yuv_qt_stuff.desc)->idSize = sizeof(ImageDescription); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
793 (*yuv_qt_stuff.desc)->cType = image_qtcodec; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
794 (*yuv_qt_stuff.desc)->version = 2; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
795 (*yuv_qt_stuff.desc)->revisionLevel = 0; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
796 (*yuv_qt_stuff.desc)->vendor = 'mpla'; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
797 (*yuv_qt_stuff.desc)->width = imgRect.right; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
798 (*yuv_qt_stuff.desc)->height = imgRect.bottom; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
799 (*yuv_qt_stuff.desc)->hRes = Long2Fix(72); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
800 (*yuv_qt_stuff.desc)->vRes = Long2Fix(72); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
801 (*yuv_qt_stuff.desc)->temporalQuality = 0; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
802 (*yuv_qt_stuff.desc)->spatialQuality = codecLosslessQuality; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
803 (*yuv_qt_stuff.desc)->frameCount = 1; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
804 (*yuv_qt_stuff.desc)->dataSize = 0; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
805 (*yuv_qt_stuff.desc)->depth = 24; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
806 (*yuv_qt_stuff.desc)->clutID = -1; |
27989 | 807 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
808 qterr = AddImageDescriptionExtension(yuv_qt_stuff.desc, yuv_qt_stuff.extension_colr, kColorInfoImageDescriptionExtension); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
809 if (qterr) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
810 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
811 mp_msg(MSGT_VO, MSGL_ERR, "Quartz error: AddImageDescriptionExtension [colr] (%d)\n", qterr); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
812 } |
27989 | 813 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
814 qterr = AddImageDescriptionExtension(yuv_qt_stuff.desc, yuv_qt_stuff.extension_fiel, kFieldInfoImageDescriptionExtension); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
815 if (qterr) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
816 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
817 mp_msg(MSGT_VO, MSGL_ERR, "Quartz error: AddImageDescriptionExtension [fiel] (%d)\n", qterr); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
818 } |
27989 | 819 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
820 qterr = AddImageDescriptionExtension(yuv_qt_stuff.desc, yuv_qt_stuff.extension_clap, kCleanApertureImageDescriptionExtension); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
821 if (qterr) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
822 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
823 mp_msg(MSGT_VO, MSGL_ERR, "Quartz error: AddImageDescriptionExtension [clap] (%d)\n", qterr); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
824 } |
27989 | 825 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
826 qterr = AddImageDescriptionExtension(yuv_qt_stuff.desc, yuv_qt_stuff.extension_pasp, kCleanApertureImageDescriptionExtension); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
827 if (qterr) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
828 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
829 mp_msg(MSGT_VO, MSGL_ERR, "Quartz error: AddImageDescriptionExtension [pasp] (%d)\n", qterr); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
830 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
831 if (P != NULL) { // second or subsequent movie |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
832 free(P); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
833 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
834 P = calloc(sizeof(PlanarPixmapInfoYUV420) + image_size, 1); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
835 switch (image_format) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
836 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
837 case IMGFMT_YV12: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
838 case IMGFMT_IYUV: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
839 case IMGFMT_I420: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
840 P->componentInfoY.offset = be2me_32(sizeof(PlanarPixmapInfoYUV420)); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
841 P->componentInfoCb.offset = be2me_32(be2me_32(P->componentInfoY.offset) + image_size / 2); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
842 P->componentInfoCr.offset = be2me_32(be2me_32(P->componentInfoCb.offset) + image_size / 4); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
843 P->componentInfoY.rowBytes = be2me_32(imgRect.right); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
844 P->componentInfoCb.rowBytes = be2me_32(imgRect.right / 2); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
845 P->componentInfoCr.rowBytes = be2me_32(imgRect.right / 2); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
846 image_buffer_size = image_size + sizeof(PlanarPixmapInfoYUV420); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
847 break; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
848 case IMGFMT_UYVY: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
849 case IMGFMT_YUY2: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
850 image_buffer_size = image_size; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
851 break; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
852 } |
12414 | 853 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
854 qterr = DecompressSequenceBeginS(&seqId, |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
855 yuv_qt_stuff.desc, |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
856 (char *)P, |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
857 image_buffer_size, |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
858 GetWindowPort(theWindow), |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
859 NULL, |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
860 NULL, |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
861 ((d_width != width) || (d_height != height)) ? |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
862 &matrix : NULL, |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
863 srcCopy, |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
864 NULL, |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
865 0, |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
866 codecLosslessQuality, |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
867 bestSpeedCodec); |
12432 | 868 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
869 if (qterr) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
870 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
871 mp_msg(MSGT_VO, MSGL_FATAL, "Quartz error: DecompressSequenceBeginS (%d)\n", qterr); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
872 return -1; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
873 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
874 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
875 break; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
876 } |
27989 | 877 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
878 // Show window |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
879 RepositionWindow(theWindow, NULL, kWindowCenterOnMainScreen); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
880 ShowWindow(theWindow); |
27989 | 881 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
882 if (vo_fs) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
883 window_fullscreen(); |
27989 | 884 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
885 if (vo_ontop) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
886 window_ontop(); |
27989 | 887 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
888 if (vo_rootwin) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
889 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
890 vo_fs = TRUE; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
891 winLevel = 0; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
892 SetWindowGroupLevel(winGroup, CGWindowLevelForKey(levelList[winLevel])); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
893 window_fullscreen(); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
894 } |
27989 | 895 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
896 window_resized(); |
27989 | 897 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
898 return 0; |
12120 | 899 } |
900 | |
12296 | 901 static void check_events(void) |
12120 | 902 { |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
903 EventRef theEvent; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
904 EventTargetRef theTarget; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
905 OSStatus theErr; |
27989 | 906 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
907 // Get event |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
908 theTarget = GetEventDispatcherTarget(); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
909 theErr = ReceiveNextEvent(0, 0, kEventDurationNoWait, true, &theEvent); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
910 if (theErr == noErr && theEvent != NULL) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
911 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
912 SendEventToEventTarget(theEvent, theTarget); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
913 ReleaseEvent(theEvent); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
914 } |
12296 | 915 } |
12120 | 916 |
12296 | 917 static void draw_osd(void) |
918 { | |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
919 vo_draw_text(imgRect.right, imgRect.bottom, draw_alpha); |
12296 | 920 } |
12120 | 921 |
12296 | 922 static void flip_page(void) |
923 { | |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
924 int curTime; |
21396 | 925 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
926 if (theWindow == NULL) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
927 return; |
27989 | 928 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
929 switch (image_format) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
930 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
931 case IMGFMT_RGB32: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
932 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
933 CGContextRef context; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
934 |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
935 QDBeginCGContext(GetWindowPort(theWindow), &context); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
936 CGContextDrawImage(context, bounds, image); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
937 QDEndCGContext(GetWindowPort(theWindow), &context); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
938 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
939 break; |
27989 | 940 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
941 case IMGFMT_YV12: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
942 case IMGFMT_IYUV: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
943 case IMGFMT_I420: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
944 case IMGFMT_UYVY: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
945 case IMGFMT_YUY2: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
946 if (EnterMoviesDone) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
947 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
948 OSErr qterr; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
949 CodecFlags flags = 0; |
27989 | 950 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
951 qterr = DecompressSequenceFrameWhen(seqId, |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
952 (char *)P, |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
953 image_buffer_size, |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
954 0, //codecFlagUseImageBuffer, |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
955 &flags, |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
956 NULL, |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
957 NULL); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
958 if (qterr) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
959 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
960 mp_msg(MSGT_VO, MSGL_ERR, "Quartz error: DecompressSequenceFrameWhen in flip_page (%d) flags:0x%08x\n", qterr, flags); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
961 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
962 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
963 break; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
964 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
965 |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
966 if (!vo_quartz_fs) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
967 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
968 CGContextRef context; |
27989 | 969 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
970 QDBeginCGContext(GetWindowPort(theWindow), &context); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
971 // render resize box |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
972 CGContextBeginPath(context); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
973 CGContextSetAllowsAntialiasing(context, false); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
974 //CGContextSaveGState(context); |
27989 | 975 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
976 // line white |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
977 CGContextSetRGBStrokeColor(context, 0.2, 0.2, 0.2, 0.5); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
978 CGContextMoveToPoint(context, winRect.right - 1, 1); CGContextAddLineToPoint(context, winRect.right - 1, 1); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
979 CGContextMoveToPoint(context, winRect.right - 1, 5); CGContextAddLineToPoint(context, winRect.right - 5, 1); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
980 CGContextMoveToPoint(context, winRect.right - 1, 9); CGContextAddLineToPoint(context, winRect.right - 9, 1); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
981 CGContextStrokePath(context); |
15723 | 982 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
983 // line gray |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
984 CGContextSetRGBStrokeColor(context, 0.4, 0.4, 0.4, 0.5); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
985 CGContextMoveToPoint(context, winRect.right - 1, 2); CGContextAddLineToPoint(context, winRect.right - 2, 1); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
986 CGContextMoveToPoint(context, winRect.right - 1, 6); CGContextAddLineToPoint(context, winRect.right - 6, 1); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
987 CGContextMoveToPoint(context, winRect.right - 1, 10); CGContextAddLineToPoint(context, winRect.right - 10, 1); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
988 CGContextStrokePath(context); |
27989 | 989 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
990 // line black |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
991 CGContextSetRGBStrokeColor(context, 0.6, 0.6, 0.6, 0.5); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
992 CGContextMoveToPoint(context, winRect.right - 1, 3); CGContextAddLineToPoint(context, winRect.right - 3, 1); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
993 CGContextMoveToPoint(context, winRect.right - 1, 7); CGContextAddLineToPoint(context, winRect.right - 7, 1); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
994 CGContextMoveToPoint(context, winRect.right - 1, 11); CGContextAddLineToPoint(context, winRect.right - 11, 1); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
995 CGContextStrokePath(context); |
27989 | 996 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
997 // CGContextRestoreGState( context ); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
998 CGContextFlush(context); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
999 QDEndCGContext(GetWindowPort(theWindow), &context); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1000 } |
15881 | 1001 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1002 curTime = TickCount() / 60; |
27986
9e17ab676ab9
Replace QuickDraw calls in vo_quartz.c to fix warnings when compiling with current SDK versions.
gpoirier
parents:
27397
diff
changeset
|
1003 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1004 // auto hide mouse cursor (and future on-screen control?) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1005 if (vo_quartz_fs && !mouseHide) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1006 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1007 if (((curTime - lastMouseHide) >= 5) || (lastMouseHide == 0)) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1008 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1009 CGDisplayHideCursor(displayId); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1010 mouseHide = TRUE; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1011 lastMouseHide = curTime; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1012 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1013 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1014 // update activity every 30 seconds to prevent |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1015 // screensaver from starting up. |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1016 if (((curTime - lastScreensaverUpdate) >= 30) || (lastScreensaverUpdate == 0)) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1017 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1018 UpdateSystemActivity(UsrActivity); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1019 lastScreensaverUpdate = curTime; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1020 } |
12296 | 1021 } |
1022 | |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1023 static int draw_slice(uint8_t * src[], int stride[], int w, int h, int x, int y) |
12296 | 1024 { |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1025 switch (image_format) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1026 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1027 case IMGFMT_YV12: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1028 case IMGFMT_I420: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1029 memcpy_pic(((char *)P) + be2me_32(P->componentInfoY.offset) + x + imgRect.right * y, src[0], w, h, imgRect.right, stride[0]); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1030 x=x/2;y=y/2;w=w/2;h=h/2; |
27989 | 1031 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1032 memcpy_pic(((char *)P) + be2me_32(P->componentInfoCb.offset) + x + imgRect.right / 2 * y, src[1], w, h, imgRect.right / 2, stride[1]); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1033 memcpy_pic(((char *)P) + be2me_32(P->componentInfoCr.offset) + x + imgRect.right / 2 * y, src[2], w, h, imgRect.right / 2, stride[2]); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1034 return 0; |
27989 | 1035 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1036 case IMGFMT_IYUV: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1037 memcpy_pic(((char *)P) + be2me_32(P->componentInfoY.offset) + x + imgRect.right * y, src[0], w, h, imgRect.right, stride[0]); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1038 x=x/2;y=y/2;w=w/2;h=h/2; |
27989 | 1039 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1040 memcpy_pic(((char *)P) + be2me_32(P->componentInfoCr.offset) + x + imgRect.right / 2 * y, src[1], w, h, imgRect.right / 2, stride[1]); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1041 memcpy_pic(((char *)P) + be2me_32(P->componentInfoCb.offset) + x + imgRect.right / 2 * y, src[2], w, h, imgRect.right / 2, stride[2]); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1042 return 0; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1043 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1044 return -1; |
12296 | 1045 } |
1046 | |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1047 static int draw_frame(uint8_t * src[]) |
12296 | 1048 { |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1049 switch (image_format) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1050 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1051 case IMGFMT_RGB32: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1052 fast_memcpy(image_data, src[0], image_size); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1053 return 0; |
27989 | 1054 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1055 case IMGFMT_UYVY: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1056 case IMGFMT_YUY2: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1057 memcpy_pic(((char *)P), src[0], imgRect.right * 2, imgRect.bottom, imgRect.right * 2, imgRect.right * 2); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1058 return 0; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1059 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1060 return -1; |
12296 | 1061 } |
12120 | 1062 |
16171
fd51fd1ff231
Fix the return types of all (six) libvo API functions. Used to be uint32_t, but
ivo
parents:
15909
diff
changeset
|
1063 static int query_format(uint32_t format) |
12296 | 1064 { |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1065 image_format = format; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1066 image_qtcodec = 0; |
13124 | 1067 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1068 if (format == IMGFMT_RGB32) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1069 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1070 return VFCAP_CSP_SUPPORTED | VFCAP_OSD | VFCAP_HWSCALE_UP | VFCAP_HWSCALE_DOWN; |
13124 | 1071 } |
27989 | 1072 |
12424 | 1073 if ((format == IMGFMT_YV12) || (format == IMGFMT_IYUV) || (format == IMGFMT_I420)) |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1074 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1075 image_qtcodec = kMpegYUV420CodecType; //kYUV420CodecType ?; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1076 return VFCAP_CSP_SUPPORTED | VFCAP_OSD | VFCAP_HWSCALE_UP | VFCAP_HWSCALE_DOWN | VFCAP_ACCEPT_STRIDE; |
12414 | 1077 } |
1078 | |
12424 | 1079 if (format == IMGFMT_YUY2) |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1080 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1081 image_qtcodec = kComponentVideoUnsigned; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1082 return VFCAP_CSP_SUPPORTED | VFCAP_OSD | VFCAP_HWSCALE_UP | VFCAP_HWSCALE_DOWN; |
12414 | 1083 } |
27989 | 1084 |
12424 | 1085 if (format == IMGFMT_UYVY) |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1086 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1087 image_qtcodec = k422YpCbCr8CodecType; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1088 return VFCAP_CSP_SUPPORTED | VFCAP_OSD | VFCAP_HWSCALE_UP | VFCAP_HWSCALE_DOWN; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1089 } |
12414 | 1090 |
12296 | 1091 return 0; |
1092 } | |
12120 | 1093 |
12296 | 1094 static void uninit(void) |
1095 { | |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1096 OSErr qterr; |
27989 | 1097 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1098 switch (image_format) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1099 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1100 case IMGFMT_YV12: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1101 case IMGFMT_IYUV: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1102 case IMGFMT_I420: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1103 case IMGFMT_UYVY: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1104 case IMGFMT_YUY2: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1105 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1106 if (EnterMoviesDone) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1107 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1108 qterr = CDSequenceEnd(seqId); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1109 if (qterr) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1110 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1111 mp_msg(MSGT_VO, MSGL_ERR, "Quartz error: CDSequenceEnd (%d)\n", qterr); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1112 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1113 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1114 break; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1115 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1116 default: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1117 break; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1118 } |
12432 | 1119 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1120 ShowMenuBar(); |
12296 | 1121 } |
12120 | 1122 |
16171
fd51fd1ff231
Fix the return types of all (six) libvo API functions. Used to be uint32_t, but
ivo
parents:
15909
diff
changeset
|
1123 static int preinit(const char *arg) |
12296 | 1124 { |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1125 int parse_err = 0; |
27989 | 1126 |
1127 if(arg) | |
12519
12a87d539f6d
choose fullscreen device with suboption device_id=#
nplourde
parents:
12517
diff
changeset
|
1128 { |
12623 | 1129 char *parse_pos = (char *)&arg[0]; |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1130 |
27989 | 1131 while (parse_pos[0] && !parse_err) |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1132 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1133 if (strncmp(parse_pos, "device_id=", 10) == 0) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1134 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1135 parse_pos = &parse_pos[10]; |
12519
12a87d539f6d
choose fullscreen device with suboption device_id=#
nplourde
parents:
12517
diff
changeset
|
1136 device_id = strtol(parse_pos, &parse_pos, 0); |
12a87d539f6d
choose fullscreen device with suboption device_id=#
nplourde
parents:
12517
diff
changeset
|
1137 } |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1138 if (strncmp(parse_pos, "fs_res=", 7) == 0) |
13788
ced61fa921ca
let you choose fullscreen resolution for slower system
nplourde
parents:
13787
diff
changeset
|
1139 { |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1140 parse_pos = &parse_pos[7]; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1141 fs_res_x = strtol(parse_pos, &parse_pos, 0); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1142 parse_pos = &parse_pos[1]; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1143 fs_res_y = strtol(parse_pos, &parse_pos, 0); |
13788
ced61fa921ca
let you choose fullscreen resolution for slower system
nplourde
parents:
13787
diff
changeset
|
1144 } |
27991
0a0ea17f7f64
avoid putting several statements on a single line
gpoirier
parents:
27990
diff
changeset
|
1145 if (parse_pos[0] == ':') |
0a0ea17f7f64
avoid putting several statements on a single line
gpoirier
parents:
27990
diff
changeset
|
1146 parse_pos = &parse_pos[1]; |
0a0ea17f7f64
avoid putting several statements on a single line
gpoirier
parents:
27990
diff
changeset
|
1147 else if (parse_pos[0]) |
0a0ea17f7f64
avoid putting several statements on a single line
gpoirier
parents:
27990
diff
changeset
|
1148 parse_err = 1; |
12519
12a87d539f6d
choose fullscreen device with suboption device_id=#
nplourde
parents:
12517
diff
changeset
|
1149 } |
12a87d539f6d
choose fullscreen device with suboption device_id=#
nplourde
parents:
12517
diff
changeset
|
1150 } |
27989 | 1151 |
27397
d47744b95b78
Give a CONFIG_ prefix to preprocessor directives that lacked one and
diego
parents:
27394
diff
changeset
|
1152 #if !defined (CONFIG_MACOSX_FINDER) || !defined (CONFIG_SDL) |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1153 // this chunk of code is heavily based off SDL_macosx.m from SDL |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1154 // the CPSEnableForegroundOperation that was here before is private and shouldn't be used |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1155 // replaced by a call to the 10.3+ TransformProcessType |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1156 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1157 ProcessSerialNumber myProc, frProc; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1158 Boolean sameProc; |
27989 | 1159 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1160 if (GetFrontProcess(&frProc) == noErr) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1161 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1162 if (GetCurrentProcess(&myProc) == noErr) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1163 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1164 if (SameProcess(&frProc, &myProc, &sameProc) == noErr && !sameProc) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1165 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1166 TransformProcessType(&myProc, kProcessTransformToForegroundApplication); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1167 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1168 SetFrontProcess(&myProc); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1169 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1170 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1171 } |
13909
07dadc3066f3
add support for macosx finder argument support (let you bundle mplayer to be a finder compliant .app) patch by Chris Roccati <roccati@pobox.com>
nplourde
parents:
13856
diff
changeset
|
1172 #endif |
12785
33f58bfc8a1b
make mplayer capable of being in the foreground by Dan Christiansen
nplourde
parents:
12624
diff
changeset
|
1173 |
12296 | 1174 return 0; |
12120 | 1175 } |
1176 | |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1177 static uint32_t draw_yuv_image(mp_image_t * mpi) |
12424 | 1178 { |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1179 // ATM we're only called for planar IMGFMT |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1180 // drawing is done directly in P |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1181 // and displaying is in flip_page. |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1182 return get_image_done ? VO_TRUE : VO_FALSE; |
12414 | 1183 } |
1184 | |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1185 static uint32_t get_yuv_image(mp_image_t * mpi) |
12424 | 1186 { |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1187 if (mpi->type != MP_IMGTYPE_EXPORT) return VO_FALSE; |
27989 | 1188 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1189 if (mpi->imgfmt != image_format) return VO_FALSE; |
27989 | 1190 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1191 if (mpi->flags & MP_IMGFLAG_PLANAR) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1192 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1193 if (mpi->num_planes != 3) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1194 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1195 mp_msg(MSGT_VO, MSGL_ERR, "Quartz error: only 3 planes allowed in get_yuv_image for planar (%d) \n", mpi->num_planes); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1196 return VO_FALSE; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1197 } |
12414 | 1198 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1199 mpi->planes[0] = ((char *)P) + be2me_32(P->componentInfoY.offset); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1200 mpi->stride[0] = imgRect.right; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1201 mpi->width = imgRect.right; |
12414 | 1202 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1203 if (mpi->flags & MP_IMGFLAG_SWAPPED) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1204 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1205 // I420 |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1206 mpi->planes[1] = ((char *)P) + be2me_32(P->componentInfoCb.offset); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1207 mpi->planes[2] = ((char *)P) + be2me_32(P->componentInfoCr.offset); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1208 mpi->stride[1] = imgRect.right / 2; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1209 mpi->stride[2] = imgRect.right / 2; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1210 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1211 else |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1212 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1213 // YV12 |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1214 mpi->planes[1] = ((char *)P) + be2me_32(P->componentInfoCr.offset); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1215 mpi->planes[2] = ((char *)P) + be2me_32(P->componentInfoCb.offset); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1216 mpi->stride[1] = imgRect.right / 2; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1217 mpi->stride[2] = imgRect.right / 2; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1218 } |
27989 | 1219 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1220 mpi->flags |= MP_IMGFLAG_DIRECT; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1221 get_image_done = 1; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1222 return VO_TRUE; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1223 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1224 else |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1225 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1226 // doesn't work yet |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1227 if (mpi->num_planes != 1) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1228 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1229 mp_msg(MSGT_VO, MSGL_ERR, "Quartz error: only 1 plane allowed in get_yuv_image for packed (%d) \n", mpi->num_planes); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1230 return VO_FALSE; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1231 } |
12414 | 1232 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1233 mpi->planes[0] = (char *)P; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1234 mpi->stride[0] = imgRect.right * 2; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1235 mpi->width = imgRect.right; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1236 mpi->flags |= MP_IMGFLAG_DIRECT; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1237 get_image_done = 1; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1238 return VO_TRUE; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1239 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1240 return VO_FALSE; |
12414 | 1241 } |
1242 | |
16171
fd51fd1ff231
Fix the return types of all (six) libvo API functions. Used to be uint32_t, but
ivo
parents:
15909
diff
changeset
|
1243 static int control(uint32_t request, void *data, ...) |
12120 | 1244 { |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1245 switch (request) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1246 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1247 case VOCTRL_PAUSE: return int_pause = 1; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1248 case VOCTRL_RESUME: return int_pause = 0; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1249 case VOCTRL_FULLSCREEN: vo_fs = (!(vo_fs)); window_fullscreen(); return VO_TRUE; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1250 case VOCTRL_ONTOP: vo_ontop = (!(vo_ontop)); window_ontop(); return VO_TRUE; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1251 case VOCTRL_QUERY_FORMAT: return query_format(*((uint32_t *) data)); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1252 case VOCTRL_GET_PANSCAN: return VO_TRUE; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1253 case VOCTRL_SET_PANSCAN: window_panscan(); return VO_TRUE; |
27989 | 1254 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1255 case VOCTRL_GET_IMAGE: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1256 switch (image_format) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1257 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1258 case IMGFMT_YV12: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1259 case IMGFMT_IYUV: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1260 case IMGFMT_I420: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1261 case IMGFMT_UYVY: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1262 case IMGFMT_YUY2: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1263 return get_yuv_image(data); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1264 break; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1265 default: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1266 break; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1267 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1268 case VOCTRL_DRAW_IMAGE: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1269 switch (image_format) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1270 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1271 case IMGFMT_YV12: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1272 case IMGFMT_IYUV: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1273 case IMGFMT_I420: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1274 case IMGFMT_UYVY: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1275 case IMGFMT_YUY2: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1276 return draw_yuv_image(data); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1277 break; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1278 default: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1279 break; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1280 } |
29530
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
1281 case VOCTRL_UPDATE_SCREENINFO: |
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
1282 update_screen_info(); |
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
1283 return VO_TRUE; |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1284 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1285 return VO_NOTIMPL; |
12120 | 1286 } |
1287 | |
29212
eda346733b8c
Add missing 'void' to parameterless function declarations.
diego
parents:
28446
diff
changeset
|
1288 void window_resized(void) |
12120 | 1289 { |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1290 uint32_t d_width; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1291 uint32_t d_height; |
27989 | 1292 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1293 CGRect tmpBounds; |
13734 | 1294 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1295 CGContextRef context; |
27986
9e17ab676ab9
Replace QuickDraw calls in vo_quartz.c to fix warnings when compiling with current SDK versions.
gpoirier
parents:
27397
diff
changeset
|
1296 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1297 GetWindowPortBounds(theWindow, &winRect); |
29530
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
1298 d_width = vo_dwidth = winRect.right; |
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
1299 d_height = vo_dheight = winRect.bottom; |
12120 | 1300 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1301 if (vo_keepaspect) |
29530
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
1302 aspect(&d_width, &d_height, A_WINZOOM); |
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
1303 SetRect(&dstRect, (vo_dwidth - d_width) / 2, (vo_dheight - d_height) / 2, d_width, d_height); |
27989 | 1304 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1305 switch (image_format) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1306 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1307 case IMGFMT_RGB32: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1308 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1309 bounds = CGRectMake(dstRect.left, dstRect.top, dstRect.right - dstRect.left, dstRect.bottom - dstRect.top); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1310 break; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1311 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1312 case IMGFMT_YV12: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1313 case IMGFMT_IYUV: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1314 case IMGFMT_I420: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1315 case IMGFMT_UYVY: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1316 case IMGFMT_YUY2: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1317 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1318 long scale_X = FixDiv(Long2Fix(dstRect.right - dstRect.left), Long2Fix(imgRect.right)); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1319 long scale_Y = FixDiv(Long2Fix(dstRect.bottom - dstRect.top), Long2Fix(imgRect.bottom)); |
27989 | 1320 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1321 SetIdentityMatrix(&matrix); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1322 if (((dstRect.right - dstRect.left) != imgRect.right) || ((dstRect.bottom - dstRect.right) != imgRect.bottom)) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1323 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1324 ScaleMatrix(&matrix, scale_X, scale_Y, 0, 0); |
27989 | 1325 |
29530
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
1326 if (vo_dwidth > d_width || vo_dheight > d_height) |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1327 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1328 TranslateMatrix(&matrix, Long2Fix(dstRect.left), Long2Fix(dstRect.top)); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1329 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1330 } |
27989 | 1331 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1332 SetDSequenceMatrix(seqId, &matrix); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1333 break; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1334 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1335 default: |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1336 break; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1337 } |
27989 | 1338 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1339 // Clear Background |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1340 tmpBounds = CGRectMake(0, 0, winRect.right, winRect.bottom); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1341 QDBeginCGContext(GetWindowPort(theWindow), &context); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1342 CGContextFillRect(context, tmpBounds); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1343 QDEndCGContext(GetWindowPort(theWindow), &context); |
12120 | 1344 } |
1345 | |
29212
eda346733b8c
Add missing 'void' to parameterless function declarations.
diego
parents:
28446
diff
changeset
|
1346 void window_ontop(void) |
12460 | 1347 { |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1348 if (!vo_quartz_fs) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1349 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1350 // Cycle between level |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1351 winLevel++; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1352 if (winLevel > 2) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1353 winLevel = 1; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1354 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1355 SetWindowGroupLevel(winGroup, CGWindowLevelForKey(levelList[winLevel])); |
12120 | 1356 } |
1357 | |
29212
eda346733b8c
Add missing 'void' to parameterless function declarations.
diego
parents:
28446
diff
changeset
|
1358 void window_fullscreen(void) |
12120 | 1359 { |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1360 // go fullscreen |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1361 if (vo_fs) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1362 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1363 if (winLevel != 0) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1364 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1365 if (displayId == kCGDirectMainDisplay) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1366 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1367 SetSystemUIMode(kUIModeAllHidden, kUIOptionAutoShowMenuBar); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1368 CGDisplayHideCursor(displayId); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1369 mouseHide = TRUE; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1370 } |
27989 | 1371 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1372 if (fs_res_x != 0 || fs_res_y != 0) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1373 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1374 CFDictionaryRef mode; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1375 size_t desiredBitDepth = 32; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1376 boolean_t exactMatch; |
27989 | 1377 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1378 originalMode = CGDisplayCurrentMode(displayId); |
27989 | 1379 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1380 mode = CGDisplayBestModeForParameters(displayId, desiredBitDepth, fs_res_x, fs_res_y, &exactMatch); |
27986
9e17ab676ab9
Replace QuickDraw calls in vo_quartz.c to fix warnings when compiling with current SDK versions.
gpoirier
parents:
27397
diff
changeset
|
1381 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1382 if (mode != NULL) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1383 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1384 if (!exactMatch) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1385 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1386 // Warn if the mode doesn't match exactly |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1387 mp_msg(MSGT_VO, MSGL_WARN, "Quartz warning: did not get exact mode match (got %dx%d) \n", (int)CFDictionaryGetValue(mode, kCGDisplayWidth), (int)CFDictionaryGetValue(mode, kCGDisplayHeight)); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1388 } |
27986
9e17ab676ab9
Replace QuickDraw calls in vo_quartz.c to fix warnings when compiling with current SDK versions.
gpoirier
parents:
27397
diff
changeset
|
1389 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1390 CGDisplayCapture(displayId); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1391 CGDisplaySwitchToMode(displayId, mode); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1392 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1393 else |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1394 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1395 mp_msg(MSGT_VO, MSGL_ERR, "Quartz error: can't switch to fullscreen \n"); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1396 } |
27986
9e17ab676ab9
Replace QuickDraw calls in vo_quartz.c to fix warnings when compiling with current SDK versions.
gpoirier
parents:
27397
diff
changeset
|
1397 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1398 // Get Main device info/////////////////////////////////////////////////// |
29530
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
1399 update_screen_info(); |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1400 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1401 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1402 // save old window size |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1403 if (!vo_quartz_fs) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1404 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1405 GetWindowPortBounds(theWindow, &oldWinRect); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1406 GetWindowBounds(theWindow, kWindowContentRgn, &oldWinBounds); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1407 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1408 // go fullscreen |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1409 ChangeWindowAttributes(theWindow, kWindowNoShadowAttribute, 0); |
12487 | 1410 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1411 vo_quartz_fs = 1; |
29530
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
1412 window_panscan(); |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1413 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1414 else //go back to windowed mode |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1415 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1416 vo_quartz_fs = 0; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1417 if (originalMode != NULL) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1418 { |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1419 CGDisplaySwitchToMode(displayId, originalMode); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1420 CGDisplayRelease(displayId); |
27989 | 1421 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1422 // Get Main device info/////////////////////////////////////////////////// |
29530
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
1423 update_screen_info(); |
27989 | 1424 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1425 originalMode = NULL; |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1426 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1427 SetSystemUIMode(kUIModeNormal, 0); |
12120 | 1428 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1429 // show mouse cursor |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1430 CGDisplayShowCursor(displayId); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1431 mouseHide = FALSE; |
27989 | 1432 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1433 // revert window to previous setting |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1434 ChangeWindowAttributes(theWindow, 0, kWindowNoShadowAttribute); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1435 SizeWindow(theWindow, oldWinRect.right, oldWinRect.bottom, 1); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1436 MoveWindow(theWindow, oldWinBounds.left, oldWinBounds.top, 1); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1437 } |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1438 window_resized(); |
12120 | 1439 } |
13840 | 1440 |
29212
eda346733b8c
Add missing 'void' to parameterless function declarations.
diego
parents:
28446
diff
changeset
|
1441 void window_panscan(void) |
13840 | 1442 { |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1443 panscan_calc(); |
27989 | 1444 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1445 if (vo_panscan > 0) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1446 CheckMenuItem(aspectMenu, 2, 1); |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1447 else |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1448 CheckMenuItem(aspectMenu, 2, 0); |
27989 | 1449 |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1450 if (vo_quartz_fs) |
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1451 { |
29530
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
1452 MoveWindow(theWindow, xinerama_x - (vo_panscan_x >> 1), xinerama_y - (vo_panscan_y >> 1), 1); |
4fdf692b06a4
Use the standard MPlayer aspect handling instead of reimplementing our own in vo_quartz.
reimar
parents:
29528
diff
changeset
|
1453 SizeWindow(theWindow, vo_screenwidth + vo_panscan_x, vo_screenheight + vo_panscan_y, 1); |
27992
0923262b0ebc
cosmetics (svn diff --diff-cmd diff -x '-duwbBE' gives no differences)
gpoirier
parents:
27991
diff
changeset
|
1454 } |
13840 | 1455 } |