mirror of
				https://github.com/SoPat712/YTLitePlus.git
				synced 2025-10-31 12:54:13 -04:00 
			
		
		
		
	added files via upload
This commit is contained in:
		
							
								
								
									
										66
									
								
								Tweaks/Alderis/lcpshim/PFColorAlert.m
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								Tweaks/Alderis/lcpshim/PFColorAlert.m
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,66 @@ | ||||
| @import Alderis; | ||||
| #import "libcolorpicker.h" | ||||
|  | ||||
| @interface PFColorAlert () <HBColorPickerDelegate> | ||||
|  | ||||
| @end | ||||
|  | ||||
| @implementation PFColorAlert { | ||||
| 	PFColorAlert *_strongSelf; | ||||
| 	HBColorPickerViewController *_viewController; | ||||
| 	UIColor *_color; | ||||
| 	BOOL _showAlpha; | ||||
| 	PFColorAlertCompletion _completion; | ||||
| } | ||||
|  | ||||
| + (PFColorAlert *)colorAlertWithStartColor:(UIColor *)startColor showAlpha:(BOOL)showAlpha { | ||||
| 	return [[self.class alloc] initWithStartColor:startColor showAlpha:showAlpha]; | ||||
| } | ||||
|  | ||||
| - (PFColorAlert *)initWithStartColor:(UIColor *)startColor showAlpha:(BOOL)showAlpha { | ||||
| 	self = [super init]; | ||||
| 	if (self) { | ||||
| 		_color = startColor; | ||||
| 		_showAlpha = showAlpha; | ||||
| 	} | ||||
| 	return self; | ||||
| } | ||||
|  | ||||
| - (void)displayWithCompletion:(PFColorAlertCompletion)completion { | ||||
| 	_completion = [completion copy]; | ||||
| 	_viewController = [[HBColorPickerViewController alloc] init]; | ||||
| 	_viewController.delegate = self; | ||||
|  | ||||
| 	UIColor *color = _color ?: [UIColor colorWithWhite:0.6 alpha:1]; | ||||
| 	HBColorPickerConfiguration *configuration = [[HBColorPickerConfiguration alloc] initWithColor:color]; | ||||
| 	configuration.supportsAlpha = _showAlpha; | ||||
| 	_viewController.configuration = configuration; | ||||
|  | ||||
| 	UIWindow *window = [UIApplication sharedApplication].keyWindow; | ||||
| 	_viewController.popoverPresentationController.sourceView = window; | ||||
| 	_viewController.popoverPresentationController.sourceRect = window.bounds; | ||||
| 	_viewController.popoverPresentationController.permittedArrowDirections = 0; | ||||
| 	[window.rootViewController presentViewController:_viewController animated:YES completion:nil]; | ||||
|  | ||||
| 	// Keep a strong reference to ourself. The color picker delegate is weakly stored by | ||||
| 	// HBColorPickerViewController, but some users of PFColorAlert do not keep a strong reference to | ||||
| 	// the PFColorAlert instance after calling displayWithCompletion:, causing this class to get | ||||
| 	// deallocated and the delegate never called. | ||||
| 	_strongSelf = self; | ||||
| } | ||||
|  | ||||
| - (void)close { | ||||
| 	_completion(_color); | ||||
| 	_strongSelf = nil; | ||||
| } | ||||
|  | ||||
| - (void)colorPicker:(HBColorPickerViewController *)colorPicker didSelectColor:(UIColor *)color { | ||||
| 	_color = [color copy]; | ||||
| 	[self close]; | ||||
| } | ||||
|  | ||||
| - (void)colorPickerDidCancel:(HBColorPickerViewController *)colorPicker { | ||||
| 	[self close]; | ||||
| } | ||||
|  | ||||
| @end | ||||
		Reference in New Issue
	
	Block a user
	 Balackburn
					Balackburn