ForCAX/entry/src/main/ets/pages/displaywindowinfo/DispWinInfo.ets

48 lines
1.8 KiB
Plaintext

import { AppStorageV2, display,window} from '@kit.ArkUI';
//该文档主要储存屏幕信息,主窗口信息,窗口管理信息
@ObservedV2
export class DisplayWindowInfo {
@Trace public displayId: number;
@Trace public displayWidth: number;
@Trace public displayHeight: number;
@Trace public winId: number;
@Trace public win?: window.Window;
@Trace public winWidth: number;
@Trace public winHeight: number;
@Trace public winStage?: window.WindowStage;
constructor(
_displayId?:number,
_displayWidth?: number,
_displayHeight?:number,
_winId?: number,
_winWidth?: number,
_winHeight?: number,
)
{
this.displayId = _displayId ?? 0;
this.displayWidth=_displayWidth?? 0;
this.displayHeight = _displayHeight ?? 0;
this.winId=_winId ?? 0;
this.winWidth = _winWidth?? 0;
this.winHeight = _winHeight?? 0;
}
}
export async function InitGlobalDisplayWindowInfo(windowStage: window.WindowStage){
const displayWindowInfo = AppStorageV2.connect<DisplayWindowInfo>(DisplayWindowInfo, () => new DisplayWindowInfo())!;
displayWindowInfo.displayId = display.getDefaultDisplaySync().id;
displayWindowInfo.displayWidth = display.getDefaultDisplaySync().width;
displayWindowInfo.displayHeight = display.getDefaultDisplaySync().height;
displayWindowInfo.winWidth = displayWindowInfo.displayWidth-100;
displayWindowInfo.winHeight = displayWindowInfo.displayHeight-200;
displayWindowInfo.winStage= windowStage;
console.error(`Display Size:`,displayWindowInfo.displayWidth,displayWindowInfo.displayHeight);
console.error(`MainWindow Size:`,displayWindowInfo.winWidth,displayWindowInfo.winHeight);
}
//全局保存主窗口信息,屏幕信息.窗口管理器信息
export let mdwInfo: DisplayWindowInfo = AppStorageV2.connect<DisplayWindowInfo>(DisplayWindowInfo, () => new DisplayWindowInfo())!;