This is RButtonVars.m in view mode; [Download] [Up]
/***** RButtonVars.m -- ButtonCellCover variable holder object implementation NeXTstep Measurement Kit by Alex Meyer <ameyer@phoenix.Princeton.EDU> for computer science senior thesis 24 April 1992 -- created to hold variables for ButtonCellCover *****/ #import <stdlib.h> #import <stdio.h> #import <string.h> #import <appkit/Application.h> #import "RButtonVars.h" @implementation RButtonVars - init /* must be initialized as below */ { [self free]; return (nil); } - initString:(const char *)str tag:(int)tg rect:(const NXRect *)rect { char temp[512]; [super init]; linker = NXGetNamedObject(LINKERNAME,NXApp); sprintf(temp,"%s|%d|%f|%f|%f|%f",str,tg, rect->origin.x,rect->origin.y, rect->size.width,rect->size.height); key = NXUniqueString(temp); lastHitTime = 0; stats.numHits = 0; stats.numCancel = 0; stats.timeIn = 0; stats.timeBetween = 0; [linker connect:self]; return (self); } - incHits { ++stats.numHits; return (self); } - incCancel { ++stats.numCancel; return (self); } - timeFrom:(double)time0 to:(double)time1 { stats.timeIn += time1 - time0; if (lastHitTime) stats.timeBetween += time0 - lastHitTime; lastHitTime = time1; return (self); } - (unsigned)type { return (TM_BUTTON); } - (NXAtom)key { return (key); } - (NXAtom)desc { return (NXUniqueString("{iidd}")); } - (unsigned)statsSize { return (sizeof(stats)); } - (void *)copyOfStats { void *cpy; cpy = malloc(sizeof(stats)); memcpy(cpy,&stats,sizeof(stats)); return (cpy); } - copyInStats:(void *)NewStats { memcpy(&stats,NewStats,sizeof(stats)); return (self); } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.