This is PXKScreen.m in view mode; [Download] [Up]
/*
PXKScreen.m
NSScreen for GNUstep GUI X/DPS Backend
Copyright (C) 1996 Free Software Foundation, Inc.
Author: Scott Christley <scottc@net-community.com>
Date: March 1996
This file is part of the GNUstep GUI X/DPS Backend.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
If you are interested in a warranty or support for this source code,
contact Scott Christley <scottc@net-community.com> for more information.
You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <gnustep/xdps/PXKScreen.h>
#include <gnustep/xdps/PXKDPSContext.h>
//
// Backend structure for PXKScreen
//
typedef struct _PXKScreen_struct
{
int screen;
} PXKScreen_struct;
#define PXKSCREEN (((PXKScreen_struct *)be_screen_reserved)->screen)
//
// Class variables
//
NSScreen *gnustep_xdps_main_screen = nil;
@implementation PXKScreen
+ (NSScreen *)mainScreen
{
if (!gnustep_xdps_main_screen)
gnustep_xdps_main_screen = [[NSScreen alloc] init];
return gnustep_xdps_main_screen;
}
- init
{
[super init];
// Allocate backend structure
be_screen_reserved = malloc(sizeof(PXKScreen_struct));
return self;
}
- (void)dealloc
{
// Free backend structure
free(be_screen_reserved);
[super dealloc];
}
- (NSRect)frame
{
NSDPSContext *cur = [NSDPSContext currentContext];
Display *xdis = [(PXKDPSContext *)cur xDisplay];
NSRect r;
r.origin = NSZeroPoint;
r.size.width = (float)DisplayWidth(xdis, PXKSCREEN);
r.size.height = (float)DisplayHeight(xdis, PXKSCREEN);
return r;
}
@end
@implementation PXKScreen (GNUstepXDPS)
- (int)xScreen
{
return PXKSCREEN;
}
- (void)setXScreen:(int)xscreen
{
PXKSCREEN = xscreen;
}
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.