X-Git-Url: http://git.ithinksw.org/ITKit.git/blobdiff_plain/ee17fc263ed710648cfc5950a5bd603f8acacda2..650aa30b6ac73ecb0727ec4409f02bf90adf51f5:/ITWindowEffect.m?ds=sidebyside diff --git a/ITWindowEffect.m b/ITWindowEffect.m old mode 100755 new mode 100644 index 576d6d1..3992252 --- a/ITWindowEffect.m +++ b/ITWindowEffect.m @@ -1,21 +1,35 @@ #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"), NSClassFromString(@"ITZoomWindowEffect"), - nil]; - - return classes; + NSClassFromString(@"ITSpinWindowEffect"), + NSClassFromString(@"ITSpinAndZoomWindowEffect"), + nil] mutableCopy]; + + 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