На самом деле я хочу нарисовать фон выбранного NSStatusItem
на CALayer
моего пользовательского statusItemView. Но так как
- (void)drawStatusBarBackgroundInRect:(NSRect)rect withHighlight:(BOOL)highlight
не работает (?) На слоях Я пробовал рисовать цвет с помощью свойства backgroundColor. Но преобразование selectedMenuItemColor в RGB не очень помогает. Это выглядит очень просто без градиента. : - /
Я преобразовал [NSColor selectedMenuItemColor]
в CGColorRef
с этим кодом:
- (CGColorRef)highlightColor {
static CGColorRef highlight = NULL;
if(highlight == NULL) {
CGFloat red, green, blue, alpha;
NSColor *hlclr = [[NSColor selectedMenuItemColor] colorUsingColorSpace:
[NSColorSpace genericRGBColorSpace]];
[hlclr getRed:&red green:&green blue:&blue alpha:&alpha];
CGFloat values[4] = {red, green, blue, alpha};
highlight = CGColorCreate([self genericRGBSpace], values);
}
return highlight;
}
Есть идеи, как нарисовать естественный фон статуса на CALayer?