forked from oscardelben/NSScreen-PointConversion
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathNSScreen+PointConversion.m
More file actions
38 lines (29 loc) · 938 Bytes
/
NSScreen+PointConversion.m
File metadata and controls
38 lines (29 loc) · 938 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//
// NSScreen+PointConversion.m
// ColorPicker
//
// Created by Oscar Del Ben on 9/5/11.
// Copyright 2011 DibiStore. All rights reserved.
//
#import "NSScreen+PointConversion.h"
@implementation NSScreen (PointConversion)
+ (NSScreen *)currentScreenForMouseLocation
{
NSPoint mouseLocation = [NSEvent mouseLocation];
NSEnumerator *screenEnumerator = [[NSScreen screens] objectEnumerator];
NSScreen *screen;
while ((screen = [screenEnumerator nextObject]) && !NSMouseInRect(mouseLocation, screen.frame, NO))
;
return screen;
}
- (NSPoint)convertPointToScreenCoordinates:(NSPoint)aPoint
{
float normalizedX = fabs(fabs(self.frame.origin.x) - fabs(aPoint.x));
float normalizedY = aPoint.y - self.frame.origin.y;
return NSMakePoint(normalizedX, normalizedY);
}
- (NSPoint)flipPoint:(NSPoint)aPoint
{
return NSMakePoint(aPoint.x, self.frame.size.height - aPoint.y);
}
@end