larksr_websdk
Version:
Larksr websdk. Easy to build a cloud render client for larksr system or ue4 pixelstreaming.docs: https://paraversetechnology.github.io/en/webclient_sdk/
134 lines (133 loc) • 4.09 kB
TypeScript
import { ViewPort } from "./common/interface";
import { IAppliParams } from "./appli_params";
import { CloudLark } from "./protobuf/cloudlark";
import ScaleMode from "./utils/scale_mode";
import { LocalEvent, EventBase } from './event/event_base';
import { LarkSR } from "./larksr";
export interface ContainerSize {
marginTop: number;
marginLeft: number;
width: number;
height: number;
}
export interface ContainerStyle {
marginTop: string;
marginLeft: string;
width: string;
height: string;
cursor: any;
}
export type ScreenOrientation = 'portrait' | 'landscape';
export declare enum CursorType {
ARROW = 0,
IBEAM = 1,
WAIT = 2,
CROSS = 3,
SIZENWSE = 4,
SIZENESW = 5,
SIZEWE = 6,
SIZENS = 7,
SIZEALL = 8,
NO = 9,
HAND = 10,
CUSTOM = 11,
DEFAULT = 1000
}
export interface SyncCursorStyle {
type: CursorType;
hotX: number;
hotY: number;
width: number;
height: number;
customBase64: string;
}
export declare const enum SCREEN_EVENT_TYPE {
ReSize = 0,
ContainerResize = 1
}
export interface ViewPortStyle extends ViewPort {
scrollX: boolean;
scrollY: boolean;
}
export interface ScreenEvent extends LocalEvent<SCREEN_EVENT_TYPE> {
container: ContainerSize;
viewPort: ViewPort;
}
export default class ScreenState extends EventBase<SCREEN_EVENT_TYPE, ScreenEvent> {
get appSize(): CloudLark.IAppResize;
set appSize(size: CloudLark.IAppResize);
private _appSize;
set originAppSize(viewport: ViewPort);
get originAppSize(): ViewPort;
private _originAppSize;
get viewPort(): ViewPortStyle;
private _viewPort;
get viewPortStyle(): string;
get syncClientViewport(): {
width: number;
height: number;
};
get orientationIndexStyle(): {
width: string;
height: string;
top: string;
left: string;
transform: string;
transformOrigin: string;
backgroundColor: string;
} | {
width: string;
height: string;
transform: string;
transformOrigin: string;
backgroundColor: string;
top?: undefined;
left?: undefined;
};
get container(): ContainerSize;
private _container;
get containerStyle(): string;
get screenOrientation(): ScreenOrientation;
private _screenOrientation;
get scaleMode(): ScaleMode;
set scaleMode(scaleMode: ScaleMode);
private _scaleMode;
get isFullScreen(): boolean;
private _isFullScreen;
get cursorStyle(): SyncCursorStyle;
set cursorStyle(style: SyncCursorStyle);
private _cursorStyle;
private get cursorCSSStyle();
get appMouseMode(): CloudLark.IAppMouseMode;
set appMouseMode(mode: CloudLark.IAppMouseMode);
private _appMouseMode;
get operateScale(): {
scaleX: number;
scaleY: number;
};
get initCursorMode(): number;
set initCursorMode(mode: number);
private _initCursorMode;
get isMobile(): boolean;
private _isMobile;
get isLocalRenderMouse(): boolean | null | undefined;
get isLockMosue(): boolean | null | undefined;
get rootElement(): HTMLElement;
private _rootElement;
private mobileForceLandScape;
private bgColor;
get handleRootElementSize(): boolean;
private _handleRootElementSize;
get onlyHandleRootElementTransform(): boolean;
private _onlyHandleRootElementTransform;
private larksr;
get baseElementScale(): number;
private _baseElementScale;
get wechatFullScreen(): boolean;
private _wechatFullScreen;
constructor(rootElement: HTMLElement, params: IAppliParams, larksr: LarkSR, handleRootElementSize?: boolean, onlyHandleRootElementTransform?: boolean);
reset(params: IAppliParams): void;
setMobileForceLandScape(force: boolean): void;
resize(baseElementScale?: number, containerResize?: boolean): void;
scrollToCenter(): void;
}