home *** CD-ROM | disk | FTP | other *** search
- /* TreeView.h - Copyright 1992 Steve Ludtke All Rights Reserved */
-
- #import <appkit/View.h>
- #import <stdlib.h>
- #import "gopher.h"
-
- @interface TreeView:View
- {
- id object; /* points to the GopherObj */
- float bgColor; /* background color */
- float fgColor; /* foreground color */
- float chi, theta; /* current view angle */
- float dx, dy, dz, dr, dc; /* x,y,z,R,chi velocities */
- float path[3004], bbox[4]; /* storage for line drawing */
- char com[1502];
- int pathc; /* line counter */
- float xfm[9], yas, xsca; /* variables for 3d xform */
- float zsca, xof, zof;
- char dtype; /* display type 0 or 1 (planar or 3d) */
- float myx, myy, myz; /* my current location in 3 space */
- Root *top; /* points to top of web */
-
- }
-
- - initFrame:(NXRect *)myrect;
-
- /* methods required by GohperObj */
- -start:(Root *) Ptop :Pobject :(char *)path;
- -step:(Branch *) myloc;
- -refresh:(Branch *) myloc :(int)speed;
- -(char *)help:window :browser;
- -preferences:sender;
- -drawSelf:(NXRect *)rects :(int)rectCount;
-
- /* misc drawing methods */
- -lookAt:(float)x y:(float)y z:(float)z;
- -setView:(float)az alt:(float)alt aov:(float)aov;
- -add_dot:(float)x :(float)y :(float)z;
- -addline:(float)x1 :(float)y1 :(float)x2 :(float)y2;
- -addline:(float)x1 :(float)y1 :(float)z1 :(float)x2 :(float)y2 :(float)z2;
- -Draw:(Branch *) top :(float)x :(float)y :(float)z :(int)f;
-
- /* keyboard io methods */
- -(BOOL)acceptsFirstResponder;
- -keyDown:(NXEvent *)event;
- -keyUp:(NXEvent *)event;
-
- @end
-