X-Git-Url: http://git.ithinksw.org/~jspiros/WindowBlur.git/blobdiff_plain/eda6452792ea372d3a6ef6e876845c55f41fbd93..762e0f6064776b64bc8642a3352755727b2211f1:/WindowBlurWindowHack.m diff --git a/WindowBlurWindowHack.m b/WindowBlurWindowHack.m deleted file mode 100644 index 16696a1..0000000 --- a/WindowBlurWindowHack.m +++ /dev/null @@ -1,84 +0,0 @@ -// -// WindowBlurWindowHack.m -// WindowBlur -// -// Created by Joseph Spiros on 5/12/09. -// Copyright 2009 __MyCompanyName__. All rights reserved. -// - -#import "WindowBlurSIMBL.h" -#import "WindowBlurWindowHack.h" -#import "CGSInternal.h" - -static NSMutableDictionary *instanceIDToIvars = nil; -static BOOL needToSwizzleDealloc = YES; - -@implementation WindowBlurWindowHack - -- (id)PRE__instanceID -{ - return [NSValue valueWithPointer:self]; -} - -- (NSMutableDictionary *)PRE__ivars -{ - NSMutableDictionary *ivars; - - if (needToSwizzleDealloc) - { - MethodSwizzle([NSWindow class], - @selector(dealloc), - @selector(PRE__deallocSwizzler)); - needToSwizzleDealloc = NO; - } - - if (instanceIDToIvars == nil) - { - instanceIDToIvars = [[NSMutableDictionary alloc] init]; - } - - ivars = [instanceIDToIvars objectForKey:[self PRE__instanceID]]; - if (ivars == nil) - { - ivars = [NSMutableDictionary dictionary]; - [instanceIDToIvars setObject:ivars forKey:[self PRE__instanceID]]; - } - - return ivars; -} - -- (void)PRE__deallocSwizzler -{ - [instanceIDToIvars removeObjectForKey:[self PRE__instanceID]]; - if ([instanceIDToIvars count] == 0) - { - [instanceIDToIvars release]; - instanceIDToIvars = nil; - } - - [self PRE__deallocSwizzler]; -} - -- (void)update { - if ([[[self PRE__ivars] objectForKey:@"blurred"] boolValue] != YES) { -#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4 - if (floor(NSAppKitVersionNumber) > 824) { - NSLog(@"AppKit Check Confirmed"); - CGSConnectionID con = CGSMainConnectionID(); - if (con) { - NSLog(@"CGSConnection Confirmed"); - int blurFilter; - if (noErr == CGSNewCIFilterByName(con, (CFStringRef)@"CIGaussianBlur", &blurFilter)) { - NSLog(@"Should work!"); - NSDictionary *optionsDict = [NSDictionary dictionaryWithObject:[NSNumber numberWithFloat:2.0] forKey:@"inputRadius"]; - CGSSetCIFilterValuesFromDictionary(con, blurFilter, (CFDictionaryRef)optionsDict); - CGSAddWindowFilter(con, [self windowNumber], blurFilter, kCGWindowFilterUnderlay); - [[self PRE__ivars] setObject:[NSNumber numberWithBool:YES] forKey:@"blurred"]; - } - } - } -#endif - } -} - -@end