Support other displays fade out. Change video-device to point to the unique screen ID.
[vlc.git] / modules / gui / macosx / misc.h
1 /*****************************************************************************
2  * misc.h: code not specific to vlc
3  *****************************************************************************
4  * Copyright (C) 2003 the VideoLAN team
5  * $Id$
6  *
7  * Authors: Jon Lech Johansen <jon-vl@nanocrew.net>
8  *
9  * This program is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License as published by
11  * the Free Software Foundation; either version 2 of the License, or
12  * (at your option) any later version.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  * GNU General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this program; if not, write to the Free Software
21  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
22  *****************************************************************************/
23
24 #import <ApplicationServices/ApplicationServices.h>
25
26 /*****************************************************************************
27  * NSAnimation (VLCAddition)
28  *****************************************************************************/
29
30 @interface NSAnimation (VLCAdditions)
31 - (void)setUserInfo: (void *)userInfo;
32 - (void *)userInfo;
33 @end
34
35 /*****************************************************************************
36  * NSScreen (VLCAdditions)
37  *
38  *  Missing extension to NSScreen
39  *****************************************************************************/
40
41 @interface NSScreen (VLCAdditions)
42
43 + (NSScreen *)screenWithDisplayID: (CGDirectDisplayID)displayID;
44 - (CGDirectDisplayID)displayID;
45 - (void)blackoutOtherScreens;
46 + (void)unblackoutScreens;
47 @end
48
49 /*****************************************************************************
50  * VLCWindow
51  *
52  *  Missing extension to NSWindow
53  *****************************************************************************/
54
55 @interface VLCWindow : NSWindow
56 {
57     BOOL b_canBecomeKeyWindow;
58     BOOL b_isset_canBecomeKeyWindow;
59     NSViewAnimation *animation;
60 }
61
62 - (void)setCanBecomeKeyWindow: (BOOL)canBecomeKey;
63
64 /* animate mode is only supported in >=10.4 */
65 - (void)orderFront: (id)sender animate: (BOOL)animate;
66
67 /* animate mode is only supported in >=10.4 */
68 - (void)orderOut: (id)sender animate: (BOOL)animate;
69
70 /* animate mode is only supported in >=10.4 */
71 - (void)orderOut: (id)sender animate: (BOOL)animate callback:(NSInvocation *)callback;
72
73 /* animate mode is only supported in >=10.4 */
74 - (void)closeAndAnimate: (BOOL)animate;
75 @end
76
77
78 /*****************************************************************************
79  * VLCControllerWindow
80  *****************************************************************************/
81
82
83 @interface VLCControllerWindow : NSWindow
84 {
85 }
86
87 @end
88
89 /*****************************************************************************
90  * VLCControllerView
91  *****************************************************************************/
92
93 @interface VLCControllerView : NSView
94 {
95 }
96
97 @end
98
99 /*****************************************************************************
100  * VLBrushedMetalImageView
101  *****************************************************************************/
102
103 @interface VLBrushedMetalImageView : NSImageView
104 {
105
106 }
107
108 @end
109
110
111 /*****************************************************************************
112  * MPSlider
113  *****************************************************************************/
114
115 @interface MPSlider : NSSlider
116 {
117 }
118
119 @end
120
121 /*****************************************************************************
122  * ITSliderCell
123  *****************************************************************************/
124  
125 @interface ITSlider : NSSlider
126 {
127 }
128
129 @end
130
131 /*****************************************************************************
132  * ITSliderCell
133  *****************************************************************************/
134  
135 @interface ITSliderCell : NSSliderCell
136 {
137     NSImage *_knobOff;
138     NSImage *_knobOn;
139     BOOL b_mouse_down;
140 }
141
142 @end