Это довольно много, но похоже, что можно выделить хотя бы несколько курсоров, используя свойство hotSpot
:
NSLog(@"%@", NSStringFromPoint([[NSCursor currentSystemCursor] hotSpot]));
Возвращает {5, 5}
для курсора-указателя по умолчанию. Я понятия не имею, изменяется ли это значение для курсора по умолчанию при некоторых обстоятельствах (например, более высокое DPI или что-то еще). Я попал в эту категорию на NSCursor
:
- (BOOL) isDefaultCursor
{
NSPoint defaultCursorHotspot = [[NSCursor arrowCursor] hotSpot];
return NSEqualPoints(defaultCursorHotspot, [self hotSpot]);
}
Кроме этого, есть переменная экземпляра _flags.cursorType
, но она защищена. И, как вы уже упоминали, текущий системный курсор не должен быть даже -isEqual:
с самим собой.