diff --git a/Changelog.md b/Changelog.md
index e2d9367..3d714eb 100644
--- a/Changelog.md
+++ b/Changelog.md
@@ -3,6 +3,8 @@
## ElectronNET.Core
- Updated `PrintToPDFOptions` to also allow specifying the `PageSize` with an object (#769)
+- Updated splashscreen image to have 0 margin (#622)
+- Added option to use `ElectronSplashScreen` with an HTML file (#799)
- Added option to provide floating point value as aspect ratios with `SetAspectRatio` (#793)
# 0.0.18
diff --git a/src/ElectronNET.API/API/BrowserWindow.cs b/src/ElectronNET.API/API/BrowserWindow.cs
index 449802e..2fd04a4 100644
--- a/src/ElectronNET.API/API/BrowserWindow.cs
+++ b/src/ElectronNET.API/API/BrowserWindow.cs
@@ -48,7 +48,9 @@ public class BrowserWindow
_readyToShow -= value;
if (_readyToShow == null)
+ {
BridgeConnector.Socket.Off("browserWindow-ready-to-show" + Id);
+ }
}
}
@@ -77,7 +79,9 @@ public class BrowserWindow
_pageTitleUpdated -= value;
if (_pageTitleUpdated == null)
+ {
BridgeConnector.Socket.Off("browserWindow-page-title-updated" + Id);
+ }
}
}
@@ -170,7 +174,9 @@ public class BrowserWindow
_sessionEnd -= value;
if (_sessionEnd == null)
+ {
BridgeConnector.Socket.Off("browserWindow-session-end" + Id);
+ }
}
}
@@ -199,7 +205,9 @@ public class BrowserWindow
_unresponsive -= value;
if (_unresponsive == null)
+ {
BridgeConnector.Socket.Off("browserWindow-unresponsive" + Id);
+ }
}
}
@@ -228,7 +236,9 @@ public class BrowserWindow
_responsive -= value;
if (_responsive == null)
+ {
BridgeConnector.Socket.Off("browserWindow-responsive" + Id);
+ }
}
}
@@ -257,7 +267,9 @@ public class BrowserWindow
_blur -= value;
if (_blur == null)
+ {
BridgeConnector.Socket.Off("browserWindow-blur" + Id);
+ }
}
}
@@ -286,7 +298,9 @@ public class BrowserWindow
_focus -= value;
if (_focus == null)
+ {
BridgeConnector.Socket.Off("browserWindow-focus" + Id);
+ }
}
}
@@ -315,7 +329,9 @@ public class BrowserWindow
_show -= value;
if (_show == null)
+ {
BridgeConnector.Socket.Off("browserWindow-show" + Id);
+ }
}
}
@@ -344,7 +360,9 @@ public class BrowserWindow
_hide -= value;
if (_hide == null)
+ {
BridgeConnector.Socket.Off("browserWindow-hide" + Id);
+ }
}
}
@@ -373,7 +391,9 @@ public class BrowserWindow
_maximize -= value;
if (_maximize == null)
+ {
BridgeConnector.Socket.Off("browserWindow-maximize" + Id);
+ }
}
}
@@ -402,7 +422,9 @@ public class BrowserWindow
_unmaximize -= value;
if (_unmaximize == null)
+ {
BridgeConnector.Socket.Off("browserWindow-unmaximize" + Id);
+ }
}
}
@@ -431,7 +453,9 @@ public class BrowserWindow
_minimize -= value;
if (_minimize == null)
+ {
BridgeConnector.Socket.Off("browserWindow-minimize" + Id);
+ }
}
}
@@ -460,7 +484,9 @@ public class BrowserWindow
_restore -= value;
if (_restore == null)
+ {
BridgeConnector.Socket.Off("browserWindow-restore" + Id);
+ }
}
}
@@ -489,7 +515,9 @@ public class BrowserWindow
_resize -= value;
if (_resize == null)
+ {
BridgeConnector.Socket.Off("browserWindow-resize" + Id);
+ }
}
}
@@ -520,7 +548,9 @@ public class BrowserWindow
_move -= value;
if (_move == null)
+ {
BridgeConnector.Socket.Off("browserWindow-move" + Id);
+ }
}
}
@@ -549,7 +579,9 @@ public class BrowserWindow
_moved -= value;
if (_moved == null)
+ {
BridgeConnector.Socket.Off("browserWindow-moved" + Id);
+ }
}
}
@@ -578,7 +610,9 @@ public class BrowserWindow
_enterFullScreen -= value;
if (_enterFullScreen == null)
+ {
BridgeConnector.Socket.Off("browserWindow-enter-full-screen" + Id);
+ }
}
}
@@ -607,7 +641,9 @@ public class BrowserWindow
_leaveFullScreen -= value;
if (_leaveFullScreen == null)
+ {
BridgeConnector.Socket.Off("browserWindow-leave-full-screen" + Id);
+ }
}
}
@@ -636,7 +672,9 @@ public class BrowserWindow
_enterHtmlFullScreen -= value;
if (_enterHtmlFullScreen == null)
+ {
BridgeConnector.Socket.Off("browserWindow-enter-html-full-screen" + Id);
+ }
}
}
@@ -665,7 +703,9 @@ public class BrowserWindow
_leaveHtmlFullScreen -= value;
if (_leaveHtmlFullScreen == null)
+ {
BridgeConnector.Socket.Off("browserWindow-leave-html-full-screen" + Id);
+ }
}
}
@@ -700,7 +740,9 @@ public class BrowserWindow
_appCommand -= value;
if (_appCommand == null)
+ {
BridgeConnector.Socket.Off("browserWindow-app-command" + Id);
+ }
}
}
@@ -729,7 +771,9 @@ public class BrowserWindow
_swipe -= value;
if (_swipe == null)
+ {
BridgeConnector.Socket.Off("browserWindow-swipe" + Id);
+ }
}
}
@@ -758,7 +802,9 @@ public class BrowserWindow
_sheetBegin -= value;
if (_sheetBegin == null)
+ {
BridgeConnector.Socket.Off("browserWindow-sheet-begin" + Id);
+ }
}
}
@@ -787,7 +833,9 @@ public class BrowserWindow
_sheetEnd -= value;
if (_sheetEnd == null)
+ {
BridgeConnector.Socket.Off("browserWindow-sheet-end" + Id);
+ }
}
}
@@ -816,7 +864,9 @@ public class BrowserWindow
_newWindowForTab -= value;
if (_newWindowForTab == null)
+ {
BridgeConnector.Socket.Off("browserWindow-new-window-for-tab" + Id);
+ }
}
}
diff --git a/src/ElectronNET.Host/main.js b/src/ElectronNET.Host/main.js
index 4019948..e0879c7 100644
--- a/src/ElectronNET.Host/main.js
+++ b/src/ElectronNET.Host/main.js
@@ -204,7 +204,8 @@ function isSplashScreenEnabled() {
}
function startSplashScreen() {
- let imageFile = path.join(currentPath, manifestJsonFile.splashscreen.imageFile);
+ const imageFile = path.join(currentPath, manifestJsonFile.splashscreen.imageFile);
+ const isHtml = imageFile.endsWith('.html') || imageFile.endsWith('.htm');
const startWindow = (width, height) => {
splashScreen = new BrowserWindow({
width: width,
@@ -224,7 +225,7 @@ function startSplashScreen() {
splashScreen.destroy();
});
- const loadSplashscreenUrl = path.join(currentPath, 'splashscreen', 'index.html') + '?imgPath=' + imageFile;
+ const loadSplashscreenUrl = isHtml ? imageFile : path.join(currentPath, 'splashscreen', 'index.html') + '?imgPath=' + imageFile;
splashScreen.loadURL('file://' + loadSplashscreenUrl);
splashScreen.once('closed', () => {
splashScreen = null;
@@ -232,10 +233,16 @@ function startSplashScreen() {
};
if (manifestJsonFile.splashscreen.width && manifestJsonFile.splashscreen.height) {
- startWindow(manifestJsonFile.splashscreen.width, manifestJsonFile.splashscreen.height);
- return;
+ // width and height are set explicitly
+ return startWindow(manifestJsonFile.splashscreen.width, manifestJsonFile.splashscreen.height);
}
+ if (isHtml) {
+ // we cannot compute width and height => use default
+ return startWindow(800, 600);
+ }
+
+ // it's an image, so we can compute the desired splash screen size
imageSize(imageFile, (error, dimensions) => {
if (error) {
console.log(`load splashscreen error:`);
diff --git a/src/ElectronNET.Host/splashscreen/index.html b/src/ElectronNET.Host/splashscreen/index.html
index ddd85e2..d953e12 100644
--- a/src/ElectronNET.Host/splashscreen/index.html
+++ b/src/ElectronNET.Host/splashscreen/index.html
@@ -15,7 +15,7 @@
}
-
+