mirror of
https://github.com/SoPat712/YTLitePlus.git
synced 2025-08-24 11:28:52 -04:00
63 lines
1.5 KiB
Objective-C
63 lines
1.5 KiB
Objective-C
//
|
|
// FHSViewSnapshot.m
|
|
// FLEX
|
|
//
|
|
// Created by Tanner Bennett on 1/9/20.
|
|
// Copyright © 2020 FLEX Team. All rights reserved.
|
|
//
|
|
|
|
#import "FHSViewSnapshot.h"
|
|
#import "NSArray+FLEX.h"
|
|
|
|
@implementation FHSViewSnapshot
|
|
|
|
+ (instancetype)snapshotWithView:(FHSView *)view {
|
|
NSArray *children = [view.children flex_mapped:^id(FHSView *v, NSUInteger idx) {
|
|
return [self snapshotWithView:v];
|
|
}];
|
|
return [[self alloc] initWithView:view children:children];
|
|
}
|
|
|
|
- (id)initWithView:(FHSView *)view children:(NSArray<FHSViewSnapshot *> *)children {
|
|
NSParameterAssert(view); NSParameterAssert(children);
|
|
|
|
self = [super init];
|
|
if (self) {
|
|
_view = view;
|
|
_title = view.title;
|
|
_important = view.important;
|
|
_frame = view.frame;
|
|
_hidden = view.hidden;
|
|
_snapshotImage = view.snapshotImage;
|
|
_children = children;
|
|
_summary = view.summary;
|
|
}
|
|
|
|
return self;
|
|
}
|
|
|
|
- (UIColor *)headerColor {
|
|
if (self.important) {
|
|
return [UIColor colorWithRed: 0.000 green: 0.533 blue: 1.000 alpha: 0.900];
|
|
} else {
|
|
return [UIColor colorWithRed:0.961 green: 0.651 blue: 0.137 alpha: 0.900];
|
|
}
|
|
}
|
|
|
|
- (FHSViewSnapshot *)snapshotForView:(UIView *)view {
|
|
if (view == self.view.view) {
|
|
return self;
|
|
}
|
|
|
|
for (FHSViewSnapshot *child in self.children) {
|
|
FHSViewSnapshot *snapshot = [child snapshotForView:view];
|
|
if (snapshot) {
|
|
return snapshot;
|
|
}
|
|
}
|
|
|
|
return nil;
|
|
}
|
|
|
|
@end
|