Отказ от ответственности; едва новичок, когда дело доходит до разработки Swift/macOS.
Инструмент для создания снимков экрана Ctrl+Shift+4 в macOS имеет сопровождающее изменение курсора, которое я искал способ воспроизвести.
В исходном состоянии запуска это перекрестие с координатами пикселей, а переключение на захват окна нажатием пробела меняет курсор на камеру.
Независимо от того, переходите ли вы к другим приложениям, курсор остается измененным глобально.
Я попытался воспроизвести это поведение, создав прозрачный полноэкранный NSWindow с уровнем .floating и изменив курсор для представления содержимого.
Это вроде как работает... Но имеет некоторые раздражающие причуды.
Во-первых, кажется, что непрозрачность вида не может быть строгим нулем, а хотя бы какой-то дробью >= 0,01. Я не нашел упоминания об этом в документации NSView, но это упоминается для UIView здесь. Для встроенного инструмента для скриншотов, похоже, нет наложения альфа-канала 0,01.
Во-вторых, при переходе к любому приложению окно .floating по-прежнему находится сверху, но делает представление неактивным, а это означает, что курсор возвращается в исходное положение. В этом случае встроенный инструмент скриншота имеет очень короткую задержку, когда открывается новое приложение, а затем снова меняет курсор на пользовательский.
Я использую совершенно неправильный подход, или мне просто нужно покрутить некоторые кнопки и циферблаты, чтобы это сработало?
Любые указатели очень ценятся!