@pano.video/panortc-react-native-sdk
Version:
PanoRtc SDK For React Native
1,046 lines (1,045 loc) • 34.9 kB
TypeScript
import type { WBColor, WBConvertConfig, WBDocContents, WBDocExtHtml, WBDocInfo, WBStamp, WBVisionConfig } from './Objects';
import { ResultCode, WBOptionType, WBClearType, WBFillType, WBFontStyle, WBImageScalingMode, WBRoleType, WBSnapshotMode, WBToolType } from './Enums';
import type { Subscription, RtcWhiteboardEventHandler } from './RtcEvents';
import type { RefObject } from 'react';
import type { RtcWhiteboardSurfaceView } from './RtcRenderView.native';
/**
* The {@link RtcWhiteboard} class.
*/
export default class RtcWhiteboard implements RtcWhiteboardInterface {
/**
* The ID of RtcWhiteboard
*/
readonly whiteboardId: string;
/**
* @ignore
*/
private _listeners;
/**
* @ignore
*/
constructor(whiteboardId: string);
/**
* @ignore
*/
private _callMethod;
/**
* @ignore
*/
destroy(): void;
/**
* Adds the [`RtcWhiteboardEventHandler`]{@link RtcWhiteboardEventHandler} handler.
*
* After setting the [`RtcWhiteboardEventHandler`]{@link RtcWhiteboardEventHandler} handler, you can listen for `RtcWhiteboard` events and receive the statistics of the corresponding RtcEngineKit instance.
* @param event The event type.
* @param listener The [`RtcWhiteboardEventHandler`]{@link RtcWhiteboardEventHandler} handler.
*/
addListener<EventType extends keyof RtcWhiteboardEventHandler>(event: EventType, listener: RtcWhiteboardEventHandler[EventType]): Subscription;
/**
* Removes the [`RtcWhiteboardEventHandler`]{@link RtcWhiteboardEventHandler} handler.
*
* For callback events that you only want to listen for once, call this method to remove the specific [`RtcWhiteboardEventHandler`]{@link RtcWhiteboardEventHandler} objects after you have received them.
* @param event The event type.
* @param listener The [`RtcWhiteboardEventHandler`]{@link RtcWhiteboardEventHandler} handler.
*/
removeListener<EventType extends keyof RtcWhiteboardEventHandler>(event: EventType, listener: RtcWhiteboardEventHandler[EventType]): void;
/**
* Removes all the [`RtcWhiteboardEventHandler`]{@link RtcWhiteboardEventHandler} handlers.
* @param event The event type.
*/
removeAllListeners<EventType extends keyof RtcWhiteboardEventHandler>(event?: EventType): void;
/**
* @~english
* @brief Open the whiteboard.
* @param view The whiteboard display view provided by customer.
* @return
* - ResultCode.OK: Success.
* - Others: Fail.
* @~chinese
* @brief 打开白板。
* @param view 客户提供的白板显示视图。
* @return
* - ResultCode.OK:成功。
* - 其他:失败。
*/
open(view: RefObject<RtcWhiteboardSurfaceView>): Promise<ResultCode>;
/**
* @~english
* @brief Close the whiteboard.
* @return
* - ResultCode.OK: Success.
* - Others: Fail.
* @~chinese
* @brief 关闭白板。
* @return
* - ResultCode.OK:成功。
* - 其他:失败。
*/
close(): Promise<ResultCode>;
/**
* @~english
* @brief Leave the whiteboard.
* @return
* - kPanoResultOK: Success
* - Others: Fail
* @~chinese
* @brief leave白板
* @return
* - kPanoResultOK: 成功
* - 其他: 失败
*/
leave(): Promise<ResultCode>;
/**
* @~english
* @brief Stop the whiteboard.
* @return
* - ResultCode.OK: Success.
* - Others: Fail.
* @note default whiteboard can't be stopped.
* @~chinese
* @brief 停止白板。
* @return
* - ResultCode.OK:成功。
* - 其他:失败。
* @note 默认白板不能被停止。
*/
stop(): Promise<ResultCode>;
/**
* @~english
* @brief get current Whiteboard Id
* @return
* - Whiteboard Id
* @~chinese
* @brief 获取当前白板Id
* @return
* - 白板Id
*/
getCurrentWhiteboardId(): Promise<string>;
/**
* @~english
* @brief Set whiteboard role type.
* @param role The whiteboard role type.
* @return
* - ResultCode.OK: Success.
* - Others: Fail.
* @~chinese
* @brief 设置白板角色类型。
* @param role 白板角色。
* @return
* - ResultCode.OK:成功。
* - 其他:失败。
*/
setRoleType(type: WBRoleType): Promise<ResultCode>;
/**
* @~english
* @brief set tool type.
* @param type tool type.
* @return
* - ResultCode.OK: Success.
* - Others: Fail.
* @~chinese
* @brief 设置工具类型。
* @param type 工具类型。
* @return
* - ResultCode.OK:成功。
* - 其他:失败。
*/
setToolType(type: WBToolType): Promise<ResultCode>;
/**
* @~english
* @brief get tool type
* @return
* - tool type
* @~chinese
* @brief 获取工具类型
* @return
* - 工具类型
*/
getToolType(): Promise<WBToolType>;
/**
* @~english
* @brief set line width.
* @param size line width.
* @return
* - ResultCode.OK: Success.
* - Others: Fail.
* @~chinese
* @brief 设置线宽。
* @param size 线宽。
* @return
* - ResultCode.OK:成功。
* - 其他:失败。
*/
setLineWidth(width: number): Promise<ResultCode>;
/**
* @~english
* @brief Set fill type.
* @param type Fill type.
* @return
* - ResultCode.OK: Success.
* - Others: Fail.
* @~chinese
* @brief 设置填充类型。
* @param type 填充类型。
* @return
* - ResultCode.OK:成功。
* - 其他:失败。
*/
setFillType(type: WBFillType): Promise<ResultCode>;
/**
* @~english
* @brief Set fill color.
* @param color r g b a color and alpha. Valid value range: [0, 1].
* @return
* - ResultCode.OK: Success.
* - Others: Fail.
* @~chinese
* @brief 设置填充颜色。
* @param color r g b a 填充颜色值。有效值范围:[0, 1]。
* @return
* - ResultCode.OK:成功。
* - 其他:失败。
*/
setFillColor(color: WBColor): Promise<ResultCode>;
/**
* @~english
* @brief Set the whiteboard foreground color.
* @param color r g b a color and alpha. Valid value range: [0, 1].
* @return
* - ResultCode.OK: Success.
* - Others: Fail.
* @~chinese
* @brief 设置白板前景色。
* @param color r g b a 前景颜色值。有效值范围:[0, 1]。
* @return
* - ResultCode.OK:成功。
* - 其他:失败。
*/
setForegroundColor(color: WBColor): Promise<ResultCode>;
/**
* @~english
* @brief Set the whiteboard background color.
* @param color r g b a color and alpha. Valid value range: [0, 1].
* @return
* - ResultCode.OK: Success.
* - Others: Fail.
* @~chinese
* @brief 设置白板背景色。
* @param color r g b a 背景颜色值。有效值范围:[0, 1]。
* @return
* - ResultCode.OK:成功。
* - 其他:失败。
*/
setBackgroundColor(color: WBColor): Promise<ResultCode>;
/**
* @~english
* @brief Set font style.
* @param style font style.
* @return
* - ResultCode.OK: Success.
* - Others: Fail.
* @~chinese
* @brief 设置字体样式。
* @param style 字体样式。
* @return
* - ResultCode.OK:成功。
* - 其他:失败。
*/
setFontStyle(style: WBFontStyle): Promise<ResultCode>;
/**
* @~english
* @brief Set font size.
* @param size font size.
* @return
* - ResultCode.OK: Success.
* - Others: Fail.
* @~chinese
* @brief 设置字体大小。
* @param size 字体大小。
* @return
* - ResultCode.OK:成功。
* - 其他:失败。
*/
setFontSize(size: number): Promise<ResultCode>;
/**
* @~english
* @brief Add Stamp Resource
* @param stamp stamp resource
* @return
* - OK: Success
* - Others: Fail
* @~chinese
* @brief 添加图章资源
* @param stamp 图章资源
* @return
* - OK: 成功
* - Others: 失败
*/
addStamp(stamp: WBStamp): Promise<ResultCode>;
/**
* @~english
* @brief Set Stamp Resource
* @param stampId stamp resource ID
* @return
* - OK: Success
* - Others: Fail
* @~chinese
* @brief 设置图章资源
* @param stampId 图章资源ID
* @return
* - OK: 成功
* - Others: 失败
*/
setStamp(stampId: string): Promise<ResultCode>;
/**
* @~english
* @brief set background image scaling mode.
* @param mode background image scaling mode.
* @return
* - ResultCode.OK: Success.
* - Others: Fail.
* @~chinese
* @brief 设置白板背景图缩放模式。
* @param mode 背景图缩放模式。
* @return
* - ResultCode.OK:成功。
* - 其他:失败。
*/
setBackgroundImageScalingMode(mode: WBImageScalingMode): Promise<ResultCode>;
/**
* @~english
* @brief set background image.
* @param imageUrl image URL.
* @return
* - ResultCode.OK: Success.
* - Others: Fail.
* @~chinese
* @brief 设置白板背景图片。
* @param imageUrl 背景图 URL,可为本地路径或远程 URL。
* @return
* - ResultCode.OK:成功。
* - 其他:失败。
*/
setBackgroundImage(imageUrl: string): Promise<ResultCode>;
/**
* @~english
* @brief set background image of specified whiteboard page.
* @param imageUrl image URL.
* @param pageNo the page number.
* @return
* - ResultCode.OK: Success.
* - Others: Fail.
* @~chinese
* @brief 设置白板指定页背景图片。
* @param imageUrl 背景图 URL,可为本地路径或远程 URL。
* @param pageNo 白板页码。
* @return
* - ResultCode.OK:成功。
* - 其他:失败。
*/
setBackgroundImageWithPage(imageUrl: string, pageNo: number): Promise<ResultCode>;
/**
* @~english
* @brief get current page number.
* @return
* - -1: no page.
* - Others: page number.
* @~chinese
* @brief 获取当前白板页码。
* @return
* - -1:白板未打开。
* - 其他:白板页码。
*/
getCurrentPageNumber(): Promise<number>;
/**
* @~english
* @brief get total number of pages.
* @return number of pages.
* @~chinese
* @brief 获取总白板页码数。
* @return 页码数。
*/
getTotalNumberOfPages(): Promise<number>;
/**
* @~english
* @brief add new page to the end.
* @param autoSwitch auto switch to the new page.
* @return
* - ResultCode.OK: Success.
* - Others: Fail.
* @~chinese
* @brief 添加一个新页面到最后。
* @param autoSwitch 自动切换到新添加的页面。
* @return
* - ResultCode.OK:成功。
* - 其他:失败。
*/
addPage(autoSwitch: boolean): Promise<ResultCode>;
/**
* @~english
* @brief add new page after the pageNo.
* @param pageNo the page number.
* @param autoSwitch auto switch to the new page.
* @return
* - ResultCode.OK: Success.
* - Others: Fail.
* @~chinese
* @brief 添加一个新页面到 pageNo 之后。
* @param pageNo 页码。
* @param autoSwitch 自动切换到新添加的页面。
* @return
* - ResultCode.OK:成功。
* - 其他:失败。
*/
insertPage(pageNo: number, autoSwitch: boolean): Promise<ResultCode>;
/**
* @~english
* @brief goto the page pageNo.
* @param pageNo the page.
* @return
* - ResultCode.OK: Success.
* - Others: Fail.
* @~chinese
* @brief 删除页 pageNo。
* @param pageNo 被删除的页码。
* @return
* - ResultCode.OK:成功。
* - 其他:失败。
*/
removePage(pageNo: number, switchNext?: boolean): Promise<ResultCode>;
/**
* @~english
* @brief switch to page pageNo.
* @param pageNo the page.
* @return
* - ResultCode.OK: Success.
* - Others: Fail.
* @~chinese
* @brief 切换到页 pageNo。
* @param pageNo 页码。
* @return
* - ResultCode.OK:成功。
* - 其他:失败。
*/
gotoPage(pageNo: number): Promise<ResultCode>;
/**
* @~english
* @brief switch to next page.
* @return
* - ResultCode.OK: Success.
* - Others: Fail.
* @~chinese
* @brief 切换到下一页。
* @return
* - ResultCode.OK:成功。
* - 其他:失败。
*/
nextPage(): Promise<ResultCode>;
/**
* @~english
* @brief switch to previous page.
* @return
* - ResultCode.OK: Success.
* - Others: Fail.
* @~chinese
* @brief 切换到前一页。
* @return
* - ResultCode.OK:成功。
* - 其他:失败。
*/
prevPage(): Promise<ResultCode>;
/**
* @~english
* @brief next step for H5 doc
* @return
* - OK: Success
* - Others: Fail
* @~chinese
* @brief 执行H5文件下一步
* @return
* - OK: 成功
* - Others: 失败
*/
nextStep(): Promise<ResultCode>;
/**
* @~english
* @brief previous step for H5 doc
* @return
* - OK: Success
* - Others: Fail
* @~chinese
* @brief 执行H5文件上一步
* @return
* - OK: 成功
* - Others: 失败
*/
prevStep(): Promise<ResultCode>;
/**
* @~english
* @brief add image file to current whiteboard page
* @param imageUrl image URL
* @return
* - ResultCode.OK: Success
* - Others: Fail
* @~chinese
* @brief 添加图片到当前白板页
* @param imageUrl 图像 URL,可为本地路径或远程 URL
* @return
* - ResultCode.OK: 成功
* - 其他: 失败
*/
addImageFile(imageUrl: string): Promise<ResultCode>;
/**
* @~english
* @brief add audio media file to current whiteboard page
* @param mediaUrl media URL
* @return
* - ResultCode.OK: Success
* - Others: Fail
* @~chinese
* @brief 添加音频媒体文件到当前白板页
* @param mediaUrl 媒体 URL,可为本地路径或远程 URL
* @return
* - ResultCode.OK: 成功
* - 其他: 失败
*/
addAudioFile(mediaUrl: string): Promise<ResultCode>;
/**
* @~english
* @brief add video media file to current whiteboard page
* @param mediaUrl media URL
* @return
* - ResultCode.OK: Success
* - Others: Fail
* @~chinese
* @brief 添加视频媒体文件到当前白板页
* @param mediaUrl 媒体 URL,可为本地路径或远程 URL
* @return
* - ResultCode.OK: 成功
* - 其他: 失败
*/
addVideoFile(mediaUrl: string): Promise<ResultCode>;
/**
* @~english
* @brief Add some background images to current whiteboard file.
* @param urls Background image url array (remote url only).
* @return
* - Current whiteboard file ID, if fail return empty string.
* @note PanoWhiteboard has created doc with whiteboard file ID "default" when created.
* @~chinese
* @brief 添加指定数量的背景图到当前白板文件。
* @param urls 背景图url数组(仅支持远程URL)。
* @return
* - 当前白板文件ID,如果失败返回空串。
* @note PanoWhiteboard创建时会生成白板文件ID为"default"的白板文件。
*/
addBackgroundImages(urls: string[]): Promise<string>;
/**
* @~english
* @brief Add H5 file URL to current whiteboard file as background
* @param url H5 URL (remote URL only)
* @param downloadUrl URL of download H5 files, should be packed as .zip file
* @return
* - Current whiteborad file ID, if fail return null
* @note PanoWhiteboard has created doc with whiteboard file ID "default" when created
* @~chinese
* @brief 添加H5文件URL到当前白板文件作为背景
* @param url 网络URL(仅支持远程URL)
* @param downloadUrl H5文件的下载URL, 所有文件需要打包为zip文件
* @return
* - 当前白板文件ID,如果失败返回null
* @note PanoWhiteboard创建时会生成白板文件ID为"default"的白板文件
*/
addH5File(url: string, downloadUrl?: string): Promise<string>;
/**
* @~english
* @brief Add a new whiteboard file
* @param contents Whiteboard file contents with converted result
* @return
* - Current whiteborad file ID, if fail return nullptr
* @note PanoWhiteboard has created doc with whiteboard file ID "default" when created
* @~chinese
* @brief 添加新的白板文件
* @param contents 根据转码结果指定的白板文件内容
* @return
* - 当前白板文件ID,如果失败返回nullptr
* @note PanoWhiteboard创建时会生成白板文件ID为"default"的白板文件
*/
addDoc(contents: WBDocContents): Promise<string>;
/**
* @~english
* @brief Add a new whiteboard file with external html
* @param contents Whiteboard file contents with external html
* @return
* - Current whiteborad file ID, if fail return nullptr
* @note PanoWhiteboard has created doc with whiteboard file ID "default" when created
* @~chinese
* @brief 使用外部Html添加新的白板文件
* @param contents 外部Html的白板文件内容
* @return
* - 当前白板文件ID,如果失败返回nullptr
* @note PanoWhiteboard创建时会生成白板文件ID为"default"的白板文件
*/
addDocWithExtHtml(extHtml: WBDocExtHtml): Promise<string>;
/**
* @~english
* @brief Create new whiteboard file with some background images.
* @param imageUrls Background image url array (remote url only).
* @return
* - Whiteboard file ID created, if fail return empty string.
* @note PanoWhiteboard has created doc with whiteboard file ID "default" when created.
* @~chinese
* @brief 导入指定数量的背景图并创建新的白板文件。
* @param imageUrls 背景图url数组(仅支持远程URL)。
* @return
* - 新创建的白板文件ID,如果失败返回空串。
* @note PanoWhiteboard 创建时会生成白板文件ID为"default"的白板文件。
*/
createDocWithImages(urls: string[]): Promise<string>;
/**
* @~english
* @brief Upload local file for transcode and create new whiteboard file
* @param filePath Local file path
* @param config File convert configuration
* @return
* - Whiteborad file ID created, if fail return empty string
* @note PanoWhiteboard has created doc with whiteboard file ID "default" when created
* @~chinese
* @brief 上传本地需转码的文件并创建新的白板文件
* @param filePath 本地文件路径
* @param config 转码配置
* @return
* - 新创建的白板文件ID,如果失败返回空串
* @note PanoWhiteboard 创建时会生成白板文件ID为"default"的白板文件
*/
createDocWithFilePath(filePath: string, config?: WBConvertConfig): Promise<string>;
/**
* @~english
* @brief Delete whiteboard file.
* @param fileId Whiteboard file ID.
* @return
* - ResultCode.OK: Success.
* - Others: Fail.
* @note "default" whiteboard file could not be deleted.
* @~chinese
* @brief 删除白板文件。
* @param fileId 白板文件ID。
* @return
* - ResultCode.OK:成功。
* - Others: 失败。
* @note "default" 白板文件不能被删除。
*/
deleteDoc(fileId: string): Promise<ResultCode>;
/**
* @~english
* @brief Switch whiteboard file.
* @param fileId Whiteboard file ID.
* @return
* - ResultCode.OK: Success.
* - Others: Fail.
* @~chinese
* @brief 切换白板文件。
* @param fileId 白板文件ID。
* @return
* - ResultCode.OK:成功。
* - 其他:失败。
*/
switchDoc(fileId: string): Promise<ResultCode>;
/**
* @~english
* @brief Save whiteboard file to multiple images. Save each page to one image.
* Image name format is like whiteboard_[fileId]_[page number].png, eg. whiteboard_default_1.png.
* @param fileId Whiteboard file ID.
* @param outputDir output directory.
* @return
* - ResultCode.OK: Success.
* - Others: Fail.
* @~chinese
* @brief 保存白板文件为多张图片。每个白板页存为一张图。
* 图像名称格式为whiteboard_[fileId]_[page number].png, 例如:whiteboard_default_1.png。
* @param fileId 白板文件ID。
* @param outputDir 输出路径。
* @return
* - ResultCode.OK:成功。
* - 其他:失败。
*/
saveDocToImages(fileId: string, outputDir: string): Promise<ResultCode>;
/**
* @~english
* @brief Enumerate whiteboard files.
* @return fileId array.
* @~chinese
* @brief 枚举白板文件。
* @return fileId数组。
*/
enumerateFiles(): Promise<string[]>;
/**
* @~english
* @brief get current whiteboard file ID.
* @return
* - current whiteboard file ID, if fail return null.
* @~chinese
* @brief 获取当前白板文件ID。
* @return
* - 当前白板文件ID, 失败则返回null。
*/
getCurrentFileId(): Promise<string>;
/**
* @~english
* @brief get whiteboard file information with specific fileId
* @param fileId Whiteboard file ID
* @return
* - non-null: whiteborad file information
* - others: Failure
* @note DO NOT delete this pointer, RtcEngine can handle its life cycle.
* @~chinese
* @brief 获取指定白板文件ID的白板文件信息
* @param fileId 白板文件ID
* @return
* - 非空:白板文件信息
* - 空:失败
*/
getFileInfo(fileId: string): Promise<WBDocInfo>;
/**
* @~english
* @brief send custom message to external html
* @param fileId Whiteboard file ID
* @param msg custom message
* @param length length of custom message
* @return
* - kPanoResultOK: Success
* - Others: Fail
* @note only support external html doc
* @~chinese
* @brief 发送自定义消息到外部HTML页面
* @param fileId 白板文件ID
* @param msg 自定义消息
* @param length 自定义消息长度
* @return
* - kPanoResultOK: 成功
* - 其他: 失败
* @note 只支持外部HTML
*/
sendToExternalHtml(fileId: string, msg: string): Promise<ResultCode>;
/**
* @~english
* @brief clear whiteboard content.
* @param curPage true: clear current page only; false: clear all pages.
* @param type WBClearType enum type.
* @return
* - ResultCode.OK: Success.
* - ResultCode.NoPrivilege: need ADMIN role to call this API.
* - Others: Fail.
* @note this API need ADMIN role.
* @~chinese
* @brief 清除白板内容,需要 ADMIN 角色才可调用成功。
* @param curPage true: 只清除当前页内容;false: 清除所有页内容。
* @param type WBClearType 枚举类型。
* @return
* - ResultCode.OK:成功。
* - ResultCode.NoPrivilege: 没有权限。
* - 其他:失败。
* @note 此接口只有 ADMIN 角色才可调用。
*/
clearContents(curPage: boolean, type: WBClearType): Promise<ResultCode>;
/**
* @~english
* @brief clear whiteboard content by specific user ID.
* @param userId user ID.
* @param curPage true: clear current page only; false: clear all pages.
* @param type WBClearType enum type.
* @return
* - ResultCode.OK: Success.
* - ResultCode.NoPrivilege: need ADMIN role to call this API.
* - Others: Fail.
* @note ADMIN role is required if the userId is not local user.
* @~chinese
* @brief 清除指定用户的白板内容。
* @param userId 用户ID。
* @param curPage true: 只清除当前页内容;false: 清除所有页内容。
* @param type WBClearType 枚举类型。
* @return
* - ResultCode.OK:成功。
* - ResultCode.NoPrivilege: 没有权限。
* - 其他:失败。
* @note 只有 ADMIN 角色才可以清除非本地用户的内容。
*/
clearUserContents(userId: string, curPage: boolean, type: WBClearType): Promise<ResultCode>;
/**
* @~english
* @brief undo.
* @return
* - ResultCode.OK: Success.
* - Others: Fail.
* @~chinese
* @brief 撤消上一次操作。
* @return
* - ResultCode.OK:成功。
* - 其他:失败。
*/
undo(): Promise<ResultCode>;
/**
* @~english
* @brief redo.
* @return
* - ResultCode.OK: Success.
* - Others: Fail.
* @~chinese
* @brief 重做白板的上一次被撤销操作。
* @return
* - ResultCode.OK:成功。
* - 其他:失败。
*/
redo(): Promise<ResultCode>;
/**
* @~english
* @brief get current whiteboard scale factor.
* @return scale factor.
* @~chinese
* @brief 获取当前白板视图的缩放比例。
* @return 缩放比例值。
*/
getCurrentScaleFactor(): Promise<number>;
/**
* @~english
* @brief set current whiteboard scale factor.
* @param scale scale factor. Valid value range [0.1, 5.0].
* @return
* - ResultCode.OK: Success.
* - Others: Fail.
* @~chinese
* @brief 设置当前白板视图的缩放比例。
* @param scale 缩放比例值。有效值范围 [0.1, 5.0]。
* @return
* - ResultCode.OK:成功。
* - 其他:失败。
*/
setCurrentScaleFactor(scale: number): Promise<ResultCode>;
/**
* @~english
* @brief save whiteboard contents to image.
* @param mode snapshot mode.
* @param outputDir output directory.
* @note snapshot result and image filename is returned in callback onSnapshotComplete.
* @return
* - ResultCode.OK: Success.
* - Others: Fail.
* @~chinese
* @brief 保存白板内容到图像。
* @param mode 快照模式。
* @param outputDir 输出路径。
* @return
* - ResultCode.OK:成功。
* - 其他:失败。
* @note 快照结果和图像文件名通过回调函数onSnapshotComplete返回。
*/
snapshot(mode: WBSnapshotMode, outputDir: string): Promise<ResultCode>;
/**
* @~english
* @brief Configure whiteboard initial size
* @param config config param
* @return
* - OK: Success
* - Others: Fail
* @~chinese
* @brief 设置白板初始大小
* @param config 配置参数
* @return
* - OK: 成功
* - Others: 失败
*/
initVision(config: WBVisionConfig): Promise<ResultCode>;
/**
* @~english
* @brief Reset vision of current page
* @return
* - OK: Success
* - Others: Failure
* @~chinese
* @brief 重置当前页视角
* @return
* - OK: 成功
* - Others: 失败
*/
resetVision(): Promise<ResultCode>;
/**
* @~english
* Start share vision
* @return
* - ResultCode.OK: Success
* - others: Failure
* @~chinese
* 开始共享视角
* @return
* - ResultCode.OK: 成功
* - 其他: 失败
*/
startShareVision(): Promise<ResultCode>;
/**
* @~english
* Stop share vision
* @return
* - ResultCode.OK: Success
* - others: Failure
* @~chinese
* 停止共享视角
* @return
* - ResultCode.OK: 成功
* - 其他: 失败
*/
stopShareVision(): Promise<ResultCode>;
/**
* @~english
* Start follow vision
* @return
* - ResultCode.OK: Success
* - others: Failure
* @~chinese
* 开始跟随视角
* @return
* - ResultCode.OK: 成功
* - 其他: 失败
*/
startFollowVision(): Promise<ResultCode>;
/**
* @~english
* Stop follow vision
* @return
* - ResultCode.OK: Success
* - others: Failure
* @~chinese
* 停止跟随视角
* @return
* - ResultCode.OK: 成功
* - 其他: 失败
*/
stopFollowVision(): Promise<ResultCode>;
/**
* @~english
* @brief Sync vision of current page
* @return
* - kPanoResultOK: Success
* - others: Failure
* @~chinese
* @brief 同步当前页视角
* @return
* - kPanoResultOK: 成功
* - 其他: 失败
*/
syncVision(): Promise<ResultCode>;
/**
* @~english
* @brief Send message to the user specified by userId.
* @param userId The user who will receive the message.
* @param message The message, max size is 16KB.
* @return
* - ResultCode.OK: Success.
* - Others: Fail.
* @~chinese
* @brief 发送消息给某个指定用户。
* @param userId 用户 ID。
* @param message 要发送的消息,最大为 16KB。
* @return
* - ResultCode.OK:成功。
* - 其他:失败。
*/
sendMessage(message: string, userId: string): Promise<ResultCode>;
/**
* @~english
* @brief Broadcast message to all users.
* @param message The message, max size is 16KB.
* @return
* - ResultCode.OK:Success.
* - Others: Fail.
* @~chinese
* @brief 广播消息给所有用户。
* @param message 要广播的消息,最大为 16KB。
* @return
* - ResultCode.OK:成功。
* - 其他:失败。
*/
broadcastMessage(message: string): Promise<ResultCode>;
/**
* @~english
* @brief Set option object to Whiteboard.
* @param option The Option object.
* @param type WBOptionType enum type.
* @return
* - ResultCode.OK: Success.
* - others: Failure.
* @~chinese
* @brief 设置选项对象给白板。
* @param option 选项对象。
* @param type WBOptionType 枚举类型。
* @return
* - ResultCode.OK:成功。
* - 其他:失败。
*/
setOption(option: any, type: WBOptionType): Promise<ResultCode>;
}
interface RtcWhiteboardInterface {
open(view: RefObject<RtcWhiteboardSurfaceView>): Promise<ResultCode>;
close(): Promise<ResultCode>;
leave(): Promise<ResultCode>;
stop(): Promise<ResultCode>;
getCurrentWhiteboardId(): Promise<string>;
setRoleType(type: WBRoleType): Promise<ResultCode>;
setToolType(type: WBToolType): Promise<ResultCode>;
getToolType(): Promise<WBToolType>;
setLineWidth(width: number): Promise<ResultCode>;
setFillType(type: WBFillType): Promise<ResultCode>;
setFillColor(color: WBColor): Promise<ResultCode>;
setForegroundColor(color: WBColor): Promise<ResultCode>;
setBackgroundColor(color: WBColor): Promise<ResultCode>;
setFontStyle(style: WBFontStyle): Promise<ResultCode>;
setFontSize(size: number): Promise<ResultCode>;
addStamp(stamp: WBStamp): Promise<ResultCode>;
setStamp(stampId: string): Promise<ResultCode>;
setBackgroundImageScalingMode(mode: WBImageScalingMode): Promise<ResultCode>;
setBackgroundImage(imageUrl: string): Promise<ResultCode>;
setBackgroundImageWithPage(imageUrl: string, pageNo: number): Promise<ResultCode>;
getCurrentPageNumber(): Promise<number>;
getTotalNumberOfPages(): Promise<number>;
addPage(autoSwitch: boolean): Promise<ResultCode>;
insertPage(pageNo: number, autoSwitch: boolean): Promise<ResultCode>;
removePage(pageNo: number, switchNext: boolean): Promise<ResultCode>;
gotoPage(pageNo: number): Promise<ResultCode>;
nextPage(): Promise<ResultCode>;
prevPage(): Promise<ResultCode>;
nextStep(): Promise<ResultCode>;
prevStep(): Promise<ResultCode>;
addImageFile(imageUrl: string): Promise<ResultCode>;
addAudioFile(mediaUrl: string): Promise<ResultCode>;
addVideoFile(mediaUrl: string): Promise<ResultCode>;
addBackgroundImages(urls: string[]): Promise<string>;
addH5File(url: string, downloadUrl?: string): Promise<string>;
addDoc(contents: WBDocContents): Promise<string>;
addDocWithExtHtml(extHtml: WBDocExtHtml): Promise<string>;
createDocWithImages(urls: string[]): Promise<string>;
createDocWithFilePath(filePath: string, config?: WBConvertConfig): Promise<string>;
deleteDoc(fileId: string): Promise<ResultCode>;
switchDoc(fileId: string): Promise<ResultCode>;
saveDocToImages(fileId: string, outputDir: string): Promise<ResultCode>;
enumerateFiles(): Promise<string[]>;
getCurrentFileId(): Promise<string>;
getFileInfo(fileId: string): Promise<WBDocInfo>;
sendToExternalHtml(fileId: string, msg: string): Promise<ResultCode>;
clearContents(curPage: boolean, type: WBClearType): Promise<ResultCode>;
clearUserContents(userId: string, curPage: boolean, type: WBClearType): Promise<ResultCode>;
undo(): Promise<ResultCode>;
redo(): Promise<ResultCode>;
getCurrentScaleFactor(): Promise<number>;
setCurrentScaleFactor(scale: number): Promise<ResultCode>;
snapshot(mode: WBSnapshotMode, outputDir: string): Promise<ResultCode>;
initVision(config: WBVisionConfig): Promise<ResultCode>;
resetVision(): Promise<ResultCode>;
startShareVision(): Promise<ResultCode>;
stopShareVision(): Promise<ResultCode>;
startFollowVision(): Promise<ResultCode>;
stopFollowVision(): Promise<ResultCode>;
syncVision(): Promise<ResultCode>;
sendMessage(message: string, userId: string): Promise<ResultCode>;
broadcastMessage(message: string): Promise<ResultCode>;
setOption(option: any, type: WBOptionType): Promise<ResultCode>;
}
export {};