This is Rubberband.h in view mode; [Download] [Up]
/* Generated by Interface Builder */ /* Augmented by Slugg Jello, Mouthing Flowers 152 20th Ave. #1 Seattle, WA. 98112 slugg@mouthers.nwnexus.wa.com */ #import <objc/Object.h> #import <appkit/graphics.h> #define RB_CORNER 0 // default, corner of rect is at first mouse click #define RB_CENTER 1 // center of ractangle is at first mouse click @interface Rubberband:Object { NXRect currentRect; // kept in window coords NXRect boundsRect; // kept in window coords id myView; struct { unsigned char pivot :1 ; unsigned char inclusive :1 ; unsigned char useBounds :1 ; } flags; } - init; // better call setView if you use this - initWithView :aView; // easiest way to initialize - setView :aView; // gotta have one - doStretch :(NXEvent *)event; // stretch rubberband given first mouse click - (BOOL)setInclusive:(BOOL)onOff; // set whether rectangle returned includes // pixels under rubberband - currentRect :(NXRect *)rect; // currentRect returned in myView coords // use to get results after doStretch - setCurrentRectToBounds; // like it says - setBounds :(const NXRect *)rect; // rubberband constraint given in // myView coords - bounds :(NXRect *)rect; // boundsRect returned in myView coords - (int)setPivot :(int)pivot; // see RB_ stuff above @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.