Changeset 4185

Show
Ignore:
Timestamp:
06/02/06 17:31:00 (3 years ago)
Author:
morris
Message:

Simplify image scaling

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • WiredClient/trunk/WCPreferences.m

    r4151 r4185  
    699699 
    700700- (void)_setIcon:(NSImage *)icon { 
    701         NSBitmapImageRep        *imageRep; 
    702         NSImage                         *image; 
    703         NSData                          *data; 
    704         NSSize                          iconSize, size; 
    705          
    706         iconSize = size = [icon size]; 
    707          
    708         if(iconSize.width > 32.0 || iconSize.height > 32.0) { 
    709                 if(iconSize.width > 32.0 && iconSize.height <= 32.0) 
    710                         size = NSMakeSize(32.0, iconSize.height); 
    711                 else if(iconSize.width <= 32.0 && iconSize.height > 32.0) 
    712                         size = NSMakeSize(iconSize.height, 32.0); 
    713                 else if(iconSize.width > iconSize.height) 
    714                         size = NSMakeSize(32.0, 32.0 * (iconSize.width / iconSize.height)); 
    715                 else if(iconSize.width < iconSize.height) 
    716                         size = NSMakeSize(32.0 * (iconSize.width / iconSize.height), 32.0); 
    717                 else 
    718                         size = NSMakeSize(32.0, 32.0); 
    719  
    720                 [icon setScalesWhenResized:YES]; 
    721                 [icon setSize:size]; 
    722         } 
    723  
    724         if(NSEqualSizes(iconSize, size)) { 
    725                 image = icon; 
    726         } else { 
    727                 image = [[NSImage alloc] initWithSize:size]; 
    728                 [image lockFocus]; 
    729                 [icon drawAtPoint:NSZeroPoint 
    730                                  fromRect:NSMakeRect(0.0, 0.0, size.width, size.height) 
    731                                 operation:NSCompositeCopy 
    732                                  fraction:1.0]; 
    733                 [image unlockFocus]; 
    734  
    735                 [_iconImageView setImage:image]; 
    736                 [image release]; 
    737         } 
    738  
    739         imageRep = [NSBitmapImageRep imageRepWithData:[image TIFFRepresentation]]; 
    740         data = [imageRep representationUsingType:NSPNGFileType properties:NULL]; 
    741  
     701        NSData          *data; 
     702 
     703        icon = [icon scaledImageWithSize:NSMakeSize(32.0, 32.0)]; 
     704         
     705        data = [[NSBitmapImageRep imageRepWithData:[icon TIFFRepresentation]] representationUsingType:NSPNGFileType properties:NULL]; 
    742706        [WCSettings setObject:[data base64EncodedString] forKey:WCCustomIcon]; 
     707         
    743708        [[NSNotificationCenter defaultCenter] postNotificationName:WCIconDidChange]; 
     709 
     710        [_iconImageView setImage:icon]; 
    744711} 
    745712 
     
    10421009                image = [NSImage imageWithData:data]; 
    10431010                 
    1044                 if(image) { 
    1045                         [_iconImageView setImage:image]; 
     1011                if(image) 
    10461012                        [self _setIcon:image]; 
    1047                 } 
    10481013        } 
    10491014}