You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

124 lines
3.3 KiB

import { BrowserWindow } from 'electron';
import { ICON, WEB_URL, WIN_CONFIG, preload, url } from '../main/constant';
import {
minimizeRecorderScreenWin,
openRecorderScreenWin,
setBoundsRecorderScreenWin,
showRecorderScreenWin,
} from './recorderScreenWin';
let clipScreenWin: BrowserWindow | null = null;
function createClipScreenWin(): BrowserWindow {
clipScreenWin = new BrowserWindow({
title: '康来录制屏幕动态识别视频图像摄像头软件',
icon: ICON,
autoHideMenuBar: WIN_CONFIG.clipScreen.autoHideMenuBar, // 自动隐藏菜单栏
frame: WIN_CONFIG.clipScreen.frame, // 无边框窗口
resizable: WIN_CONFIG.clipScreen.resizable, // 窗口大小是否可调整
transparent: WIN_CONFIG.clipScreen.transparent, // 使窗口透明
fullscreenable: WIN_CONFIG.clipScreen.fullscreenable, // 窗口是否可以进入全屏状态
alwaysOnTop: WIN_CONFIG.clipScreen.alwaysOnTop, // 窗口是否永远在别的窗口的上面
skipTaskbar: WIN_CONFIG.clipScreen.skipTaskbar,
webPreferences: {
preload,
},
});
// clipScreenWin.webContents.openDevTools();
if (url) {
clipScreenWin.loadURL(WEB_URL + 'clipScreen.html');
} else {
clipScreenWin.loadFile(WIN_CONFIG.clipScreen.html);
}
// clipScreenWin.on('resize', () => {
// const clipScreenWinBounds = getBoundsClipScreenWin();
// setBoundsRecorderScreenWin(clipScreenWinBounds);
// });
// clipScreenWin.on('move', () => {
// const clipScreenWinBounds = getBoundsClipScreenWin();
// setBoundsRecorderScreenWin(clipScreenWinBounds);
// });
// clipScreenWin.on('restore', () => {
// showRecorderScreenWin();
// });
// clipScreenWin.on('minimize', () => {
// hideRecorderScreenWin();
// });
return clipScreenWin;
}
function closeClipScreenWin() {
clipScreenWin?.isDestroyed() || clipScreenWin?.close();
clipScreenWin = null;
}
function showClipScreenWin() {
clipScreenWin?.show();
}
function openClipScreenWin(search?: any) {
if (!clipScreenWin || clipScreenWin?.isDestroyed()) {
clipScreenWin = createClipScreenWin();
}
clipScreenWin?.show();
openRecorderScreenWin(search);
}
function getBoundsClipScreenWin() {
return clipScreenWin?.getBounds();
}
function hideClipScreenWin() {
clipScreenWin?.hide();
}
function setAlwaysOnTopClipScreenWin(isAlwaysOnTop: boolean) {
clipScreenWin?.setAlwaysOnTop(isAlwaysOnTop);
}
function setMovableClipScreenWin(movable: boolean) {
clipScreenWin?.setMovable(movable);
}
function setResizableClipScreenWin(resizable: boolean) {
clipScreenWin?.setResizable(resizable);
}
function minimizeClipScreenWin() {
clipScreenWin?.minimize();
minimizeRecorderScreenWin();
}
function setIgnoreMouseEventsClipScreenWin(event: any, ignore: boolean, options?: any) {
clipScreenWin?.setIgnoreMouseEvents(ignore, options);
}
function setIsPlayClipScreenWin(isPlay: boolean) {
clipScreenWin?.webContents.send('cs:set-isPlay', isPlay);
}
function setBoundsClipScreenWin(bounds: any) {
clipScreenWin?.setBounds({ ...bounds });
}
export {
closeClipScreenWin,
getBoundsClipScreenWin,
hideClipScreenWin,
minimizeClipScreenWin,
openClipScreenWin,
setAlwaysOnTopClipScreenWin,
setBoundsClipScreenWin,
setIgnoreMouseEventsClipScreenWin,
setIsPlayClipScreenWin,
setMovableClipScreenWin,
setResizableClipScreenWin,
showClipScreenWin,
};