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.
		
		
		
		
		
			
		
			
				
	
	
		
			71 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Swift
		
	
			
		
		
	
	
			71 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Swift
		
	
| //
 | |
| //  Copyright (c) 2019 Open Whisper Systems. All rights reserved.
 | |
| //
 | |
| 
 | |
| import UIKit
 | |
| 
 | |
| @objc public enum ImageEditorError: Int, Error {
 | |
|     case assertionError
 | |
|     case invalidInput
 | |
| }
 | |
| 
 | |
| @objc
 | |
| public enum ImageEditorItemType: Int {
 | |
|     case test
 | |
|     case stroke
 | |
|     case text
 | |
| }
 | |
| 
 | |
| // MARK: -
 | |
| 
 | |
| // Represented in a "ULO unit" coordinate system
 | |
| // for source image.
 | |
| //
 | |
| // "ULO" coordinate system is "upper-left-origin".
 | |
| //
 | |
| // "Unit" coordinate system means values are expressed
 | |
| // in terms of some other values, in this case the
 | |
| // width and height of the source image.
 | |
| //
 | |
| // * 0.0 = left edge
 | |
| // * 1.0 = right edge
 | |
| // * 0.0 = top edge
 | |
| // * 1.0 = bottom edge
 | |
| public typealias ImageEditorSample = CGPoint
 | |
| 
 | |
| // MARK: -
 | |
| 
 | |
| // Instances of ImageEditorItem should be treated
 | |
| // as immutable, once configured.
 | |
| @objc
 | |
| public class ImageEditorItem: NSObject {
 | |
|     @objc
 | |
|     public let itemId: String
 | |
| 
 | |
|     @objc
 | |
|     public let itemType: ImageEditorItemType
 | |
| 
 | |
|     @objc
 | |
|     public init(itemType: ImageEditorItemType) {
 | |
|         self.itemId = UUID().uuidString
 | |
|         self.itemType = itemType
 | |
| 
 | |
|         super.init()
 | |
|     }
 | |
| 
 | |
|     @objc
 | |
|     public init(itemId: String,
 | |
|                 itemType: ImageEditorItemType) {
 | |
|         self.itemId = itemId
 | |
|         self.itemType = itemType
 | |
| 
 | |
|         super.init()
 | |
|     }
 | |
| 
 | |
|     // The scale with which to render this item's content
 | |
|     // when rendering the "output" image for sending.
 | |
|     public func outputScale() -> CGFloat {
 | |
|         return 1.0
 | |
|     }
 | |
| }
 |