mirror of https://github.com/oxen-io/session-ios
				
				
				
			
			You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
	
	
		
			58 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Swift
		
	
		
		
			
		
	
	
			58 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Swift
		
	
| 
											7 years ago
										 | // | ||
|  | //  Copyright (c) 2019 Open Whisper Systems. All rights reserved. | ||
|  | // | ||
|  | 
 | ||
|  | import UIKit | ||
|  | 
 | ||
|  | @objc | ||
|  | public class ImageEditorStrokeItem: ImageEditorItem { | ||
|  |     // Until we need to serialize these items, | ||
|  |     // just use UIColor. | ||
|  |     @objc | ||
|  |     public let color: UIColor | ||
|  | 
 | ||
|  |     public typealias StrokeSample = ImageEditorSample | ||
|  | 
 | ||
|  |     @objc | ||
|  |     public let unitSamples: [StrokeSample] | ||
|  | 
 | ||
|  |     // Expressed as a "Unit" value as a fraction of | ||
|  |     // min(width, height) of the destination viewport. | ||
|  |     @objc | ||
|  |     public let unitStrokeWidth: CGFloat | ||
|  | 
 | ||
|  |     @objc | ||
|  |     public init(color: UIColor, | ||
|  |                 unitSamples: [StrokeSample], | ||
|  |                 unitStrokeWidth: CGFloat) { | ||
|  |         self.color = color | ||
|  |         self.unitSamples = unitSamples | ||
|  |         self.unitStrokeWidth = unitStrokeWidth | ||
|  | 
 | ||
|  |         super.init(itemType: .stroke) | ||
|  |     } | ||
|  | 
 | ||
|  |     @objc | ||
|  |     public init(itemId: String, | ||
|  |                 color: UIColor, | ||
|  |                 unitSamples: [StrokeSample], | ||
|  |                 unitStrokeWidth: CGFloat) { | ||
|  |         self.color = color | ||
|  |         self.unitSamples = unitSamples | ||
|  |         self.unitStrokeWidth = unitStrokeWidth | ||
|  | 
 | ||
|  |         super.init(itemId: itemId, itemType: .stroke) | ||
|  |     } | ||
|  | 
 | ||
|  |     @objc | ||
|  |     public class func defaultUnitStrokeWidth() -> CGFloat { | ||
|  |         return 0.02 | ||
|  |     } | ||
|  | 
 | ||
|  |     @objc | ||
|  |     public class func strokeWidth(forUnitStrokeWidth unitStrokeWidth: CGFloat, | ||
|  |                                   dstSize: CGSize) -> CGFloat { | ||
|  |         return CGFloatClamp01(unitStrokeWidth) * min(dstSize.width, dstSize.height) | ||
|  |     } | ||
|  | } |