From 642c5ad8551dd623fa1cfeba2ae8cd10dbe28e00 Mon Sep 17 00:00:00 2001 From: slotovi4 Date: Sun, 27 Dec 2020 20:35:25 +0300 Subject: [PATCH] fix: fix resizeWindow for windows --- package.json | 4 ++-- src/components/Home/Home.tsx | 14 ++++++++------ src/electron/main.ts | 14 +++++--------- 3 files changed, 15 insertions(+), 17 deletions(-) diff --git a/package.json b/package.json index b486d85..52f4b95 100644 --- a/package.json +++ b/package.json @@ -1,16 +1,16 @@ { "name": "perfect-pixel", - "version": "0.5.4", + "version": "0.5.5", "description": "", "private": true, "main": "build/main.js", "homepage": "./", "scripts": { "start": "react-scripts-ts start", + "start:electron": "yarn compile && electron ./build/main.js", "compile": "yarn compile:react && yarn compile:electron", "compile:react": "GENERATE_SOURCEMAP=false react-scripts-ts build", "compile:electron": "tsc ./src/electron/** --outDir ./build", - "start:electron": "yarn compile && electron ./build/main.js", "build:mac": "yarn compile && electron-builder --mac", "build:win": "yarn compile && electron-builder --win --x64 --ia32", "build:lin": "yarn compile && electron-builder --linux", diff --git a/src/components/Home/Home.tsx b/src/components/Home/Home.tsx index da1337a..305a12b 100644 --- a/src/components/Home/Home.tsx +++ b/src/components/Home/Home.tsx @@ -76,11 +76,13 @@ const Home = () => { if (imageParams) { + // размеры изображения относительно увеличения изображения + const height = imageParams.height * imageScale; + const width = imageParams.width * imageScale; + // изменим размеры окна - resizeWindow({ - height: imageParams.height * imageScale, - width: imageParams.width * imageScale - }); + resizeWindow({ width, height }); + } else { // вернем начальные размеры окна @@ -249,8 +251,8 @@ const Home = () => {
- : null} + + : null}
diff --git a/src/electron/main.ts b/src/electron/main.ts index 8fa25c1..9870a20 100644 --- a/src/electron/main.ts +++ b/src/electron/main.ts @@ -107,16 +107,12 @@ if (!handleSquirrelEvent(app)) { ipcMain.on('resizeWindow', (event, sizeData: TResizeWindow) => { if (mainWindow) { - // если данные есть - if (sizeData) { + // рассчитаем новые размеры окна относительно размеров изображения (Math.ceil для windows) + const width = Math.ceil(sizeData ? sizeData.width : minWidth); + const height = Math.ceil(sizeData ? sizeData.height + minHeight : minHeight); - // установим размеры согласно размерам изображения - mainWindow.setSize(sizeData.width, sizeData.height + minHeight); - } else { - - // установим начальные размеры окна - mainWindow.setSize(minWidth, minHeight); - } + // установим размеры согласно размерам изображения + mainWindow.setSize(width, height); } });