This is HextrisView.m in view mode; [Download] [Up]
/*
* NeXThextris Copyright 1994 Mark Gritter, mgritter@gac.edu
*
* hextris Copyright 1990 David Markley, dm3e@+andrew.cmu.edu, dam@cs.cmu.edu
*
* Permission to use, copy, modify, and distribute, this software and its
* documentation for any purpose is hereby granted without fee, provided that
* the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of the copyright holders be used in
* advertising or publicity pertaining to distribution of the software with
* specific, written prior permission, and that no fee is charged for further
* distribution of this software, or any modifications thereof. The copyright
* holder make no representations about the suitability of this software for
* any purpose. It is provided "as is" without express or implied warranty.
*
* THE COPYRIGHT HOLDER DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
* EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
* DATA, PROFITS, QPA OR GPA, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
* OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
/* This is just a custom view for displaying the hexes in */
#import "HextrisView.h"
#import "HextrisControl.h"
#import "hex.h"
@implementation HextrisView
- (BOOL)acceptsFirstResponder {
return YES;
}
- initFrame:(const NXRect *)frameRect {
[super initFrame:frameRect];
[self setFlipped:YES];
return self;
}
- drawHexAt:(int)row :(int)column :(int)fill :(int)type {
[self lockFocus];
PSdrawHex(row, column, fill, type);
[self unlockFocus];
return self;
}
- drawSelf:(const NXRect *)rects :(int)rectCount {
[super drawSelf:rects:rectCount];
return self;
}
- clear {
[self lockFocus];
PSeraseRect(bounds.size.width, bounds.size.height);
[self unlockFocus];
[self update];
return self;
}
- keyDown:(NXEvent *)theEvent {
[controller keyDown:theEvent];
return self;
}
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.