]> git.sesse.net Git - vlc/blob - modules/gui/macosx/MainWindowTitle.h
macosx: minor code optimization
[vlc] / modules / gui / macosx / MainWindowTitle.h
1 /*****************************************************************************
2  * MainWindowTitle.h: MacOS X interface module
3  *****************************************************************************
4  * Copyright (C) 2011-2012 Felix Paul Kühne
5  * $Id$
6  *
7  * Authors: Felix Paul Kühne <fkuehne -at- videolan -dot- org>
8  *
9  * This program is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License as published by
11  * the Free Software Foundation; either version 2 of the License, or
12  * (at your option) any later version.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  * GNU General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this program; if not, write to the Free Software
21  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
22  *****************************************************************************/
23
24 #import <Cocoa/Cocoa.h>
25 #import "misc.h"
26
27 /*****************************************************************************
28  * VLCMainWindowTitleView
29  *****************************************************************************/
30
31 @interface VLCMainWindowTitleView : VLCThreePartImageView
32 {
33     NSImage * o_red_img;
34     NSImage * o_red_over_img;
35     NSImage * o_red_on_img;
36     NSImage * o_yellow_img;
37     NSImage * o_yellow_over_img;
38     NSImage * o_yellow_on_img;
39     NSImage * o_green_img;
40     NSImage * o_green_over_img;
41     NSImage * o_green_on_img;
42     NSShadow * o_window_title_shadow;
43     NSDictionary * o_window_title_attributes_dict;
44
45     IBOutlet id o_red_btn;
46     IBOutlet id o_yellow_btn;
47     IBOutlet id o_green_btn;
48     IBOutlet id o_fullscreen_btn;
49     IBOutlet id o_title_lbl;
50 }
51 @property (readonly) NSButton * closeButton;
52 @property (readonly) NSButton * minimizeButton;
53 @property (readonly) NSButton * zoomButton;
54
55 - (void)loadButtonIcons;
56 - (IBAction)buttonAction:(id)sender;
57 - (void)setWindowTitle:(NSString *)title;
58 - (void)setFullscreenButtonHidden:(BOOL)b_value;
59 - (void)setWindowButtonOver:(BOOL)b_value;
60 - (void)setWindowFullscreenButtonOver:(BOOL)b_value;
61
62 @end
63
64 @interface VLCWindowButtonCell : NSButtonCell
65
66 @end
67
68 @interface VLCResizeControl : NSImageView
69
70 @end
71
72 @interface VLCColorView : NSView
73
74 @end
75
76 @interface VLCCustomWindowButtonPrototype: NSButton
77 - (NSArray*)extendedAccessibilityAttributeNames: (NSArray*)theAttributeNames;
78 - (id)extendedAccessibilityAttributeValue: (NSString*)theAttributeName;
79 - (NSNumber*)extendedAccessibilityIsAttributeSettable: (NSString*)theAttributeName;
80
81 @end
82
83 @interface VLCCustomWindowCloseButton: VLCCustomWindowButtonPrototype
84
85 @end
86
87
88 @interface VLCCustomWindowMinimizeButton: VLCCustomWindowButtonPrototype
89
90 @end
91
92
93 @interface VLCCustomWindowZoomButton: VLCCustomWindowButtonPrototype
94
95 @end
96
97 @interface VLCCustomWindowFullscreenButton : VLCCustomWindowButtonPrototype
98
99 @end
100
101 @interface VLCWindowTitleTextField : NSTextField
102 {
103     NSMenu * contextMenu;
104 }
105
106 @end