Я ищу «лучший» способ создания полноэкранного наложения под Mac OS X. Я хочу создать прозрачное или полупрозрачное наложение, которое заботится о событиях мыши и показывает другие элементы ввода / вывода.
Это наложение должно быть над всеми остальными элементами графического интерфейса (например, наложение CMD-Tab).
Вы знаете, как это сделать эффективно? В данный момент я играю с таким кодом:
int windowLevel = CGShieldingWindowLevel();
NSRect windowRect = [[NSScreen mainScreen] frame];
NSWindow *overlayWindow = [[NSWindow alloc] initWithContentRect:windowRect
styleMask:NSBorderlessWindowMask
backing:NSBackingStoreBuffered
defer:NO
screen:[NSScreen mainScreen]];
[overlayWindow setReleasedWhenClosed:YES];
[overlayWindow setLevel:windowLevel];
[overlayWindow setBackgroundColor:[NSColor colorWithCalibratedRed:0.0
green:0.0
blue:0.0
alpha:0.5]];
[overlayWindow setAlphaValue:1.0];
[overlayWindow setOpaque:NO];
[overlayWindow setIgnoresMouseEvents:NO];
[overlayWindow makeKeyAndOrderFront:nil];
… и все работает нормально, но у меня нет вариантов запуска анимации, например, медленно увеличивая прозрачность (медленно уменьшая яркость экрана) и т. Д.
Хотя я не понимаю, как поместить это окно в фоновый режим, не отпуская его и не открывая время от времени.
Так есть ли лучший или "стандартный" способ сделать это?