2014-10-29 21:58:58 +01:00
|
|
|
//
|
2019-01-09 19:53:29 +01:00
|
|
|
// Copyright (c) 2019 Open Whisper Systems. All rights reserved.
|
2014-10-29 21:58:58 +01:00
|
|
|
//
|
|
|
|
|
2018-02-28 16:55:33 +01:00
|
|
|
#import <SignalMessaging/OWSViewController.h>
|
2017-07-25 19:23:23 +02:00
|
|
|
|
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
2014-10-29 21:58:58 +01:00
|
|
|
|
2018-09-28 00:49:01 +02:00
|
|
|
@protocol ConversationViewItem;
|
|
|
|
|
2018-03-19 23:00:11 +01:00
|
|
|
@class GalleryItemBox;
|
2018-03-12 23:04:16 +01:00
|
|
|
@class MediaDetailViewController;
|
2018-11-08 04:12:28 +01:00
|
|
|
@class TSAttachment;
|
2017-10-10 22:13:54 +02:00
|
|
|
|
2018-03-20 14:56:39 +01:00
|
|
|
typedef NS_OPTIONS(NSInteger, MediaGalleryOption) {
|
|
|
|
MediaGalleryOptionSliderEnabled = 1 << 0,
|
|
|
|
MediaGalleryOptionShowAllMediaButton = 1 << 1
|
|
|
|
};
|
|
|
|
|
2018-03-12 23:04:16 +01:00
|
|
|
@protocol MediaDetailViewControllerDelegate <NSObject>
|
|
|
|
|
2018-03-22 19:10:41 +01:00
|
|
|
- (void)mediaDetailViewController:(MediaDetailViewController *)mediaDetailViewController
|
2018-11-08 04:12:28 +01:00
|
|
|
requestDeleteAttachment:(TSAttachment *)attachment;
|
2018-03-22 19:10:41 +01:00
|
|
|
|
2018-03-12 23:04:16 +01:00
|
|
|
- (void)mediaDetailViewController:(MediaDetailViewController *)mediaDetailViewController
|
|
|
|
isPlayingVideo:(BOOL)isPlayingVideo;
|
|
|
|
|
2018-03-27 16:16:18 +02:00
|
|
|
- (void)mediaDetailViewControllerDidTapMedia:(MediaDetailViewController *)mediaDetailViewController;
|
|
|
|
|
2018-03-12 23:04:16 +01:00
|
|
|
@end
|
|
|
|
|
2018-01-08 05:33:25 +01:00
|
|
|
@interface MediaDetailViewController : OWSViewController
|
2014-10-29 21:58:58 +01:00
|
|
|
|
2018-03-12 23:04:16 +01:00
|
|
|
@property (nonatomic, weak) id<MediaDetailViewControllerDelegate> delegate;
|
2018-03-19 23:00:11 +01:00
|
|
|
@property (nonatomic, readonly) GalleryItemBox *galleryItemBox;
|
2018-03-12 23:04:16 +01:00
|
|
|
|
2017-10-24 19:24:33 +02:00
|
|
|
// If viewItem is non-null, long press will show a menu controller.
|
2018-03-19 23:00:11 +01:00
|
|
|
- (instancetype)initWithGalleryItemBox:(GalleryItemBox *)galleryItemBox
|
2018-09-28 00:49:01 +02:00
|
|
|
viewItem:(nullable id<ConversationViewItem>)viewItem;
|
2018-03-12 23:04:16 +01:00
|
|
|
#pragma mark - Actions
|
|
|
|
|
|
|
|
- (void)didPressPlayBarButton:(id)sender;
|
|
|
|
- (void)didPressPauseBarButton:(id)sender;
|
|
|
|
- (void)playVideo;
|
|
|
|
|
|
|
|
// Stops playback and rewinds
|
2018-03-20 01:28:43 +01:00
|
|
|
- (void)stopAnyVideo;
|
2014-10-29 21:58:58 +01:00
|
|
|
|
2018-03-12 23:04:16 +01:00
|
|
|
- (void)setShouldHideToolbars:(BOOL)shouldHideToolbars;
|
|
|
|
- (void)zoomOutAnimated:(BOOL)isAnimated;
|
2014-10-29 21:58:58 +01:00
|
|
|
|
|
|
|
@end
|
2017-07-25 19:23:23 +02:00
|
|
|
|
|
|
|
NS_ASSUME_NONNULL_END
|