UNPKG

agora-classroom-sdk

Version:

For publishing npm package agora-classroom-sdk (Web & Electron). Get more information from https://docs.agora.io

102 lines (101 loc) 3.63 kB
import { StreamWindow, StreamWindowBounds, WidgetTrackStruct } from './type'; export declare function isNum(num: unknown): boolean; /** * 计算 8 宫格布局 * 当数量小于等于 3 的时候一行展示 * * ┌───────┐ * │ 1 │ * └───────┘ * * ┌───────┬───────┐ * │ 1 │ 2 │ * └───────┴───────┘ * * ┌───────┬───────┬───────┐ * │ 1 │ 2 │ 3 │ * └───────┴───────┴───────┘ * * * 当数量大于3的时候 * * ┌───────┬───────┐ * │ 3 │ 4 │ * ├───────┼───────┤ * │ 1 │ 2 │ * └───────┴───────┘ * * ┌───────────┬───────────┐ * │ 4 │ 5 │ * ├───────┬───┴───┬───────┤ * │ 1 │ 2 │ 3 │ * └───────┴───────┴───────┘ * * ┌───────┬───────┬───────┐ * │ 4 │ 5 │ 6 │ * ├───────┼───────┼───────┤ * │ 1 │ 2 │ 3 │ * └───────┴───────┴───────┘ * * ┌───────────┬─────────┬─────────┐ * │ 5 │ 6 │ 7 │ * ├───────┬───┴───┬─────┴─┬───────┤ * │ 1 │ 2 │ 3 │ 4 │ * └───────┴───────┴───────┴───────┘ * * ┌───────┬───────┬───────┬───────┐ * │ 5 │ 6 │ 7 │ 8 │ * ├───────┼───────┼───────┼───────┤ * │ 1 │ 2 │ 3 │ 4 │ * └───────┴───────┴───────┴───────┘ * * @param length * @param width * @param height * @returns */ export declare const calculateSize: (length: number, width: number, height: number) => StreamWindowBounds[][]; /** * 计算 9 宫格布局 * 计算规则为 1^2 2^2 3^2 */ export declare const calculateSizeSquare: (length: number, width: number, height: number) => StreamWindowBounds[][]; /** * 需要把 x, y 为可移动距离的比例 * 最大有效移动范围(Maximum Effective Distance, MED):在不超出教室布局的前提下,分别能够在 X 轴、Y 轴方向移动的最大距离 * 移动偏移量: * @param rect */ export declare const convertToWidgetTrackPos: (rect: StreamWindow, bigRect: { width: number; height: number; }) => { position: { xaxis: number; yaxis: number; }; size: { width: number; height: number; }; extra: { contain: boolean; zIndex: number; }; }; /** * 把 widget 坐标转换为目前的用的坐标 * @param rect * @param bigRect */ export declare const convertToRelativePos: (rect: WidgetTrackStruct, streamWindowRect: { width: number; height: number; }) => { x: number; y: number; width: number; height: number; zIndex: number; contain: boolean; };