|
|
1.1 root 1:
2: #import <appkit/View.h>
3:
4: @interface GaugeView : View
5: {
6: char title[10]; /* Title of gauge */
7: id cacheWindow; /* Offscreen cache window for gauge face */
8: float radius; /* Radius of gauge face */
9: NXPoint center; /* Center of gauge face */
10: float startAngle; /* Angle in degrees which arm starts from */
11: float angleRange; /* Range in degrees which arm spans */
12: float value; /* Current value displayed on gauge */
13: float maxValue; /* Maximum value of gauge */
14: float minValue; /* Minimum value of gauge */
15: float degreesPerUnit; /* Ratio of degrees to value units */
16: int tickInterval; /* Interval of tick marks */
17: id font; /* Font used to draw labels */
18: id valueSlider; /* IB controls */
19: id valueFormCell;
20: BOOL needRedraw; /* boolean flag to indicate redraw is needed */
21: }
22:
23:
24: /* INIT/FREE METHODS */
25:
26: - initFrame:(NXRect *)frameRect;
27: - initFrame:(NXRect *)frameRect min:(float)min max:(float)max
28: startAngle:(float)start range:(float)stop tickInterval:(int)interval;
29: - free;
30:
31: /* SET PARAMETERS */
32:
33: - setTitle:(char *)str;
34: - setFont:(char *)fName size:(float)fSize;
35: - setMin:(float)newValue;
36: - setMax:(float)newValue;
37: - setStartAngle:(float)newValue;
38: - setAngleRange:(float)newValue;
39: - setTickInterval:(int)newValue;
40:
41: /* TARGET/ACTION METHODS */
42:
43: - changeValue:sender; /* connect to something with float value */
44:
45: /* TEXT DELEGATE METHODS */
46: - (BOOL)textWillEnd:textObject;
47:
48: /* PRIVATE METHODS */
49:
50: - drawHand;
51: - drawFace;
52: - drawSelf:(NXRect *)drawRects :(int )rectCount;
53:
54: @end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.