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