]> git.sesse.net Git - vlc/blob - modules/gui/macosx/misc.h
macosx: slim the split view divider and turn it black
[vlc] / modules / gui / macosx / misc.h
1 /*****************************************************************************
2  * misc.h: code not specific to vlc
3  *****************************************************************************
4  * Copyright (C) 2003-2011 the VideoLAN team
5  * $Id$
6  *
7  * Authors: Jon Lech Johansen <jon-vl@nanocrew.net>
8  *          Felix Paul Kühne <fkuehne at videolan dot org>
9  *
10  * This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; either version 2 of the License, or
13  * (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program; if not, write to the Free Software
22  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
23  *****************************************************************************/
24
25 #import <Cocoa/Cocoa.h>
26 #import <ApplicationServices/ApplicationServices.h>
27 #import "CompatibilityFixes.h"
28
29 /*****************************************************************************
30  * NSAnimation (VLCAddition)
31  *****************************************************************************/
32
33 @interface NSAnimation (VLCAdditions)
34 - (void)setUserInfo: (void *)userInfo;
35 - (void *)userInfo;
36 @end
37
38 /*****************************************************************************
39  * NSScreen (VLCAdditions)
40  *
41  *  Missing extension to NSScreen
42  *****************************************************************************/
43
44 @interface NSScreen (VLCAdditions)
45
46 + (NSScreen *)screenWithDisplayID: (CGDirectDisplayID)displayID;
47 - (BOOL)isMainScreen;
48 - (BOOL)isScreen: (NSScreen*)screen;
49 - (CGDirectDisplayID)displayID;
50 - (void)blackoutOtherScreens;
51 + (void)unblackoutScreens;
52 @end
53
54 /*****************************************************************************
55  * VLCWindow
56  *
57  *  Missing extension to NSWindow
58  *****************************************************************************/
59
60 @interface VLCWindow : NSWindow <NSWindowDelegate>
61 {
62     BOOL b_canBecomeKeyWindow;
63     BOOL b_isset_canBecomeKeyWindow;
64     NSViewAnimation *animation;
65 }
66
67 - (void)setCanBecomeKeyWindow: (BOOL)canBecomeKey;
68
69 /* animate mode is only supported in >=10.4 */
70 - (void)orderFront: (id)sender animate: (BOOL)animate;
71
72 /* animate mode is only supported in >=10.4 */
73 - (void)orderOut: (id)sender animate: (BOOL)animate;
74
75 /* animate mode is only supported in >=10.4 */
76 - (void)orderOut: (id)sender animate: (BOOL)animate callback:(NSInvocation *)callback;
77
78 /* animate mode is only supported in >=10.4 */
79 - (void)closeAndAnimate: (BOOL)animate;
80 @end
81
82
83 /*****************************************************************************
84  * VLCControllerView
85  *****************************************************************************/
86
87 @interface VLCControllerView : NSView
88 {
89 }
90
91 @end
92
93 /*****************************************************************************
94  * VLBrushedMetalImageView
95  *****************************************************************************/
96
97 @interface VLBrushedMetalImageView : NSImageView
98 {
99
100 }
101
102 @end
103
104
105 /*****************************************************************************
106  * MPSlider
107  *****************************************************************************/
108
109 @interface MPSlider : NSSlider
110 {
111 }
112
113 @end
114
115 /*****************************************************************************
116  * TimeLineSlider
117  *****************************************************************************/
118
119 @interface TimeLineSlider : NSSlider
120 {
121 }
122
123 - (void)drawRect:(NSRect)rect;
124 - (void)drawKnobInRect:(NSRect)knobRect;
125
126 @end
127
128 /*****************************************************************************
129  * ITSlider
130  *****************************************************************************/
131
132 @interface ITSlider : NSSlider
133 {
134 }
135
136 - (void)drawRect:(NSRect)rect;
137 - (void)drawKnobInRect:(NSRect)knobRect;
138
139 @end
140
141 /*****************************************************************************
142  * VLCTimeField interface
143  *****************************************************************************
144  * we need the implementation to catch our click-event in the controller window
145  *****************************************************************************/
146
147 @interface VLCTimeField : NSTextField
148 {
149 }
150 - (BOOL)timeRemaining;
151 @end
152
153 /*****************************************************************************
154  * VLCMainWindowSplitView interface
155  *****************************************************************************/
156 @interface VLCMainWindowSplitView : NSSplitView
157 {
158 }
159
160 @end