ForCAX/entry/src/main/ets/pages/AppStorageV2Class.ets

46 lines
1.5 KiB
Plaintext

import { AppStorageV2, window} from '@kit.ArkUI';
//该文档主要储存屏幕信息,主窗口信息,窗口管理信息
//底部有全局信息变量,已导出,其他page只需要import该文件即可调用let变量
@ObservedV2
export class MainScreenDisplayInfo {
@Trace public mSDispId: number;
@Trace public mSDispWidth: number;
@Trace public mSDispHeight: number;
constructor(_id?: number, _width?: number,_height?: number) {
this.mSDispId = _id ?? 0;
this.mSDispWidth = _width ?? 0;
this.mSDispHeight = _height ?? 0;
}
}
@ObservedV2
export class MainWindowInfo {
@Trace public mWinId: number;
@Trace public mWinWidth: number;
@Trace public mWinHeight: number;
constructor(_id?:number,_width?: number, _height?: number) {
this.mWinWidth = _width ?? 0;
this.mWinHeight = _height ?? 0;
this.mWinId=_id?? 0;
}
}
@ObservedV2
export class MainWindowStageInfo {
@Trace public mWinStage: window.WindowStage| undefined;
constructor(_ws?: window.WindowStage) {
this.mWinStage = _ws ?? undefined;
}
}
//全局保存主窗口信息,屏幕信息.窗口管理器信息
export let mwInfo: MainWindowInfo = AppStorageV2.connect<MainWindowInfo>(MainWindowInfo, () => new MainWindowInfo())!;
export let msdInfo: MainScreenDisplayInfo = AppStorageV2.connect<MainScreenDisplayInfo>(MainScreenDisplayInfo, () => new MainScreenDisplayInfo())!;
export let mwsInfo: MainWindowStageInfo = AppStorageV2.connect<MainWindowStageInfo>(MainWindowStageInfo, () => new MainWindowStageInfo())!;