//
//  StitchVideoSDKBridge.h
//  Runner
//
//  Created by xiexinyue on 2022/3/25.
//  Copyright © 2022 xinyue.xie. All rights reserved.
//

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wnullability-completeness"


@protocol StitchVideoSDKDelegate

//-(void) callbackLuaResult:(const char *_Nullable)resultValue;

@end

@interface StitchVideoSDK : NSObject

-(int) init:(NSString *) yoloModelPath
    planogModelPath:(NSString *_Nullable) planogModelPath
    superPointModelPath:(NSString *_Nullable) superPointModelPath   
    withGyroscope:(bool) withGyroscope
    withGravity:(bool) withGravity
    panoWidth:(int) panoWidth
    panoHeight:(int) panoHeight
    previewWidth:(int) previewWidth
    previewHeight:(int) previewHeight
    configWidth:(int) configWidth
    configHeight:(int) configHeight;

-(void) free;
-(int) start:(NSString *) workDir
        useFreeMode:(bool) useFreeMode;
-(void) stop;
-(int) track:(const uint8_t *) data;
-(int) stitch:(uint8_t*) pano panoRoi:(uint8_t*) panoRoi;
-(int) deleteLastImage:(uint8_t*) pano panoRoi:(uint8_t*) panoRoi;
-(void) updateSensor:(const float *) sensorValues;
-(float *) getTrackingStatus;
-(NSString *) errorMessage:(int) error inChinease:(bool) inChinease;
-(NSString *) getLastImagePath;
-(double) evaluateFPS:(NSString *) imgPath;
-(bool) shootManually;

@property (nonatomic, weak)id<StitchVideoSDKDelegate> delegate;

@end
#pragma clang diagnostic pop

