1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #import "chrome/browser/ui/cocoa/panels/panel_utils_cocoa.h" 6 7 namespace cocoa_utils { 8 9 NSRect ConvertRectToCocoaCoordinates(const gfx::Rect& bounds) { 10 // Flip coordinates based on the primary screen. 11 NSScreen* screen = [[NSScreen screens] objectAtIndex:0]; 12 13 return NSMakeRect( 14 bounds.x(), NSHeight([screen frame]) - bounds.height() - bounds.y(), 15 bounds.width(), bounds.height()); 16 } 17 18 gfx::Rect ConvertRectFromCocoaCoordinates(NSRect bounds) { 19 // Flip coordinates based on the primary screen. 20 NSScreen* screen = [[NSScreen screens] objectAtIndex:0]; 21 22 return gfx::Rect( 23 NSMinX(bounds), NSHeight([screen frame]) - NSMaxY(bounds), 24 NSWidth(bounds), NSHeight(bounds)); 25 } 26 27 NSPoint ConvertPointToCocoaCoordinates(const gfx::Point& point) { 28 // Flip coordinates based on the primary screen. 29 NSScreen* screen = [[NSScreen screens] objectAtIndex:0]; 30 31 return NSMakePoint(point.x(), NSHeight([screen frame]) - point.y()); 32 } 33 34 gfx::Point ConvertPointFromCocoaCoordinates(NSPoint point) { 35 // Flip coordinates based on the primary screen. 36 NSScreen* screen = [[NSScreen screens] objectAtIndex:0]; 37 38 return gfx::Point(point.x, NSHeight([screen frame]) - point.y); 39 } 40 41 } // namespace cocoa_utils 42