| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- //
- // FLEXLayerShortcuts.m
- // FLEX
- //
- // Created by Tanner Bennett on 12/12/19.
- // Copyright © 2019 Flipboard. All rights reserved.
- //
- #import "FLEXLayerShortcuts.h"
- #import "FLEXImagePreviewViewController.h"
- @interface FLEXLayerShortcuts ()
- @property (nonatomic, readonly) CALayer *layer;
- @end
- @implementation FLEXLayerShortcuts
- #pragma mark - Internal
- - (CALayer *)layer {
- return self.object;
- }
- #pragma mark - Internal
- - (UIViewController *)imagePreviewViewController {
- if (!CGRectIsEmpty(self.layer.bounds)) {
- UIGraphicsBeginImageContextWithOptions(self.layer.bounds.size, NO, 0.0);
- CGContextRef imageContext = UIGraphicsGetCurrentContext();
- [self.layer renderInContext:imageContext];
- UIImage *previewImage = UIGraphicsGetImageFromCurrentImageContext();
- UIGraphicsEndImageContext();
- return [FLEXImagePreviewViewController forImage:previewImage];
- }
- return nil;
- }
- #pragma mark - Overrides
- + (instancetype)forObject:(CALayer *)layer {
- return [self forObject:layer additionalRows:@[@"Preview"]];
- }
- - (UIViewController *)viewControllerToPushForRow:(NSInteger)row {
- if (row == 0) {
- return [self imagePreviewViewController];
- }
- return [super viewControllerToPushForRow:row];
- }
- @end
|