UNPKG

@pano.video/panortc-react-native-sdk

Version:
1,046 lines (1,045 loc) 34.9 kB
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 {};