小编pah*_*hen的帖子

如何在OSX 10.9(Mavericks)中使用NSWindow上的CIFilter?

由于某种原因,使用私有API CGSAddWindowFilter()的旧技巧似乎不再适用于Mavericks.我尝试了一些代码,如在OS X中的屏幕颜色反转如何工作?以下代码导致以下窗口.

#import "AppDelegate.h"

//Declarations to avoid compiler warnings (because of private APIs):
typedef void * CGSConnection;
typedef void * CGSWindowID;
extern OSStatus CGSNewConnection(const void **attributes, CGSConnection * id);
typedef void *CGSWindowFilterRef;
extern CGError CGSNewCIFilterByName(CGSConnection cid, CFStringRef filterName, CGSWindowFilterRef *outFilter);
extern CGError CGSAddWindowFilter(CGSConnection cid, CGSWindowID wid, CGSWindowFilterRef filter, int flags);
extern CGError CGSSetCIFilterValuesFromDictionary(CGSConnection cid, CGSWindowFilterRef filter, CFDictionaryRef filterValues);

@implementation AppDelegate

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
    [self.window setOpaque:NO];
    [self.window setAlphaValue:1.0];
    [self.window setBackgroundColor:[NSColor colorWithCalibratedWhite:0.0 alpha:0.1]];
    self.window.level = NSDockWindowLevel; …
Run Code Online (Sandbox Code Playgroud)

macos cocoa objective-c core-image osx-mavericks

11
推荐指数
2
解决办法
1642
查看次数

标签 统计

cocoa ×1

core-image ×1

macos ×1

objective-c ×1

osx-mavericks ×1