1 /*****************************************************************************
\r
2 * fspanel.h: MacOS X full screen panel
\r
3 *****************************************************************************
\r
4 * Copyright (C) 2006 the VideoLAN team
\r
7 * Authors: J
\8er
\99me Decoodt <djc at videolan dot org>
\r
8 * Felix K
\9fhne <fkuehne at videolan dot org>
\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
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
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
25 @interface VLCFSPanel : NSWindow
\r
27 NSTimer *fadeTimer,*hideAgainTimer;
\r
31 BOOL b_alreadyCounting;
\r
32 int i_timeToKeepVisibleInSec;
\r
35 BOOL b_voutWasUpdated;
\r
37 - (id)initWithContentRect: (NSRect)contentRect
\r
38 styleMask: (unsigned int)aStyle
\r
39 backing: (NSBackingStoreType)bufferingType
\r
41 - (void)awakeFromNib;
\r
42 - (BOOL)canBecomeKeyWindow;
\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
52 - (void)focus:(NSTimer *)timer;
\r
53 - (void)unfocus:(NSTimer *)timer;
\r
54 - (void)mouseExited:(NSEvent *)theEvent;
\r
59 - (NSTimer *)fadeTimer;
\r
60 - (void)setFadeTimer:(NSTimer *)timer;
\r
62 - (void)keepVisible:(NSTimer *)timer;
\r
64 - (void)mouseDown:(NSEvent *)theEvent;
\r
65 - (void)mouseDragged:(NSEvent *)theEvent;
\r
67 - (BOOL)isDisplayed;
\r
68 - (void)setVoutWasUpdated;
\r
71 @interface VLCFSPanelView : NSView
\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
78 - (id)initWithFrame:(NSRect)frameRect;
\r
79 - (void)drawRect:(NSRect)rect;
\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
97 @interface VLCFSTimeSlider : NSSlider
\r
100 - (void)drawKnobInRect:(NSRect)knobRect;
\r
101 - (void)drawRect:(NSRect)rect;
\r
105 @interface VLCFSVolumeSlider : NSSlider
\r
108 - (void)drawKnobInRect:(NSRect)knobRect;
\r
109 - (void)drawRect:(NSRect)rect;
\r