Mousedown не работает на краях в Electron - PullRequest
0 голосов
/ 08 марта 2019

Я сейчас создаю программу для скриншотов, используя Node и Electron.Я быстро обнаружил, что использование BrowserWindow в Electron предоставляет мне полезные функции в форме атрибутов:

mainWindow = new BrowserWindow({
  // Width and height are from electron.screen.getPrimaryDisplay()
  width: width,
  height: height,
  show: false,
  frame: false,
  resizable: false,
  alwaysOnTop: true,
  skipTaskbar: true,
  transparent: true
});

Так что результат, который у меня есть на данный момент, выглядит следующим образом: (Белая область - это элемент canvas, который покрываетвесь экран)

Current result

Красный прямоугольник указывает, где пользователь отметил область своего снимка экрана.

Моя проблема заключается в том, что когда я начинаю отмечать, я не могу перейти от y 0-4px и x 0-4px.Это означает, что 4px слева и сверху вообще не работают (событие не обнаружено).Кроме того, справа и снизу это смещение кажется увеличенным до 6 пикселей вместо 4. Способ, которым я его обнаруживаю:

canvas.addEventListener("mousedown", e => {
  dragging = {
    startX: e.clientX,
    startY: e.clientY
  };
});

Это не имеет смысла для меня, так как оба тела установлены на ширину: 100vwи высота: 100vh, а холст - полная ширина и высота, которую я получаю из Electron.screen.getPrimaryDisplay ().

Есть идеи, почему событие не запускается по краям?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...