X-Git-Url: http://git.ithinksw.org/ITKit.git/blobdiff_plain/63956bb9f9984a26dc8147615be854e93ccc6b50..HEAD:/ITWindowEffect.m diff --git a/ITWindowEffect.m b/ITWindowEffect.m old mode 100755 new mode 100644 index 1e2e750..a99f54a --- a/ITWindowEffect.m +++ b/ITWindowEffect.m @@ -1,20 +1,38 @@ #import "ITWindowEffect.h" #import "ITTransientStatusWindow.h" - +#import +#import +#import @implementation ITWindowEffect + (NSArray *)effectClasses { - NSArray *classes = [NSArray arrayWithObjects: + NSMutableArray *classes = [[NSArray arrayWithObjects: NSClassFromString(@"ITCutWindowEffect"), NSClassFromString(@"ITDissolveWindowEffect"), NSClassFromString(@"ITSlideHorizontallyWindowEffect"), NSClassFromString(@"ITSlideVerticallyWindowEffect"), NSClassFromString(@"ITPivotWindowEffect"), - nil]; - - return classes; + NSClassFromString(@"ITZoomWindowEffect"), + NSClassFromString(@"ITSpinWindowEffect"), + NSClassFromString(@"ITSpinAndZoomWindowEffect"), + nil] mutableCopy]; + + long version; + if ((Gestalt(gestaltSystemVersion, &version) == noErr) && (version >= 4160) && (version < 4166)) { + NSOpenGLView *view = [[NSOpenGLView alloc] initWithFrame:NSMakeRect(0, 0, 1, 1) pixelFormat:[NSOpenGLView defaultPixelFormat]]; + if ([view openGLContext]) { + NSString *string = [NSString stringWithCString:glGetString(GL_EXTENSIONS)]; + NSRange result = [string rangeOfString:@"ARB_fragment_program"]; + if (result.location != NSNotFound) { + [classes addObject:NSClassFromString(@"ITCoreImageWindowEffect")]; + } + } + [view release]; + } + + return [classes autorelease]; } - (id)initWithWindow:(NSWindow *)window @@ -27,7 +45,6 @@ __idle = YES; if ( [window conformsToProtocol:@protocol(ITWindowPositioning)] ) { - // Casts so the compiler won't gripe _verticalPosition = (ITVerticalWindowPosition)[(ITTransientStatusWindow *)window verticalPosition]; _horizontalPosition = (ITHorizontalWindowPosition)[(ITTransientStatusWindow *)window horizontalPosition]; } else { @@ -96,24 +113,30 @@ [NSNumber numberWithBool:NO], @"Right", nil] , @"Bottom" , nil]; } ++ (unsigned int)listOrder +{ + NSLog(@"ITWindowEffect does not implement +listOrder."); + return 0; +} + - (void)performAppear { - NSLog(@"ITWindowEffect does not implement performAppear."); + NSLog(@"ITWindowEffect does not implement -performAppear."); } - (void)performVanish { - NSLog(@"ITWindowEffect does not implement performVanish."); + NSLog(@"ITWindowEffect does not implement -performVanish."); } - (void)cancelAppear { - NSLog(@"ITWindowEffect does not implement cancelAppear."); + NSLog(@"ITWindowEffect does not implement -cancelAppear."); } - (void)cancelVanish { - NSLog(@"ITWindowEffect does not implement cancelVanish."); + NSLog(@"ITWindowEffect does not implement -cancelVanish."); } - (void)releaseWhenIdle;