agora-classroom-sdk
Version:
For publishing npm package agora-classroom-sdk (Web & Electron). Get more information from https://docs.agora.io
146 lines (145 loc) • 3.69 kB
TypeScript
import { EduUIStoreBase } from '../base';
import { EduStreamUI } from '../stream/struct';
import { CabinetItem, ToolbarItem } from './type';
export declare class ToolbarUIStore extends EduUIStoreBase {
readonly defaultColors: string[];
readonly defaultPens: string[];
readonly paletteMap: Record<string, string>;
readonly module: string;
readonly allowedCabinetItems: string[];
private _disposers;
onInstall(): void;
activeMap: Record<string, boolean>;
private _activeCabinetItems;
/**
* 当前激活的工具
* @returns
*/
get activeTool(): "circle" | "line" | "text" | "triangle" | "square" | "arrow" | "pentagram" | "rhombus" | "pen" | "eraser" | "clicker" | "selection" | "hand" | undefined;
/**
* 当前激活的画笔类工具
* @returns
*/
get selectedPenTool(): "circle" | "line" | "text" | "triangle" | "square" | "arrow" | "pentagram" | "rhombus" | "pen" | "eraser" | "clicker" | "selection" | "hand" | undefined;
/**
* 画笔工具是否激活
* @returns
*/
get isPenToolActive(): boolean | undefined;
/**
* 选中的画笔颜色
* @returns
*/
get currentColor(): string;
/**
* 选中的画笔粗细
* @returns
*/
get strokeWidth(): number;
/**
* 是否正在进行屏幕共享
* @returns
*/
get isScreenSharing(): boolean;
/**
* 是否打开白板
* @returns
*/
get isWhiteboardOpening(): boolean;
handleBoradCleaner(id: string): void;
/**
* 老师流信息列表
* @returns
*/
get teacherStreams(): Set<EduStreamUI>;
/**
* 老师流信息(教室内只有一个老师时使用,如果有一个以上老师请使用 teacherStreams)
* @returns
*/
get teacherCameraStream(): EduStreamUI | undefined;
startLocalScreenShare(): void;
selectScreenShareDevice(): Promise<void>;
/**
* 打开内建工具
* @param id
*/
openBuiltinCabinet(id: string): Promise<void>;
handleSliceItem(id: string): void;
/**
* 选中工具
* @param tool
* @returns
*/
setTool(tool: string): void;
private _openCloudDrive;
private _openRoster;
private _saveBoardSnapshot;
private _setToolActive;
private _setToolInactive;
readonly penTools: string[];
/**
* 设置画笔粗细
* @param value
* @returns
*/
changeStroke(value: number): void;
/**
* 设置画笔颜色,支持 RGB 色值
* @param value
* @returns
*/
changeHexColor(value: string): void;
/**
* 当前激活的工具
* @returns
*/
get activeCabinetItems(): Set<string>;
/**
* 工具箱列表
* @returns
*/
get cabinetItems(): CabinetItem[];
/**
* 白板清除选项列表
* @returns
*/
get boardCleanerItems(): CabinetItem[];
/**
* 工具栏工具列表
* @returns
*/
get tools(): ToolbarItem[];
/**
* 截图选项列表
* @returns
*/
get sliceItems(): CabinetItem[];
/**
* 老师工具栏工具列表
* @returns
*/
get teacherTools(): ToolbarItem[];
/**
* 学生工具栏工具列表
* @returns
*/
get studentTools(): ToolbarItem[];
/**
* 转 Edu 工具 对象
* @param tool
* @returns
*/
private _convertUITools2EduTools;
/**
* 转 UI 工具对象
* @param tool
* @returns
*/
private _convertEduTools2UITools;
/**
* 把截图贴到白板中
* @param dataURL
*/
private _pastToBoard;
onDestroy(): void;
}