electron-drag-plus 1.0.6 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +36 -21
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -19,14 +19,16 @@ electron_1.ipcMain.on('electron-drag:start', (event, { x, y }) => {
|
|
|
19
19
|
const win = electron_1.BrowserWindow.fromWebContents(event.sender);
|
|
20
20
|
if (!win)
|
|
21
21
|
return;
|
|
22
|
+
const winBounds = win.getBounds();
|
|
22
23
|
currentWindow = win;
|
|
23
|
-
const originalSize = win.getSize();
|
|
24
24
|
dragData = {
|
|
25
25
|
isDragging: true,
|
|
26
26
|
startX: x,
|
|
27
27
|
startY: y,
|
|
28
|
+
windowStartX: winBounds.x,
|
|
29
|
+
windowStartY: winBounds.y,
|
|
28
30
|
originalResizable: win.isResizable(),
|
|
29
|
-
originalSize
|
|
31
|
+
originalSize: [winBounds.width, winBounds.height]
|
|
30
32
|
};
|
|
31
33
|
win.setResizable(false);
|
|
32
34
|
});
|
|
@@ -34,17 +36,18 @@ electron_1.ipcMain.on('electron-drag:drag', (event, { x, y }) => {
|
|
|
34
36
|
if (!currentWindow || !dragData || !dragData.isDragging)
|
|
35
37
|
return;
|
|
36
38
|
try {
|
|
37
|
-
const
|
|
38
|
-
const
|
|
39
|
-
const
|
|
40
|
-
const
|
|
41
|
-
currentWindow.
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
dragData.
|
|
39
|
+
const deltaX = x - dragData.startX;
|
|
40
|
+
const deltaY = y - dragData.startY;
|
|
41
|
+
const newX = dragData.windowStartX + deltaX;
|
|
42
|
+
const newY = dragData.windowStartY + deltaY;
|
|
43
|
+
currentWindow.setBounds({
|
|
44
|
+
x: newX,
|
|
45
|
+
y: newY,
|
|
46
|
+
width: dragData.originalSize[0],
|
|
47
|
+
height: dragData.originalSize[1]
|
|
48
|
+
}, true);
|
|
49
|
+
dragData.windowStartX = newX;
|
|
50
|
+
dragData.windowStartY = newY;
|
|
48
51
|
}
|
|
49
52
|
catch (error) {
|
|
50
53
|
console.error('拖拽移动出错:', error);
|
|
@@ -53,15 +56,27 @@ electron_1.ipcMain.on('electron-drag:drag', (event, { x, y }) => {
|
|
|
53
56
|
electron_1.ipcMain.on('electron-drag:stop', () => {
|
|
54
57
|
if (!currentWindow || !dragData)
|
|
55
58
|
return;
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
59
|
+
const currentBounds = currentWindow.getBounds();
|
|
60
|
+
try {
|
|
61
|
+
currentWindow.setBounds({
|
|
62
|
+
x: currentBounds.x,
|
|
63
|
+
y: currentBounds.y,
|
|
64
|
+
width: dragData.originalSize[0],
|
|
65
|
+
height: dragData.originalSize[1]
|
|
66
|
+
}, true);
|
|
67
|
+
if (dragData.originalResizable !== undefined) {
|
|
68
|
+
currentWindow.setResizable(dragData.originalResizable);
|
|
62
69
|
}
|
|
63
|
-
|
|
64
|
-
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
console.error('恢复窗口状态出错:', error);
|
|
73
|
+
if (dragData.originalResizable !== undefined) {
|
|
74
|
+
try {
|
|
75
|
+
currentWindow.setResizable(dragData.originalResizable);
|
|
76
|
+
}
|
|
77
|
+
catch (retryError) {
|
|
78
|
+
console.error('恢复窗口可调整状态失败:', retryError);
|
|
79
|
+
}
|
|
65
80
|
}
|
|
66
81
|
}
|
|
67
82
|
dragData = null;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|