Peter d153fe0f21 Add 'submodules/LegacyComponents/' from commit 'd5594346161c1b7f203d1e87068bbe77bcaac019'
git-subtree-dir: submodules/LegacyComponents
git-subtree-mainline: 608630530451e02e5aec48389d144dbf7a3625b9
git-subtree-split: d5594346161c1b7f203d1e87068bbe77bcaac019
2019-06-11 18:51:15 +01:00

66 lines
1.6 KiB
Objective-C

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import <SSignalKit/SSignalKit.h>
@class TGEmbedPIPPlaceholderView;
@protocol TGPIPAblePlayerView;
typedef enum
{
TGEmbedPIPCornerNone,
TGEmbedPIPCornerTopLeft,
TGEmbedPIPCornerTopRight,
TGEmbedPIPCornerBottomRight,
TGEmbedPIPCornerBottomLeft
} TGEmbedPIPCorner;
@protocol TGPIPAblePlayerState
@property (nonatomic, readonly) NSTimeInterval duration;
@property (nonatomic, readonly) NSTimeInterval position;
@property (nonatomic, readonly) CGFloat downloadProgress;
@property (nonatomic, readonly) bool buffering;
@property (nonatomic, readonly, getter=isPlaying) bool playing;
@end
@protocol TGPIPAblePlayerContainerView
- (TGEmbedPIPPlaceholderView *)pipPlaceholderView;
- (void)reattachPlayerView:(UIView<TGPIPAblePlayerView> *)playerView;
- (bool)shouldReattachPlayerBeforeTransition;
@end
@protocol TGPIPAblePlayerView <NSObject>
@property (nonatomic, copy) void (^requestPictureInPicture)(TGEmbedPIPCorner corner);
- (void)playVideo;
- (void)pauseVideo;
- (void)seekToPosition:(NSTimeInterval)position;
- (void)seekToFractPosition:(CGFloat)position;
- (id<TGPIPAblePlayerState>)state;
- (SSignal *)stateSignal;
@property (nonatomic, assign) bool disallowPIP;
- (bool)supportsPIP;
- (void)switchToPictureInPicture;
- (void)_requestSystemPictureInPictureMode;
- (void)_prepareToEnterFullscreen;
- (void)_prepareToLeaveFullscreen;
- (void)resumePIPPlayback;
- (void)pausePIPPlayback;
- (void)beginLeavingFullscreen;
- (void)finishedLeavingFullscreen;
@property (nonatomic, assign) CGRect initialFrame;
@end