mirror of
https://github.com/SoPat712/YTLitePlus.git
synced 2025-08-25 11:55:28 -04:00
added files via upload
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
//
|
||||
// FHSSnapshotNodes.m
|
||||
// FLEX
|
||||
//
|
||||
// Created by Tanner Bennett on 1/7/20.
|
||||
//
|
||||
|
||||
#import "FHSSnapshotNodes.h"
|
||||
#import "SceneKit+Snapshot.h"
|
||||
|
||||
@interface FHSSnapshotNodes ()
|
||||
@property (nonatomic, nullable) SCNNode *highlight;
|
||||
@property (nonatomic, nullable) SCNNode *dimming;
|
||||
@end
|
||||
@implementation FHSSnapshotNodes
|
||||
|
||||
+ (instancetype)snapshot:(FHSViewSnapshot *)snapshot depth:(NSInteger)depth {
|
||||
FHSSnapshotNodes *nodes = [self new];
|
||||
nodes->_snapshotItem = snapshot;
|
||||
nodes->_depth = depth;
|
||||
return nodes;
|
||||
}
|
||||
|
||||
- (void)setHighlighted:(BOOL)highlighted {
|
||||
if (_highlighted != highlighted) {
|
||||
_highlighted = highlighted;
|
||||
|
||||
if (highlighted) {
|
||||
if (!self.highlight) {
|
||||
// Create highlight node
|
||||
self.highlight = [SCNNode
|
||||
highlight:self.snapshotItem
|
||||
color:[UIColor.blueColor colorWithAlphaComponent:0.5]
|
||||
];
|
||||
}
|
||||
// Add add highlight node, remove dimming node if dimmed
|
||||
[self.snapshot addChildNode:self.highlight];
|
||||
if (self.isDimmed) {
|
||||
[self.dimming removeFromParentNode];
|
||||
}
|
||||
} else {
|
||||
// Remove highlight node, add back dimming node if dimmed
|
||||
[self.highlight removeFromParentNode];
|
||||
if (self.isDimmed) {
|
||||
[self.snapshot addChildNode:self.dimming];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
- (void)setDimmed:(BOOL)dimmed {
|
||||
if (_dimmed != dimmed) {
|
||||
_dimmed = dimmed;
|
||||
|
||||
if (dimmed) {
|
||||
if (!self.dimming) {
|
||||
// Create dimming node
|
||||
self.dimming = [SCNNode
|
||||
highlight:self.snapshotItem
|
||||
color:[UIColor.blackColor colorWithAlphaComponent:0.5]
|
||||
];
|
||||
}
|
||||
// Add add dimming node if not highlighted
|
||||
if (!self.isHighlighted) {
|
||||
[self.snapshot addChildNode:self.dimming];
|
||||
}
|
||||
} else {
|
||||
// Remove dimming node (if not already highlighted)
|
||||
if (!self.isHighlighted) {
|
||||
[self.dimming removeFromParentNode];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
- (void)setForceHideHeader:(BOOL)forceHideHeader {
|
||||
if (_forceHideHeader != forceHideHeader) {
|
||||
_forceHideHeader = forceHideHeader;
|
||||
|
||||
if (self.header.parentNode) {
|
||||
self.header.hidden = YES;
|
||||
[self.header removeFromParentNode];
|
||||
} else {
|
||||
self.header.hidden = NO;
|
||||
[self.snapshot addChildNode:self.header];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@end
|
Reference in New Issue
Block a user