NS <-> CG Rect Conversion and screen coordinates
NS <-> CG Rect Conversion and screen coordinates
- Subject: NS <-> CG Rect Conversion and screen coordinates
- From: Trygve Inda <email@hidden>
- Date: Wed, 01 Apr 2009 04:34:09 +0000
- Thread-topic: NS <-> CG Rect Conversion and screen coordinates
Using these two calls:
NSRect nsRect = [screen frame];
CGRect cgRect = CGDisplayBounds (displayID);
I get for my two screens:
NS x=0 y=0 w=2560 h=1600 // screen A
CG x=0 y=0 w=2560 h=1600
NS x=-1920 y=184 w=1920 h=1200 // screen B
CG x=-1920 y=216 w=1920 h=1200
It seems CG origin is Top, Left with y growing down, while NS is origin
Bottom, Left, y growing up. So I convert CG to NS with:
// Convert CG coordinates from (TL, y down) to (BL, y up)
CGRect mainScreenRect = CGDisplayBounds (CGMainDisplayID ());
cgRect.origin.y = (cgRect.origin.y + cgRect.size.height -
mainScreenRect.size.height) * -1;
(216 + 1200 - 1600) * -1 = 184
Is there a system function that does this? NSRectFromCGRect does not do the
coordinate conversion.
Thanks,
Trygve
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden