//
//  RTCXPanoramaProtocol.h
//  RTCXMedia
//
//  Created by Apple on 2025/9/19.
//

#import <Foundation/Foundation.h>
#import <RTCXMedia/RTCXDataChannelProtocol.h>
NS_ASSUME_NONNULL_BEGIN

@protocol RTCXPanoramaProtocol <NSObject>
/**
 *  开始请求全景图，该接口是异步耗时的，当未收到响应时切勿连续调用，或者先调用停止接口，再重新调用开始接口
 *
 *  @param req        请求参数对象
 *  @param onSuccess  成功回调
 *  @param onError   失败回调， -10056: 图片拼接任务正在执行
 */
- (void)startQueryPanorama:(RTCXDCStartPanoramaReq *)req onSuccess:(nullable RTCXDCOnSuccess)onSuccess onError:(nullable RTCXCDCOnError)onError;
/**
 *  停止请求全景图
 *
 *  @param req        请求参数对象
 *  @param onSuccess  成功回调
 *  @param onError   失败回调
 */
- (void)stopQueryPanorama:(RTCXDCStopPanoramaReq *)req onSuccess:(nullable RTCXDCOnSuccess)onSuccess onError:(nullable RTCXCDCOnError)onError;
/**
 *  获取触摸点相对设备X坐标系（如：-10000~10000）的比例值，eg：比例值*10000 = 触摸点X坐标，将该坐标设置给设备可控制设备转动到对应位置
 *
 *  @param pointW  基于全景图片Image坐标系，到达触摸点的宽度，如：int pointW = point.x  / _imageView.frame.size.width * _imageView.image.size.width
 *  @param imageW  全景图片的宽度 image.size.width
 */
- (float)getScaleXWithImagePointW:(float)pointW imageW:(float)imageW;
@end

NS_ASSUME_NONNULL_END
