1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 2 /* This Source Code Form is subject to the terms of the Mozilla Public 3 * License, v. 2.0. If a copy of the MPL was not distributed with this 4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 5 6 #ifndef nsScreenCocoa_h_ 7 #define nsScreenCocoa_h_ 8 9 #import <Cocoa/Cocoa.h> 10 11 #include "nsBaseScreen.h" 12 13 class nsScreenCocoa : public nsBaseScreen 14 { 15 public: 16 explicit nsScreenCocoa (NSScreen *screen); 17 ~nsScreenCocoa (); 18 19 NS_IMETHOD GetId(uint32_t* outId); 20 NS_IMETHOD GetRect(int32_t* aLeft, int32_t* aTop, int32_t* aWidth, int32_t* aHeight); 21 NS_IMETHOD GetAvailRect(int32_t* aLeft, int32_t* aTop, int32_t* aWidth, int32_t* aHeight); 22 NS_IMETHOD GetRectDisplayPix(int32_t* aLeft, int32_t* aTop, int32_t* aWidth, int32_t* aHeight); 23 NS_IMETHOD GetAvailRectDisplayPix(int32_t* aLeft, int32_t* aTop, int32_t* aWidth, int32_t* aHeight); 24 NS_IMETHOD GetPixelDepth(int32_t* aPixelDepth); 25 NS_IMETHOD GetColorDepth(int32_t* aColorDepth); 26 NS_IMETHOD GetContentsScaleFactor(double* aContentsScaleFactor); GetDefaultCSSScaleFactor(double * aScaleFactor)27 NS_IMETHOD GetDefaultCSSScaleFactor(double* aScaleFactor) 28 { 29 return GetContentsScaleFactor(aScaleFactor); 30 } 31 CocoaScreen()32 NSScreen *CocoaScreen() { return mScreen; } 33 34 private: 35 CGFloat BackingScaleFactor(); 36 37 NSScreen *mScreen; 38 uint32_t mId; 39 }; 40 41 #endif // nsScreenCocoa_h_ 42