X-Git-Url: http://git.ithinksw.org/ITKit.git/blobdiff_plain/f9ac1766dbe420e477be299e49b2d8f69cafe5ec..63956bb9f9984a26dc8147615be854e93ccc6b50:/ITWindowEffect.h diff --git a/ITWindowEffect.h b/ITWindowEffect.h index 2cc6c45..23fe4ad 100755 --- a/ITWindowEffect.h +++ b/ITWindowEffect.h @@ -15,20 +15,23 @@ #import #import "ITWindowPositioning.h" +@class ITTransientStatusWindow; #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; - (void)performAppear; - (void)performVanish; - (void)cancelAppear; @@ -36,23 +39,28 @@ typedef enum { @end -@protocol ITWindowVisibility +@protocol ITWindowMotility - (ITWindowVisibilityState)visibilityState; - (void)setVisibilityState:(ITWindowVisibilityState)newState; +- (float)effectProgress; +- (void)setEffectProgress:(float)newProgress; @end @interface ITWindowEffect : NSObject { - NSWindow *_window; + ITTransientStatusWindow *_window; float _effectTime; float _effectSpeed; - double _effectProgress; ITVerticalWindowPosition _verticalPosition; ITHorizontalWindowPosition _horizontalPosition; NSTimer *_effectTimer; + BOOL __idle; + BOOL __shouldReleaseWhenIdle; } ++ (NSArray *)effectClasses; + // Designated initializer - (id)initWithWindow:(NSWindow *)window; @@ -65,4 +73,6 @@ typedef enum { - (float)effectTime; - (void)setEffectTime:(float)newTime; +- (void)releaseWhenIdle; + @end