]> git.sesse.net Git - vlc/blob - modules/gui/macosx/fspanel.h
* removed some further hangover from the original patch and finally added embeddedWin...
[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 - (id)initWithContentRect: (NSRect)contentRect \r
35                 styleMask: (unsigned int)aStyle \r
36                   backing: (NSBackingStoreType)bufferingType\r
37                     defer: (BOOL)flag;\r
38 - (void)awakeFromNib;\r
39 - (BOOL)canBecomeKeyWindow;\r
40 - (void)dealloc;\r
41 \r
42 - (void)setPlay;\r
43 - (void)setPause;\r
44 - (void)setStreamTitle:(NSString *)o_title;\r
45 - (void)setStreamPos:(float) f_pos setSeconds:(int)i_seconds;\r
46 \r
47 - (void)focus:(NSTimer *)timer;\r
48 - (void)unfocus:(NSTimer *)timer;\r
49 - (void)mouseEntered:(NSEvent *)theEvent;\r
50 - (void)mouseExited:(NSEvent *)theEvent;\r
51 \r
52 - (void)fadeIn;\r
53 - (void)fadeOut;\r
54 \r
55 - (NSTimer *)fadeTimer;\r
56 - (void)setFadeTimer:(NSTimer *)timer;\r
57 - (void)autoHide;\r
58 - (void)keepVisible:(NSTimer *)timer;\r
59 \r
60 - (void)mouseDown:(NSEvent *)theEvent;\r
61 - (void)mouseDragged:(NSEvent *)theEvent;\r
62 \r
63 @end\r
64 \r
65 @interface VLCFSPanelView : NSView\r
66 {\r
67     NSColor *fillColor;\r
68     NSButton *o_prev, *o_next, *o_slow, *o_fast, *o_play, *o_fullscreen;\r
69     NSTextField *o_textfield, *o_textPos;\r
70     NSSlider *o_time_slider;\r
71 }\r
72 - (id)initWithFrame:(NSRect)frameRect;\r
73 - (void)drawRect:(NSRect)rect;\r
74 \r
75 - (void) setPlay;\r
76 - (void) setPause;\r
77 - (void) setStreamTitle: (NSString *)o_title;\r
78 - (void) setStreamPos:(float) f_pos setSeconds:(int)i_seconds;\r
79 - (IBAction)play:(id)sender;\r
80 - (IBAction)prev:(id)sender;\r
81 - (IBAction)next:(id)sender;\r
82 - (IBAction)faster:(id)sender;\r
83 - (IBAction)slower:(id)sender;\r
84 \r
85 @end\r
86 \r
87 @interface VLCFSTimeSlider : NSSlider\r
88 {}\r
89 void drawKnobInRect(NSRect knobRect);\r
90 void drawFrameInRect(NSRect frameRect);\r
91 - (void)drawRect:(NSRect)rect;\r
92 \r
93 @end\r