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 (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to