window(視窗)
控制插件視窗顯示、隱藏、全螢幕等各種操作。
下面範例為 window
的常用功能:
await eagle.window.show(); // 顯示插件視窗
await eagle.window.hide(); // 隱藏插件視窗
await eagle.window.minimize(); // 縮小視窗
await eagle.window.restore(); // 還原縮小
await eagle.window.maximize(); // 最大化視窗
await eagle.window.unmaximize(); // 還原最大化
await eagle.window.setFullScreen(true); // 設為全螢幕
await eagle.window.setFullScreen(false); // 離開全螢幕
方法
show()
顯示並聚焦於視窗。
返回
Promise<>
await eagle.window.show();
showInactive()
顯示但不聚焦於視窗。
返回
Promise<>
await eagle.window.showInactive();
hide()
隱藏插件視窗。
返回
Promise<>
await eagle.window.hide();
focus()
使插件視窗獲取焦點。
返回
Promise<>
await eagle.window.focus();
minimize()
最小化插件視窗。
返回
Promise<>
await eagle.window.minimize();
isMinimized()
判斷視窗是否最小化。
返回
Promise<minimized: boolean>
minimized
boolean - 視窗是否最小化
let isMinimized = await eagle.window.isMinimized();
restore()
將插件視窗從最小化狀態恢復到以前的狀態。
返回
Promise<>
await eagle.window.restore();
maximize()
最大化插件視窗。 如果視窗尚未顯示,該方法也會將其顯示 (但不會聚焦)。
返回
Promise<>
await eagle.window.maximize();
unmaximize()
取消插件視窗最大化
返回
Promise<>
await eagle.window.unmaximize();
isMaximized()
判斷視窗是否最大化
返回
Promise<maximized: boolean>
maximized
boolean - 視窗是否最大化
let isMaximized = await eagle.window.isMaximized();
setFullScreen(flag)
設定視窗是否應處於全屏模式。
flag
boolean - 是否設為全屏返回
Promise<>
await eagle.window.setFullScreen(true); // 進入全屏
await eagle.window.setFullScreen(false); // 退出全屏
isFullScreen()
判斷視窗是否全屏
返回
Promise<fullscreen: boolean>
fullscreen
boolean - 視窗是否全屏
let isMaximized = await eagle.window.isMaximized();
setAspectRatio(aspectRatio)
這將使視窗保持長寬比。
aspectRatio
Float - 保持的寬高比(寬 / 高)返回
Promise<>
await eagle.window.setAspectRatio(16/9); // 將視窗寬高比例限制為 16:9
setBackgroundColor(backgroundColor)
設定視窗的背景顏色。
backgroundColor
String - 此參數代表您所希望的背景顏色的HEX代碼。返回
Promise<>
await eagle.window.setBackgroundColor("#FFFFFF");
setSize(width, height)
設定視窗大小
width
Integer - 視窗寬度height
- Integer - 視窗高度返回
Promise<>
await eagle.window.setSize(720, 480);
setResizable(resizable)
設定視窗是否支援調整大小
resizable
boolean - 是否支援調整大小返回
Promise<>
await eagle.window.setResizable(true);
await eagle.window.setResizable(false);
isResizable()
視窗是否支援調整大小
返回
Promise<resizable: boolean>
resizable
boolean
let isResizable = await eagle.window.isResizable();
setAlwaysOnTop(flag)
設定視窗是否應始終顯示在其他視窗的前面。
flag
boolean返回
Promise<>
await eagle.window.setAlwaysOnTop(true);
await eagle.window.setAlwaysOnTop(false);
isAlwaysOnTop()
視窗是否應始終顯示在其他視窗的前面
返回
Promise<alwaysOnTop: boolean>
alwaysOnTop
boolean
let isAlwaysOnTop = await eagle.window.isAlwaysOnTop();
setPosition(x, y)
將視窗移動到 x 和 y。
x
Integery
Integer返回
Promise<>
await eagle.window.setPosition(100, 200);
getPosition()
取得插件視窗座標 x 和 y。
返回
Promise<position: Integer[]>
position
Integer[]x - position[0]
y - position[1]
let position = await eagle.window.getPosition(); // [100, 200]
setOpacity(opacity)
設定視窗的不透明度, 超出界限的數值被限制在[0, 1] 範圍內。
opacity
number - 介於0.0 ( 完全透明 ) 和1.0 ( 完全不透明 ) 之間返回
Promise<>
await eagle.window.setOpacity(0.5);
getOpacity()
取得視窗透明度,介於0.0 (完全透明) 和1.0 (完全不透明) 之間。
返回
Promise<opacity: number>
opacity
number
let opacity = await eagle.window.getOpacity();
flashFrame(flag)
啓動或停止閃爍視窗, 以吸引使用者的注意。
flag
boolean - 是否閃爍返回
Promise<>
await eagle.window.flashFrame(true);
await eagle.window.flashFrame(false);
setIgnoreMouseEvents(ignore)
忽略視窗內的所有滑鼠事件。在此視窗中發生的所有滑鼠事件將被傳遞到此視窗下面的視窗,但如果此視窗具有焦點,它仍然會接收鍵盤事件。
ignore
boolean - 是否忽略滑鼠事件返回
Promise<>
await eagle.window.setIgnoreMouseEvents(true);
await eagle.window.setIgnoreMouseEvents(false);
capturePage(rect)
捕獲 rect
指定區域的頁面快照。省略 rect
將捕獲整個可見頁面。
rect
物件 - 可選,截圖範圍x
數字y
數字width
數字height
數字
返回
Promise<[NativeImage](https://www.electronjs.org/docs/latest/api/native-image)>
const image = await eagle.window.capturePage();
const base64 = image.toDataURL("image/jpeg");
const image2 = await eagle.window.capturePage({ x: 0, y: 0, width: 100, height: 50 });
const buffer = image2.toPNG();
setReferer(url)
函數用來設定當前的引用來源網址(referer URL)。當您設定了引用來源後,後續的請求都會使用這個設定的引用來源。
url
文字 - 引用來源的網址返回
void
eagle.window.setReferer("https://tw.eagle.cool");
Last updated