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