This is RScrollerVars.m in view mode; [Download] [Up]
/***** RScrollerVars.m -- ScrollerCover variable holder object implementation NeXTstep Measurement Kit by Alex Meyer <ameyer@phoenix.Princeton.EDU> for computer science senior thesis 24 April 1992 -- created *****/ #import <stdlib.h> #import <stdio.h> #import <string.h> #import <appkit/Application.h> #import "RScrollerVars.h" @implementation RScrollerVars - init /* should not be used */ { [self free]; return (nil); } - initString:(const char *)str tag:(int)tg rect:(const NXRect *)rect { int i; 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.numKNOB = 0; stats.numDECPAGE = 0; stats.numINCPAGE = 0; stats.numDECLINE = 0; stats.numINCLINE = 0; stats.numKNOBSLOT = 0; stats.timeIn = 0; stats.timeBetween = 0; for (i = 0;i < SCROLLERHIST;++i) stats.histogram[i] = 0; [linker connect:self]; return (self); } - incHits { ++stats.numHits; return (self); } - incKNOB { ++stats.numKNOB; return (self); } - incDECPAGE { ++stats.numDECPAGE; return (self); } - incINCPAGE { ++stats.numINCPAGE; return (self); } - incDECLINE { ++stats.numDECLINE; return (self); } - incINCLINE { ++stats.numINCLINE; return (self); } - incKNOBSLOT { ++stats.numKNOBSLOT; return (self); } - timeFrom:(double)time0 to:(double)time1 { stats.timeIn += time1 - time0; if (lastHitTime) stats.timeBetween += time0 - lastHitTime; lastHitTime = time1; return (self); } - incHist:(int)ind { ++stats.histogram[ind]; return (self); } - (unsigned)type { return (TM_SCROLLER); } - (NXAtom)key { return (key); } - (NXAtom)desc { return (NXUniqueString("{iiiiiiidd[10i]}")); } - (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.