123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- // Copyright 2014 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- #import "ui/gfx/mac/coordinate_conversion.h"
- #import <Cocoa/Cocoa.h>
- #include "ui/gfx/geometry/point.h"
- #include "ui/gfx/geometry/rect.h"
- namespace gfx {
- namespace {
- // The height of the primary display, which OSX defines as the monitor with the
- // menubar. This is always at index 0.
- CGFloat PrimaryDisplayHeight() {
- return NSMaxY([[[NSScreen screens] firstObject] frame]);
- }
- } // namespace
- NSRect ScreenRectToNSRect(const Rect& rect) {
- return NSMakeRect(rect.x(),
- PrimaryDisplayHeight() - rect.y() - rect.height(),
- rect.width(),
- rect.height());
- }
- Rect ScreenRectFromNSRect(const NSRect& rect) {
- return Rect(rect.origin.x,
- PrimaryDisplayHeight() - rect.origin.y - rect.size.height,
- rect.size.width, rect.size.height);
- }
- NSPoint ScreenPointToNSPoint(const Point& point) {
- return NSMakePoint(point.x(), PrimaryDisplayHeight() - point.y());
- }
- Point ScreenPointFromNSPoint(const NSPoint& point) {
- return Point(point.x, PrimaryDisplayHeight() - point.y);
- }
- } // namespace gfx
|