X-Git-Url: http://git.ithinksw.org/ITKit.git/blobdiff_plain/7258eefd9885c903817ec277fe611aff4b0ff5c6..1d5525ced75adc1fe1508e8c19fcc31af129464e:/ITWindowEffect.h diff --git a/ITWindowEffect.h b/ITWindowEffect.h index df4578b..9b6c0bd 100755 --- a/ITWindowEffect.h +++ b/ITWindowEffect.h @@ -3,8 +3,8 @@ * ITWindowEffect * Protocal and abstract superclass for performing effects on windows. * - * Original Author : Matt Judy - * Responsibility : Matt Judy + * Original Author : Matthew Judy + * Responsibility : Matthew Judy * * Copyright (c) 2002 - 2003 iThink Software. * All Rights Reserved @@ -15,35 +15,65 @@ #import #import "ITWindowPositioning.h" +@class ITTransientStatusWindow; #define EFFECT_FPS 30.0 #define DEFAULT_EFFECT_TIME 0.75 -@protocol ITWindowEffect +typedef enum { + ITWindowHiddenState, + ITWindowAppearingState, + ITWindowVisibleState, + ITWindowVanishingState +} ITWindowVisibilityState; + +@protocol ITWindowEffect ++ (NSString *)effectName; ++ (NSDictionary *)supportedPositions; ++ (unsigned int)listOrder; - (void)performAppear; - (void)performVanish; +- (void)cancelAppear; +- (void)cancelVanish; +@end + +@protocol ITWindowMotility +- (ITWindowVisibilityState)visibilityState; +- (void)setVisibilityState:(ITWindowVisibilityState)newState; +- (float)effectProgress; +- (void)setEffectProgress:(float)newProgress; @end @interface ITWindowEffect : NSObject { - NSWindow *_window; + ITTransientStatusWindow *_window; float _effectTime; - double _effectProgress; + float _effectSpeed; ITVerticalWindowPosition _verticalPosition; ITHorizontalWindowPosition _horizontalPosition; NSTimer *_effectTimer; + BOOL __idle; + BOOL __shouldReleaseWhenIdle; } ++ (NSArray *)effectClasses; + // Designated initializer - (id)initWithWindow:(NSWindow *)window; - (NSWindow *)window; -// setWindow: does not retain or release its window. It simply references it. - (void)setWindow:(NSWindow *)newWindow; +- (void)setWindowVisibility:(ITWindowVisibilityState)visibilityState; + +- (float)effectTime; +- (void)setEffectTime:(float)newTime; + +- (void)releaseWhenIdle; + @end