1 /*****************************************************************************
2 * MainWindowTitle.h: MacOS X interface module
3 *****************************************************************************
4 * Copyright (C) 2011-2012 Felix Paul Kühne
7 * Authors: Felix Paul Kühne <fkuehne -at- videolan -dot- org>
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.
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.
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 *****************************************************************************/
24 #import <Cocoa/Cocoa.h>
27 /*****************************************************************************
28 * VLCMainWindowTitleView
29 *****************************************************************************/
31 @interface VLCMainWindowTitleView : VLCThreePartImageView
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;
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;
52 - (void)loadButtonIcons;
53 - (IBAction)buttonAction:(id)sender;
54 - (void)setWindowTitle:(NSString *)title;
55 - (void)setFullscreenButtonHidden:(BOOL)b_value;
56 - (void)setWindowButtonOver:(BOOL)b_value;
57 - (void)setWindowFullscreenButtonOver:(BOOL)b_value;
59 - (NSButton*)closeButton;
60 - (NSButton*)minimizeButton;
61 - (NSButton*)zoomButton;
65 @interface VLCWindowButtonCell : NSButtonCell
70 @interface VLCResizeControl : NSImageView
75 @interface VLCColorView : NSView
80 @interface VLCCustomWindowButtonPrototype: NSButton
83 - (NSArray*)extendedAccessibilityAttributeNames: (NSArray*)theAttributeNames;
84 - (id)extendedAccessibilityAttributeValue: (NSString*)theAttributeName;
85 - (NSNumber*)extendedAccessibilityIsAttributeSettable: (NSString*)theAttributeName;
89 @interface VLCCustomWindowCloseButton: VLCCustomWindowButtonPrototype
95 @interface VLCCustomWindowMinimizeButton: VLCCustomWindowButtonPrototype
101 @interface VLCCustomWindowZoomButton: VLCCustomWindowButtonPrototype
106 @interface VLCCustomWindowFullscreenButton : VLCCustomWindowButtonPrototype
111 @interface VLCWindowTitleTextField : NSTextField
113 NSMenu * contextMenu;