This is RulerView.h in view mode; [Download] [Up]
// // Time-stamp: <94/12/30 17:30:15 stephan> // // RulerView.h // Project: Rulers // // Stephan Wacker // 93-02-01 #import <appkit/appkit.h> // Tick mark systems. typedef struct TickMark { NXCoord distance; // distance between ticks float length; // relative length of tick marks int value; // unit of numeric marks // negative values denote fractions } TickMark; @interface RulerView : View { id control; // RulerControl NXPoint origin; // local coordinates NXPoint screenOrigin; // screen coordinates id markFont; // font for marking ticks NXRect rubberRect; // for rubberbanding NXCoord off; // exceeding movement during resizing NXImage *cachedImage; // off-screen image for fast rendering NXPoint imageOrigin; // in cachedImage coordinates NXRect validRect; // correctly rendered region // in cachedImage coordinates } // access: read - getOrigin: (NXPoint *) point; // access: write - setOrigin: (const NXPoint *) point; // inquiries - (const TickMark *) tickMarkSystem; #define Q_IsHorizontalRulerView(v) [(v) respondsTo: @selector(sizeLeft:)] // drawing - drawMarks: (const NXRect *) aRect; - drawBackground: (const NXRect *) aRect; // control - moveOrigin: (const NXSize *) delta; - synchOrigin; - synchScreenOrigin; - setCacheInvalid; // service - trackMouseFor: target action: (SEL) action; - showRubberband; - hideRubberband; - drawRubberband; @end // RulerView
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.