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.
77 lines
2.5 KiB
77 lines
2.5 KiB
import { BrowserWindow } from 'electron'; |
|
import { ICON, WEB_URL, WIN_CONFIG, preload, url } from '../main/constant'; |
|
|
|
let recorderFullScreenWin: BrowserWindow | null = null; |
|
|
|
function createRecorderFullScreenWin(): BrowserWindow { |
|
recorderFullScreenWin = new BrowserWindow({ |
|
title: '录屏', |
|
icon: ICON, |
|
height: WIN_CONFIG.recorderFullScreen.height, |
|
width: WIN_CONFIG.recorderFullScreen.width, |
|
center: WIN_CONFIG.recorderFullScreen.center, |
|
transparent: WIN_CONFIG.recorderFullScreen.transparent, // 使窗口透明 |
|
autoHideMenuBar: WIN_CONFIG.recorderFullScreen.autoHideMenuBar, // 自动隐藏菜单栏 |
|
frame: WIN_CONFIG.recorderFullScreen.frame, // 无边框窗口 |
|
hasShadow: WIN_CONFIG.recorderFullScreen.hasShadow, // 窗口是否有阴影 |
|
fullscreenable: WIN_CONFIG.recorderFullScreen.fullscreenable, // 窗口是否可以进入全屏状态 |
|
alwaysOnTop: WIN_CONFIG.recorderFullScreen.alwaysOnTop, // 窗口是否永远在别的窗口的上面 |
|
skipTaskbar: WIN_CONFIG.recorderFullScreen.skipTaskbar, |
|
resizable: WIN_CONFIG.recorderFullScreen.resizable, |
|
webPreferences: { |
|
preload, |
|
}, |
|
}); |
|
recorderFullScreenWin?.setBounds({ y: 0 }); |
|
if (url) { |
|
recorderFullScreenWin.loadURL(WEB_URL + `recorderFullScreen.html`); |
|
} else { |
|
recorderFullScreenWin.loadFile(WIN_CONFIG.recorderFullScreen.html); |
|
} |
|
// recorderFullScreenWin.webContents.openDevTools(); |
|
|
|
return recorderFullScreenWin; |
|
} |
|
|
|
function closeRecorderFullScreenWin() { |
|
recorderFullScreenWin?.isDestroyed() || recorderFullScreenWin?.close(); |
|
recorderFullScreenWin = null; |
|
} |
|
|
|
function openRecorderFullScreenWin() { |
|
if (!recorderFullScreenWin || recorderFullScreenWin?.isDestroyed()) { |
|
recorderFullScreenWin = createRecorderFullScreenWin(); |
|
} |
|
recorderFullScreenWin?.show(); |
|
} |
|
|
|
function hideRecorderFullScreenWin() { |
|
recorderFullScreenWin?.hide(); |
|
} |
|
|
|
function showRecorderFullScreenWin() { |
|
recorderFullScreenWin?.show(); |
|
} |
|
|
|
function minimizeRecorderFullScreenWin() { |
|
recorderFullScreenWin?.minimize(); |
|
} |
|
|
|
function setMovableRecorderFullScreenWin(movable: boolean) { |
|
recorderFullScreenWin?.setMovable(movable); |
|
} |
|
|
|
function setAlwaysOnTopRecorderFullScreenWin(isAlwaysOnTop: boolean) { |
|
recorderFullScreenWin?.setAlwaysOnTop(isAlwaysOnTop); |
|
} |
|
|
|
export { |
|
closeRecorderFullScreenWin, |
|
createRecorderFullScreenWin, |
|
hideRecorderFullScreenWin, |
|
minimizeRecorderFullScreenWin, |
|
openRecorderFullScreenWin, |
|
setAlwaysOnTopRecorderFullScreenWin, |
|
setMovableRecorderFullScreenWin, |
|
showRecorderFullScreenWin, |
|
};
|
|
|