Наше приложение (NSOpenGLView) имеет два режима, один оконный и один «полноэкранный» (полноэкранный режим ведет себя как новая «полноэкранная» функция OS X Lion, поэтому он занимает все пространство, скрывает док-станцию, и меню становитсявидимым, если вы перетаскиваете мышку вверх и поверх места, где находится док).
В оконном режиме используется стандартный курсор, в режиме «полного экрана» мы нерендеринг системного курсора, поэтому при переключении режимов мы просто переключаем
[NSCursor hide]
[NSCursor unhide]
, потому что в «полноэкранном режиме» мы хотим отобразить наш пользовательский курсор в OpenGL.
Все в порядке, кромечасть, , если пользователь перемещается через верх, и появляется меню, или над местом, где находится док-станция, и появляется док-станция, тогда система автоматически показывает курсор , который в одном месте хорош, потому что пользователь может выбрать из верхнего меню, но это также проблема, так как тогда курсор не скрыт и визуализируются и opengl, и системный курсор.
Мы пыталисьразличные методы уведомления и делегирования, чтобы уловить эту ситуацию и настроить видимость курсора, но безуспешно.