]> git.sesse.net Git - vlc/blob - modules/gui/macosx/fspanel.h
* forwardport: [18319], [18320]
[vlc] / modules / gui / macosx / fspanel.h
1 /*****************************************************************************\r
2  * fspanel.h: MacOS X full screen panel\r
3  *****************************************************************************\r
4  * Copyright (C) 2006 the VideoLAN team\r
5  * $Id$\r
6  *\r
7  * Authors: J\8er\99me Decoodt <djc at videolan dot org>\r
8  *          Felix K\9fhne <fkuehne at videolan dot org>\r
9  *\r
10  * This program is free software; you can redistribute it and/or modify\r
11  * it under the terms of the GNU General Public License as published by\r
12  * the Free Software Foundation; either version 2 of the License, or\r
13  * (at your option) any later version.\r
14  * \r
15  * This program is distributed in the hope that it will be useful,\r
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
18  * GNU General Public License for more details.\r
19  *\r
20  * You should have received a copy of the GNU General Public License\r
21  * along with this program; if not, write to the Free Software\r
22  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.\r
23  *****************************************************************************/\r
24 \r
25 @interface VLCFSPanel : NSWindow\r
26 {\r
27     NSTimer *fadeTimer,*hideAgainTimer;\r
28     NSPoint mouseClic;\r
29     BOOL b_fadeQueued;\r
30     BOOL b_keptVisible;\r
31     BOOL b_alreadyCounting;\r
32     int i_timeToKeepVisibleInSec;\r
33 \r
34     BOOL b_displayed;\r
35     BOOL b_voutWasUpdated;\r
36     int i_device;\r
37 }\r
38 - (id)initWithContentRect: (NSRect)contentRect \r
39                 styleMask: (unsigned int)aStyle \r
40                   backing: (NSBackingStoreType)bufferingType\r
41                     defer: (BOOL)flag;\r
42 - (void)awakeFromNib;\r
43 - (BOOL)canBecomeKeyWindow;\r
44 - (void)dealloc;\r
45 \r
46 - (void)setPlay;\r
47 - (void)setPause;\r
48 - (void)setStreamTitle:(NSString *)o_title;\r
49 - (void)setStreamPos:(float) f_pos andTime:(NSString *)o_time;\r
50 - (void)setSeekable:(BOOL) b_seekable;\r
51 - (void)setVolumeLevel: (float)f_volumeLevel;\r
52 \r
53 - (void)focus:(NSTimer *)timer;\r
54 - (void)unfocus:(NSTimer *)timer;\r
55 - (void)mouseExited:(NSEvent *)theEvent;\r
56 \r
57 - (void)fadeIn;\r
58 - (void)fadeOut;\r
59 \r
60 - (NSTimer *)fadeTimer;\r
61 - (void)setFadeTimer:(NSTimer *)timer;\r
62 - (void)autoHide;\r
63 - (void)keepVisible:(NSTimer *)timer;\r
64 \r
65 - (void)mouseDown:(NSEvent *)theEvent;\r
66 - (void)mouseDragged:(NSEvent *)theEvent;\r
67 \r
68 - (BOOL)isDisplayed;\r
69 - (void)setVoutWasUpdated: (int) i_screen;\r
70 @end\r
71 \r
72 @interface VLCFSPanelView : NSView\r
73 {\r
74     NSColor *fillColor;\r
75     NSButton *o_prev, *o_next, *o_slow, *o_fast, *o_play, *o_fullscreen;\r
76     NSTextField *o_streamTitle_txt, *o_streamPosition_txt;\r
77     NSSlider *o_fs_timeSlider, *o_fs_volumeSlider;\r
78 }\r
79 - (id)initWithFrame:(NSRect)frameRect;\r
80 - (void)drawRect:(NSRect)rect;\r
81 \r
82 - (void)setPlay;\r
83 - (void)setPause;\r
84 - (void)setStreamTitle: (NSString *)o_title;\r
85 - (void)setStreamPos: (float)f_pos andTime: (NSString *)o_time;\r
86 - (void)setSeekable: (BOOL)b_seekable; \r
87 - (void)setVolumeLevel: (float)f_volumeLevel;\r
88 - (IBAction)play:(id)sender;\r
89 - (IBAction)prev:(id)sender;\r
90 - (IBAction)next:(id)sender;\r
91 - (IBAction)faster:(id)sender;\r
92 - (IBAction)slower:(id)sender;\r
93 - (IBAction)fsTimeSliderUpdate:(id)sender;\r
94 - (IBAction)fsVolumeSliderUpdate:(id)sender;\r
95 \r
96 @end\r
97 \r
98 @interface VLCFSTimeSlider : NSSlider\r
99 {\r
100 }\r
101 - (void)drawKnobInRect:(NSRect)knobRect;\r
102 - (void)drawRect:(NSRect)rect;\r
103 \r
104 @end\r
105 \r
106 @interface VLCFSVolumeSlider : NSSlider\r
107 {\r
108 }\r
109 - (void)drawKnobInRect:(NSRect)knobRect;\r
110 - (void)drawRect:(NSRect)rect;\r
111 \r
112 @end\r