]> git.sesse.net Git - vlc/blob - modules/gui/macosx/fspanel.h
31bfe25ff4a6c62e76a0b31bf89a5ddb50db55bd
[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 }\r
37 - (id)initWithContentRect: (NSRect)contentRect \r
38                 styleMask: (unsigned int)aStyle \r
39                   backing: (NSBackingStoreType)bufferingType\r
40                     defer: (BOOL)flag;\r
41 - (void)awakeFromNib;\r
42 - (BOOL)canBecomeKeyWindow;\r
43 - (void)dealloc;\r
44 \r
45 - (void)setPlay;\r
46 - (void)setPause;\r
47 - (void)setStreamTitle:(NSString *)o_title;\r
48 - (void)setStreamPos:(float) f_pos andTime:(NSString *)o_time;\r
49 - (void)setSeekable:(BOOL) b_seekable;\r
50 - (void)setVolumeLevel: (float)f_volumeLevel;\r
51 \r
52 - (void)focus:(NSTimer *)timer;\r
53 - (void)unfocus:(NSTimer *)timer;\r
54 - (void)mouseExited:(NSEvent *)theEvent;\r
55 \r
56 - (void)fadeIn;\r
57 - (void)fadeOut;\r
58 \r
59 - (NSTimer *)fadeTimer;\r
60 - (void)setFadeTimer:(NSTimer *)timer;\r
61 - (void)autoHide;\r
62 - (void)keepVisible:(NSTimer *)timer;\r
63 \r
64 - (void)mouseDown:(NSEvent *)theEvent;\r
65 - (void)mouseDragged:(NSEvent *)theEvent;\r
66 \r
67 - (BOOL)isDisplayed;\r
68 - (void)setVoutWasUpdated;\r
69 @end\r
70 \r
71 @interface VLCFSPanelView : NSView\r
72 {\r
73     NSColor *fillColor;\r
74     NSButton *o_prev, *o_next, *o_slow, *o_fast, *o_play, *o_fullscreen;\r
75     NSTextField *o_streamTitle_txt, *o_streamPosition_txt;\r
76     NSSlider *o_fs_timeSlider, *o_fs_volumeSlider;\r
77 }\r
78 - (id)initWithFrame:(NSRect)frameRect;\r
79 - (void)drawRect:(NSRect)rect;\r
80 \r
81 - (void)setPlay;\r
82 - (void)setPause;\r
83 - (void)setStreamTitle: (NSString *)o_title;\r
84 - (void)setStreamPos: (float)f_pos andTime: (NSString *)o_time;\r
85 - (void)setSeekable: (BOOL)b_seekable; \r
86 - (void)setVolumeLevel: (float)f_volumeLevel;\r
87 - (IBAction)play:(id)sender;\r
88 - (IBAction)prev:(id)sender;\r
89 - (IBAction)next:(id)sender;\r
90 - (IBAction)faster:(id)sender;\r
91 - (IBAction)slower:(id)sender;\r
92 - (IBAction)fsTimeSliderUpdate:(id)sender;\r
93 - (IBAction)fsVolumeSliderUpdate:(id)sender;\r
94 \r
95 @end\r
96 \r
97 @interface VLCFSTimeSlider : NSSlider\r
98 {\r
99 }\r
100 - (void)drawKnobInRect:(NSRect)knobRect;\r
101 - (void)drawRect:(NSRect)rect;\r
102 \r
103 @end\r
104 \r
105 @interface VLCFSVolumeSlider : NSSlider\r
106 {\r
107 }\r
108 - (void)drawKnobInRect:(NSRect)knobRect;\r
109 - (void)drawRect:(NSRect)rect;\r
110 \r
111 @end\r