Home | History | Annotate | Download | only in panels
      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