Вот моя проблема.Надеюсь, я смогу объяснить это достаточно хорошо.Мой рабочий стол 2x2 с мониторами размера (2048,1152).
Я пытаюсь использовать вспомогательное устройство для генерации щелчков мыши.Предполагается, что мой щелчок мыши имеет координаты (1600,1407) -ish (на «кнопке панорамирования»), предполагая (0,0) в верхнем левом углу всей области моего рабочего стола.Он перемещает мышь в правильное положение, но когда я выполняю CGREctContainsPoint()
), в результате получается NO
.
Прямоугольник (рамка), данный моим всплывающим окном, имеет происхождение1558, -406)?Таким образом, математика верна для CGREctContainsPoint()
, но рамка окна должна содержать точку.(тем более, что я вижу курсор мыши над окном.)
Почему?Это потому что это дочернее окно?(центр моего рабочего стола находится в центре изображения, каждое окно имеет свой цвет фона.)
Я попытался использовать следующее:
NSRect pFrame = [_popupWindow frame];
NSPoint pOrigin = pFrame.origin;
NSPoint correctedOrigin = [[_popupWindow parentWindow] convertBaseToScreen:pOrigin];
pFrame.origin = correctedOrigin;
, но это дает мне:
... Rect {{1488, -1529}, {439, 306}}, Point {1556.17, 1314.76}, InRect 0
в результате, который все еще не помещает точку (которую я вижу, зависшую над всплывающим окном) в прямоугольнике.
Почему прямоугольник для моего всплывающего окна и точка не совпадают удаленно?Как я могу получить их в той же координате "пробел"?
Спасибо,