Changeset 5522

Show
Ignore:
Timestamp:
05/11/08 21:36:04 (4 days ago)
Author:
morris
Message:

Fix more bugs with overlays

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • Spiral/trunk/SPMovieController.m

    r5521 r5522  
    4545- (void)_setOverlayString:(NSString *)string textField:(NSTextField *)textField; 
    4646- (void)_flashOverlayImage:(NSImage *)image; 
    47 - (void)_setOverlayImage:(NSImage *)image
     47- (void)_setOverlayImage:(NSImage *)image imageView:(NSImageView *)imageView
    4848- (void)_clearOverlay; 
    4949- (void)_hideOverlayWindow; 
    5050- (void)_animateHideOverlayTextField:(NSTextField *)textField; 
    51 - (void)_animateHideOverlayImage
     51- (void)_animateHideOverlayImageView
    5252 
    5353- (void)_loadAttributes; 
     
    171171                [self _flashOverlayImage:[NSImage imageNamed:@"OverlayPause"]]; 
    172172        } 
    173         else if(rate > 1.0) { 
    174                 [self _setOverlayString:[NSSWF:@"%.0fx", fabs(rate)] textField:_overlayStatusTextField]; 
    175                 [self _setOverlayImage:[NSImage imageNamed:@"OverlayFastForward"]]; 
    176         } 
    177         else if(rate < 0.0) { 
    178                 [self _setOverlayString:[NSSWF:@"%.0fx", fabs(rate)] textField:_overlayStatusTextField]; 
    179                 [self _setOverlayImage:[NSImage imageNamed:@"OverlayRewind"]]; 
    180         } 
    181          
     173        else { 
     174                [NSObject cancelPreviousPerformRequestsWithTarget:self 
     175                                                                                                 selector:@selector(_animateHideOverlayTextField:) 
     176                                                                                                   object:_overlayStatusTextField]; 
     177 
     178                [NSObject cancelPreviousPerformRequestsWithTarget:self 
     179                                                                                                 selector:@selector(_animateHideOverlayTextField:) 
     180                                                                                                   object:_overlayTimeTextField]; 
     181 
     182                [NSObject cancelPreviousPerformRequestsWithTarget:self 
     183                                                                                                 selector:@selector(_animateHideOverlayImageView)]; 
     184 
     185                if(rate > 1.0) { 
     186                        [self _setOverlayString:[NSSWF:@"%.0fx", fabs(rate)] textField:[_overlayStatusTextField animator]]; 
     187                        [self _setOverlayImage:[NSImage imageNamed:@"OverlayFastForward"] imageView:[_overlayImageView animator]]; 
     188                } 
     189                else if(rate < 0.0) { 
     190                        [self _setOverlayString:[NSSWF:@"%.0fx", fabs(rate)] textField:[_overlayStatusTextField animator]]; 
     191                        [self _setOverlayImage:[NSImage imageNamed:@"OverlayRewind"] imageView:[_overlayImageView animator]]; 
     192                } 
     193        } 
     194                 
    182195        if(rate > 1.0 || rate < 0.0) 
    183                 [self _setOverlayString:[self _currentTimeString] textField:_overlayTimeTextField]; 
     196                [self _setOverlayString:[self _currentTimeString] textField:[_overlayTimeTextField animator]]; 
    184197        else 
    185198                [self _flashOverlayString:[self _currentTimeString] textField:_overlayTimeTextField]; 
     
    189202 
    190203- (void)_flashOverlayString:(NSString *)string textField:(NSTextField *)textField { 
    191         [self _setOverlayString:string textField:textField]; 
     204        [self _setOverlayString:string textField:[textField animator]]; 
    192205 
    193206        [self performSelectorOnce:@selector(_animateHideOverlayTextField:) withObject:textField afterDelay:2.0]; 
     
    204217         
    205218        [_overlayWindow setAlphaValue:1.0]; 
    206         [[textField animator] setAlphaValue:1.0]; 
     219        [textField setAlphaValue:1.0]; 
    207220} 
    208221 
     
    210223 
    211224- (void)_flashOverlayImage:(NSImage *)image { 
    212         [self _setOverlayImage:image]; 
    213  
    214         [self performSelectorOnce:@selector(_animateHideOverlayImage) afterDelay:2.0]; 
    215 } 
    216  
    217  
    218  
    219 - (void)_setOverlayImage:(NSImage *)image
     225        [self _setOverlayImage:image imageView:[_overlayImageView animator]]; 
     226 
     227        [self performSelectorOnce:@selector(_animateHideOverlayImageView) afterDelay:2.0]; 
     228} 
     229 
     230 
     231 
     232- (void)_setOverlayImage:(NSImage *)image imageView:(NSImageView *)imageView
    220233        [_overlayImageView setImage:image]; 
    221          
     234 
    222235        [self _adjustOverlayImageView]; 
    223236         
    224237        [_overlayWindow setAlphaValue:1.0]; 
    225         [[_overlayImageView animator] setAlphaValue:1.0]; 
     238        [imageView setAlphaValue:1.0]; 
    226239} 
    227240 
     
    256269 
    257270 
    258 - (void)_animateHideOverlayImage
     271- (void)_animateHideOverlayImageView
    259272        [[_overlayImageView animator] setAlphaValue:0.0]; 
    260273