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 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 winBounds = currentWindow.getBounds();
38
- const newX = winBounds.x + (x - dragData.startX);
39
- const newY = winBounds.y + (y - dragData.startY);
40
- const size = currentWindow.getSize();
41
- currentWindow.setResizable(false);
42
- currentWindow.setPosition(newX, newY, false);
43
- if (size && size.length >= 2) {
44
- currentWindow.setSize(size[0], size[1], false);
45
- }
46
- dragData.startX = x;
47
- dragData.startY = y;
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
- if (dragData.originalResizable !== undefined) {
57
- currentWindow.setResizable(dragData.originalResizable);
58
- }
59
- if (dragData.originalSize && dragData.originalSize.length >= 2) {
60
- try {
61
- currentWindow.setSize(dragData.originalSize[0], dragData.originalSize[1], false);
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
- catch (error) {
64
- console.error('恢复窗口尺寸出错:', error);
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":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "electron-drag-plus",
3
- "version": "1.0.6",
3
+ "version": "1.0.7",
4
4
  "description": "简单高效的Electron窗口拖拽库,支持自定义拖拽区域和交互元素,适用于无边框窗口应用",
5
5
  "main": "dist/index.js",
6
6
  "browser": "dist/renderer.js",