#import #import @protocol TGMediaEditableItem; @class TGMediaEditingContext; @interface TGPaintFaceFeature : NSObject { CGPoint _position; } @property (nonatomic, readonly) CGPoint position; @end @interface TGPaintFaceEye : TGPaintFaceFeature @property (nonatomic, readonly, getter=isClosed) bool closed; @end @interface TGPaintFaceMouth : TGPaintFaceFeature @property (nonatomic, readonly, getter=isSmiling) bool smiling; @end @interface TGPaintFace : NSObject @property (nonatomic, readonly) NSInteger uuid; @property (nonatomic, readonly) CGRect bounds; @property (nonatomic, readonly) CGFloat angle; @property (nonatomic, readonly) TGPaintFaceEye *leftEye; @property (nonatomic, readonly) TGPaintFaceEye *rightEye; @property (nonatomic, readonly) TGPaintFaceMouth *mouth; - (CGPoint)foreheadPoint; - (CGPoint)eyesCenterPointAndDistance:(CGFloat *)distance; - (CGFloat)eyesAngle; - (CGPoint)mouthPoint; - (CGPoint)chinPoint; @end @interface TGPaintFaceDetector : NSObject + (SSignal *)detectFacesInImage:(UIImage *)image originalSize:(CGSize)originalSize; + (SSignal *)detectFacesInItem:(id)item editingContext:(TGMediaEditingContext *)editingContext; @end @interface TGPaintFaceUtils : NSObject + (CGFloat)transposeWidth:(CGFloat)width paintingSize:(CGSize)paintingSize originalSize:(CGSize)originalSize; + (CGPoint)transposePoint:(CGPoint)point paintingSize:(CGSize)paintingSize originalSize:(CGSize)originalSize; + (CGRect)transposeRect:(CGRect)rect paintingSize:(CGSize)paintingSize originalSize:(CGSize)originalSize; @end