VLCFSPanelController.h 2.96 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
/*****************************************************************************
 * VLCFSPanelController.h: macOS fullscreen controls window controller
 *****************************************************************************
 * Copyright (C) 2006-2016 VLC authors and VideoLAN
 * $Id$
 *
 * Authors: Jérôme Decoodt <djc at videolan dot org>
 *          Felix Paul Kühne <fkuehne at videolan dot org>
 *          David Fuhrmann <david dot fuhrmann at googlemail dot com>
 *          Marvin Scholz <epirat07 at gmail dot com>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
 *****************************************************************************/

#import <Cocoa/Cocoa.h>

#import "misc.h"
#import "Windows.h"

@interface VLCFSPanelController : NSWindowController

@property (readwrite)       NSWindow  *voutWindow;
@property (readwrite, weak) NSTimer   *hideTimer;

37
@property IBOutlet NSView       *controlsView;
38 39 40 41 42 43 44 45 46 47 48
@property IBOutlet NSButton     *playPauseButton;
@property IBOutlet NSButton     *forwardButton;
@property IBOutlet NSButton     *backwardButton;
@property IBOutlet NSButton     *nextButton;
@property IBOutlet NSButton     *previousButton;
@property IBOutlet NSTextField  *mediaTitle;
@property IBOutlet VLCTimeField *elapsedTime;
@property IBOutlet VLCTimeField *remainingOrTotalTime;
@property IBOutlet NSSlider     *timeSlider;
@property IBOutlet NSSlider     *volumeSlider;

49 50
@property (assign) IBOutlet NSLayoutConstraint *heightMaxConstraint;

51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
- (IBAction)togglePlayPause:(id)sender;
- (IBAction)jumpForward:(id)sender;
- (IBAction)jumpBackward:(id)sender;
- (IBAction)gotoPrevious:(id)sender;
- (IBAction)gotoNext:(id)sender;
- (IBAction)toggleFullscreen:(id)sender;
- (IBAction)timeSliderUpdate:(id)sender;
- (IBAction)volumeSliderUpdate:(id)sender;

- (void)fadeIn;
- (void)fadeOut;
- (void)center;
- (void)setActive;
- (void)setNonActive;
- (void)setVoutWasUpdated:(VLCWindow *)voutWindow;

- (void)setSeekable:(BOOL)seekable;
- (void)setVolumeLevel:(int)value;
- (void)updatePositionAndTime;
- (void)setStreamTitle:(NSString *)title;
- (void)setPlay;
- (void)setPause;


/**
 Center the window on the specified screen in the lower third

 \note If the screen is invalid, the main screen is used

 \param screenID    The screen on which to center the window
 */
- (void)centerWindowOnScreen:(CGDirectDisplayID)screenID;


@end