FUImageRenderViewModel.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. //
  2. // FUImageRenderViewModel.h
  3. // FULiveDemo
  4. //
  5. // Created by 项林平 on 2022/8/9.
  6. //
  7. #import <Foundation/Foundation.h>
  8. #import <FURenderKit/FURenderKit.h>
  9. #import <FURenderKit/FUVideoComponentDefines.h>
  10. #import "FULiveDefine.h"
  11. NS_ASSUME_NONNULL_BEGIN
  12. @protocol FUImageRenderViewModelDelegate <NSObject>
  13. - (void)imageRenderDidOutputImageBuffer:(FUImageBuffer)imageBuffer;
  14. @optional
  15. /// 跟踪状态
  16. - (void)imageRenderShouldCheckDetectingStatus:(FUDetectingParts)parts;
  17. @end
  18. @interface FUImageRenderViewModel : NSObject
  19. /// 是否渲染,默认为YES
  20. @property (nonatomic, assign, getter=isRendering) BOOL rendering;
  21. /// 需要跟踪的部位,默认为FUDetectingPartsFace
  22. @property (nonatomic, assign) FUDetectingParts detectingParts;
  23. /// 需要加载的AI模型,默认为FUAIModelTypeFace
  24. @property (nonatomic, assign, readonly) FUAIModelType necessaryAIModelTypes;
  25. /// 保存按钮到屏幕底部距离
  26. @property (nonatomic, assign, readonly) CGFloat downloadButtonBottomConstant;
  27. @property (nonatomic, weak) id<FUImageRenderViewModelDelegate> delegate;
  28. @property (nonatomic, copy, nullable) void (^captureImageHandler)(UIImage *image);
  29. - (instancetype)initWithImage:(UIImage *)image;
  30. - (void)start;
  31. - (void)stop;
  32. @end
  33. NS_ASSUME_NONNULL_END