X-Git-Url: http://git.ithinksw.org/ITKit.git/blobdiff_plain/7c89200521dd8c6cb8fc8a17c633ac80d4b18bd2..0fc44e732f98ed55cdd0d0914c4031ad9c005edc:/ITWindowEffect.h diff --git a/ITWindowEffect.h b/ITWindowEffect.h old mode 100755 new mode 100644 index 71852e2..e1eff56 --- a/ITWindowEffect.h +++ b/ITWindowEffect.h @@ -1,17 +1,16 @@ /* * ITKit - * ITWindowEffect - * Protocal and abstract superclass for performing effects on windows. + * ITWindowEffect.h * - * Original Author : Matt Judy - * Responsibility : Matt Judy + * Protocol and abstract superclass for performing effects on windows. * - * Copyright (c) 2002 - 2003 iThink Software. - * All Rights Reserved + * Copyright (c) 2005 by iThink Software. + * All Rights Reserved. + * + * $Id$ * */ - #import #import "ITWindowPositioning.h" @@ -20,41 +19,47 @@ #define EFFECT_FPS 30.0 #define DEFAULT_EFFECT_TIME 0.75 - typedef enum { - ITTransientStatusWindowHiddenState, - ITTransientStatusWindowAppearingState, - ITTransientStatusWindowVisibleState, - ITTransientStatusWindowVanishingState + ITWindowHiddenState, + ITWindowAppearingState, + ITWindowVisibleState, + ITWindowVanishingState } ITWindowVisibilityState; - @protocol ITWindowEffect + ++ (NSString *)effectName; ++ (NSDictionary *)supportedPositions; ++ (unsigned int)listOrder; - (void)performAppear; - (void)performVanish; - (void)cancelAppear; - (void)cancelVanish; -@end +@end @protocol ITWindowMotility + - (ITWindowVisibilityState)visibilityState; - (void)setVisibilityState:(ITWindowVisibilityState)newState; - (float)effectProgress; - (void)setEffectProgress:(float)newProgress; -@end +@end -@interface ITWindowEffect : NSObject -{ - ITTransientStatusWindow *_window; - float _effectTime; - float _effectSpeed; - ITVerticalWindowPosition _verticalPosition; - ITHorizontalWindowPosition _horizontalPosition; - NSTimer *_effectTimer; +@interface ITWindowEffect : NSObject { + NSWindow *_window; + float _effectTime; + float _effectSpeed; + ITVerticalWindowPosition _verticalPosition; + ITHorizontalWindowPosition _horizontalPosition; + NSTimer *_effectTimer; + BOOL __idle; + BOOL __shouldReleaseWhenIdle; } ++ (NSArray *)effectClasses; + // Designated initializer - (id)initWithWindow:(NSWindow *)window; @@ -67,4 +72,6 @@ typedef enum { - (float)effectTime; - (void)setEffectTime:(float)newTime; -@end +- (void)releaseWhenIdle; + +@end \ No newline at end of file