1// PXEyedropperTool.m 2// Pixen 3// 4// Created by Joe Osborn on Mon Oct 13 2003. 5// Copyright (c) 2003 Open Sword Group. All rights reserved. 6// 7 8#import "PXEyedropperTool.h" 9#import "PXCanvas.h" 10#import "PXCanvasController.h" 11 12@implementation PXEyedropperTool 13 14- (NSString *)name 15{ 16 return NSLocalizedString(@"EYEDROPPER_NAME", @"Eyedropper Tool"); 17} 18 19- compositeColorAtPoint:(NSPoint)aPoint fromCanvas:canvas 20{ 21 if (![canvas containsPoint:aPoint]) { return nil; } 22 id image = [[NSImage alloc] initWithSize:[canvas size]]; 23 [image lockFocus]; 24 [canvas drawRect:NSMakeRect([canvas correct:aPoint].x, [canvas correct:aPoint].y, 1, 1) fixBug:YES]; 25 id color = NSReadPixel([canvas correct:aPoint]); 26 [image unlockFocus]; 27 [image release]; 28 return color; 29} 30 31- (void)eyedropAtPoint:(NSPoint)aPoint fromCanvasController:controller 32{ 33 [switcher setColor:[self compositeColorAtPoint:aPoint fromCanvas:[controller canvas]]]; 34} 35 36- (void)mouseDownAt:(NSPoint)aPoint fromCanvasController:controller 37{ 38 [self eyedropAtPoint:aPoint fromCanvasController:controller]; 39} 40 41- (void)mouseDraggedFrom:(NSPoint)initialPoint to:(NSPoint)finalPoint fromCanvasController:controller 42{ 43 [self eyedropAtPoint:finalPoint fromCanvasController:controller]; 44} 45 46- (void)mouseUpAt:(NSPoint)aPoint fromCanvasController:controller 47{ 48 [self eyedropAtPoint:aPoint fromCanvasController:controller]; 49} 50 51 52@end 53