1 /* 2 NSScreen.h 3 4 Class representing monitors 5 6 Copyright (C) 1996, 2000 Free Software Foundation, Inc. 7 8 Author: Scott Christley <scottc@net-community.com> 9 Date: 1996 10 11 Fixes and updates made by 12 Author: Gregory John Casamento <greg.casamento@gmail.com> 13 Date: 2000 14 15 This file is part of the GNUstep GUI Library. 16 17 This library is free software; you can redistribute it and/or 18 modify it under the terms of the GNU Lesser General Public 19 License as published by the Free Software Foundation; either 20 version 2 of the License, or (at your option) any later version. 21 22 This library is distributed in the hope that it will be useful, 23 but WITHOUT ANY WARRANTY; without even the implied warranty of 24 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 25 Lesser General Public License for more details. 26 27 You should have received a copy of the GNU Lesser General Public 28 License along with this library; see the file COPYING.LIB. 29 If not, see <http://www.gnu.org/licenses/> or write to the 30 Free Software Foundation, 51 Franklin Street, Fifth Floor, 31 Boston, MA 02110-1301, USA. 32 */ 33 34 #ifndef _GNUstep_H_NSScreen 35 #define _GNUstep_H_NSScreen 36 #import <GNUstepBase/GSVersionMacros.h> 37 38 #import <Foundation/NSObject.h> 39 #import <AppKit/NSGraphics.h> 40 41 @class NSArray; 42 @class NSDictionary; 43 44 @interface NSScreen : NSObject 45 { 46 @private 47 NSWindowDepth _depth; 48 NSRect _frame; 49 int _screenNumber; 50 NSWindowDepth *_supportedWindowDepths; 51 void *_reserved; 52 } 53 54 /* 55 * Creating NSScreen Instances 56 */ 57 + (NSScreen*) mainScreen; 58 + (NSScreen*) deepestScreen; 59 + (NSArray*) screens; 60 + (void) resetScreens; 61 62 /* 63 * Reading Screen Information 64 */ 65 - (NSWindowDepth) depth; 66 - (NSRect) frame; 67 - (NSDictionary*) deviceDescription; 68 69 #if OS_API_VERSION(GS_API_MACOSX, GS_API_LATEST) 70 - (const NSWindowDepth*) supportedWindowDepths; 71 - (NSRect) visibleFrame; 72 #endif 73 #if OS_API_VERSION(GS_API_NONE, GS_API_NONE) 74 - (int) screenNumber; 75 #endif 76 #if OS_API_VERSION(MAC_OS_X_VERSION_10_4, GS_API_LATEST) 77 - (CGFloat) userSpaceScaleFactor; 78 #endif 79 #if OS_API_VERSION(MAC_OS_X_VERSION_10_7, GS_API_LATEST) 80 - (CGFloat) backingScaleFactor; 81 #endif 82 83 @end 84 #endif // _GNUstep_H_NSScreen 85