2016-10-03 12:01:52 +02:00
|
|
|
/*****************************************************************************
|
|
|
|
* VLCFSPanelController.h: macOS fullscreen controls window controller
|
|
|
|
*****************************************************************************
|
2019-03-26 16:41:22 +01:00
|
|
|
* Copyright (C) 2006-2019 VLC authors and VideoLAN
|
2016-10-03 12:01:52 +02:00
|
|
|
*
|
|
|
|
* 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>
|
|
|
|
|
2019-06-03 12:57:45 +02:00
|
|
|
@class VLCTimeField;
|
|
|
|
@class VLCSlider;
|
|
|
|
@class VLCDefaultValueSlider;
|
2016-10-03 12:01:52 +02:00
|
|
|
|
2019-04-15 19:45:57 +02:00
|
|
|
extern NSString *VLCFSPanelShouldBecomeActive;
|
|
|
|
extern NSString *VLCFSPanelShouldBecomeInactive;
|
|
|
|
|
2016-10-03 12:01:52 +02:00
|
|
|
@interface VLCFSPanelController : NSWindowController
|
|
|
|
|
|
|
|
@property (readwrite, weak) NSTimer *hideTimer;
|
|
|
|
|
2017-01-29 21:48:47 +01:00
|
|
|
@property IBOutlet NSView *controlsView;
|
2016-10-03 12:01:52 +02:00
|
|
|
@property IBOutlet NSButton *playPauseButton;
|
|
|
|
@property IBOutlet NSButton *forwardButton;
|
|
|
|
@property IBOutlet NSButton *backwardButton;
|
|
|
|
@property IBOutlet NSButton *nextButton;
|
|
|
|
@property IBOutlet NSButton *previousButton;
|
2016-12-13 11:15:43 +01:00
|
|
|
@property IBOutlet NSButton *fullscreenButton;
|
2016-10-03 12:01:52 +02:00
|
|
|
@property IBOutlet NSTextField *mediaTitle;
|
|
|
|
@property IBOutlet VLCTimeField *elapsedTime;
|
|
|
|
@property IBOutlet VLCTimeField *remainingOrTotalTime;
|
2019-03-26 16:41:22 +01:00
|
|
|
@property IBOutlet VLCSlider *timeSlider;
|
2016-12-11 16:46:28 +01:00
|
|
|
@property IBOutlet VLCDefaultValueSlider *volumeSlider;
|
2016-10-03 12:01:52 +02:00
|
|
|
|
2016-11-03 15:38:23 +01:00
|
|
|
@property (assign) IBOutlet NSLayoutConstraint *heightMaxConstraint;
|
|
|
|
|
2016-10-03 12:01:52 +02:00
|
|
|
- (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;
|
|
|
|
|
2019-04-15 19:45:57 +02:00
|
|
|
- (void)shouldBecomeInactive:(NSNotification *)aNotification;
|
|
|
|
- (void)shouldBecomeActive:(NSNotification *)aNotification;
|
2016-10-03 12:01:52 +02:00
|
|
|
- (void)fadeIn;
|
|
|
|
- (void)fadeOut;
|
|
|
|
|
2017-01-29 21:48:47 +01:00
|
|
|
// Constrain frame to window. Used by VLCFSPanelDraggableView.
|
|
|
|
- (NSRect)contrainFrameToAssociatedVoutWindow:(NSRect)frame;
|
2016-10-03 12:01:52 +02:00
|
|
|
|
|
|
|
@end
|