Changeset 5376

Show
Ignore:
Timestamp:
03/13/08 18:23:16 (4 months ago)
Author:
morris
Message:

Impose maximum image size in accessor to catch set by drag

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • WiredAdditions/trunk/WIImageViewWithImagePicker.m

    r5354 r5376  
    198198        NSImage                 *image; 
    199199        NSData                  *data; 
    200         NSSize                  size; 
    201200        NSPoint                 point; 
    202201         
     
    205204                        _picker = [[NSClassFromString(@"IKImagePicker") pictureTaker] retain]; 
    206205                 
     206                [_picker setValue:[NSValue valueWithSize:_maxImageSize] forKey:@"IKPictureTakerOutputImageMaxSizeKey"]; 
     207                [_picker setValue:[NSValue valueWithSize:_maxImageSize] forKey:@"IKPictureTakerCropAreaSizeKey"]; 
    207208                [_picker setInputImage:[self image]]; 
    208209                [_picker beginPictureTakerWithDelegate:self 
     
    234235                                image = NULL; 
    235236 
    236                         if(image) { 
    237                                 size = [image size]; 
    238                                  
    239                                 if ((_maxImageSize.width > 0.0 && size.width > _maxImageSize.width) || 
    240                                         (_maxImageSize.height > 0.0 && size.height > _maxImageSize.height)) { 
    241                                         image = [image scaledImageWithSize:_maxImageSize]; 
    242                                 } 
    243                         } 
    244                          
    245237                        [self setImage:image]; 
    246238                         
     
    330322- (NSImage *)image { 
    331323        NSImage         *image; 
     324        NSSize          size; 
    332325         
    333326        image = [super image]; 
     
    335328        if(image == _defaultImage) 
    336329                return NULL; 
     330         
     331        size = [image size]; 
     332         
     333        if((_maxImageSize.width > 0.0 && size.width > _maxImageSize.width) || 
     334           (_maxImageSize.height > 0.0 && size.height > _maxImageSize.height)) { 
     335                image = [image scaledImageWithSize:_maxImageSize]; 
     336        } 
    337337         
    338338        return image; 
     
    382382 
    383383- (void)pictureTakerDidEnd:(id)picker returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo { 
    384         NSImage         *image; 
    385         NSSize          size; 
    386          
    387384        if(returnCode == NSOKButton) { 
    388                 image = [picker outputImage]; 
    389                  
    390                 if(image) { 
    391                         size = [image size]; 
    392                          
    393                         if ((_maxImageSize.width > 0.0 && size.width > _maxImageSize.width) || 
    394                                 (_maxImageSize.height > 0.0 && size.height > _maxImageSize.height)) { 
    395                                 image = [image scaledImageWithSize:_maxImageSize]; 
    396                         } 
    397                 } 
    398                  
    399                 [self setImage:image]; 
     385                [self setImage:[picker outputImage]]; 
    400386                 
    401387                [[self target] performSelector:[self action] withObject:self]; 
     
    409395- (void)imagePicker:(id)imagePicker selectedImage:(NSImage *)image { 
    410396        NSIPRecentPicture       *recentPicture; 
    411         NSSize                          size; 
    412          
    413         size = [image size]; 
    414          
    415         if((_maxImageSize.width > 0.0 && size.width > _maxImageSize.width) || 
    416            (_maxImageSize.height > 0.0 && size.height > _maxImageSize.height)) { 
    417                 image = [image scaledImageWithSize:_maxImageSize]; 
    418         } 
    419397         
    420398        [self setImage:image];