~ubuntu-branches/ubuntu/karmic/axiom/karmic

« back to all changes in this revision

Viewing changes to src/graph/view2D/buttons2d.c.pamphlet

  • Committer: Bazaar Package Importer
  • Author(s):
  • Date: 2005-02-21 17:08:37 UTC
  • mfrom: (1.2.1 upstream) (2.1.1 hoary)
  • Revision ID: james.westby@ubuntu.com-20050221170837-34vm4j33v4t9hsk4
Tags: 20050201-1
* New upstream release
* Bug fix: "axiom graphics missing?", thanks to Daniel Lakeland (Closes:
  #277692).
* Bug fix: "axiom: Feb 2005 release for sarge would be nice", thanks to
  Balbir Thomas (Closes: #295000).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
\documentclass{article}
 
2
\usepackage{axiom}
 
3
\begin{document}
 
4
\title{\$SPAD/src/graph/view2D buttons2d.c}
 
5
\author{The Axiom Team}
 
6
\maketitle
 
7
\begin{abstract}
 
8
\end{abstract}
 
9
\eject
 
10
\tableofcontents
 
11
\eject
 
12
\section{License}
 
13
<<license>>=
 
14
/*
 
15
Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
 
16
All rights reserved.
 
17
 
 
18
Redistribution and use in source and binary forms, with or without
 
19
modification, are permitted provided that the following conditions are
 
20
met:
 
21
 
 
22
    - Redistributions of source code must retain the above copyright
 
23
      notice, this list of conditions and the following disclaimer.
 
24
 
 
25
    - Redistributions in binary form must reproduce the above copyright
 
26
      notice, this list of conditions and the following disclaimer in
 
27
      the documentation and/or other materials provided with the
 
28
      distribution.
 
29
 
 
30
    - Neither the name of The Numerical ALgorithms Group Ltd. nor the
 
31
      names of its contributors may be used to endorse or promote products
 
32
      derived from this software without specific prior written permission.
 
33
 
 
34
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
 
35
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
 
36
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
 
37
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
 
38
OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 
39
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 
40
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 
41
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 
42
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 
43
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 
44
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
45
*/
 
46
@
 
47
<<*>>=
 
48
<<license>>
 
49
 
 
50
#define _BUTTONS2D_C
 
51
#include "useproto.h"
 
52
 
 
53
#include <string.h>
 
54
 
 
55
#include "header2.h"
 
56
#include "buttons2d.H1"
 
57
#include "all_2d.H1"
 
58
 
 
59
 
 
60
 
 
61
 
 
62
#define bColor          98
 
63
#define graphColor      138
 
64
 
 
65
/*****************************************************
 
66
 * int initButtons(buttons)                          *
 
67
 *                                                   *
 
68
 * Creates the fields for each button window in the  *
 
69
 * two dimensional control panel, and returns the    *
 
70
 * number of buttons created.                        *
 
71
 *                                                   *
 
72
 *****************************************************/
 
73
 
 
74
int 
 
75
#ifdef _NO_PROTO
 
76
initButtons (buttons)
 
77
buttonStruct *buttons;
 
78
#else
 
79
initButtons (buttonStruct *buttons)
 
80
#endif
 
81
{
 
82
  int ii, num = 0;
 
83
 
 
84
/********** Scale(Zoom) and Translate Potentiometer Buttons **********/
 
85
 
 
86
  /* Title:  "Scale" */
 
87
  ii = scale2D;
 
88
  buttons[ii].buttonX      = 5;
 
89
  buttons[ii].buttonY      = 85;
 
90
  buttons[ii].buttonWidth  = 110;
 
91
  buttons[ii].buttonHeight = 80;
 
92
  buttons[ii].buttonKey    = ii;
 
93
  buttons[ii].pot          = yes;          /* scale is a potentiometer */
 
94
  buttons[ii].graphNum     = no;
 
95
  buttons[ii].graphSelect  = no;
 
96
  buttons[ii].mask         = potMASK;
 
97
  buttons[ii].textColor    = 164;
 
98
  buttons[ii].xHalf        = buttons[ii].buttonWidth/2;
 
99
  buttons[ii].yHalf        = buttons[ii].buttonHeight/2;
 
100
  ++num;
 
101
 
 
102
  /* Title:  "Translate" */
 
103
  ii = translate2D;
 
104
  buttons[ii].buttonX      = 121;
 
105
  buttons[ii].buttonY      = 85;
 
106
  buttons[ii].buttonWidth  = 110;
 
107
  buttons[ii].buttonHeight = 80;
 
108
  buttons[ii].buttonKey    = ii;
 
109
  buttons[ii].pot          = yes;          /* translate is a potentiometer */
 
110
  buttons[ii].graphNum     = no;
 
111
  buttons[ii].graphSelect  = no;
 
112
  buttons[ii].mask         = potMASK;
 
113
  buttons[ii].textColor    = 21;           /* line color of translate arrow */
 
114
  buttons[ii].xHalf        = buttons[ii].buttonWidth/2;
 
115
  buttons[ii].yHalf        = buttons[ii].buttonHeight/2;
 
116
  ++num;
 
117
 
 
118
  /* Scale potentiometer buttons */
 
119
 
 
120
  /* Scale along X axis */
 
121
  ii = zoom2Dx;
 
122
  buttons[ii].buttonX      = 5;
 
123
  buttons[ii].buttonY      = 55;
 
124
  buttons[ii].buttonWidth  = 53;
 
125
  buttons[ii].buttonHeight = 25;
 
126
  buttons[ii].buttonKey    = ii;
 
127
  buttons[ii].pot          = no;
 
128
  buttons[ii].graphNum     = no;
 
129
  buttons[ii].graphSelect  = no;
 
130
  buttons[ii].mask         = buttonMASK;
 
131
  strcpy(buttons[ii].text,"X On ");
 
132
  buttons[ii].textColor    = bColor;
 
133
  buttons[ii].xHalf        = buttons[ii].buttonWidth/2;
 
134
  buttons[ii].yHalf        = buttons[ii].buttonHeight/2;
 
135
  ++num;
 
136
 
 
137
 
 
138
  /* Scale along Y axis */
 
139
  ii = zoom2Dy;
 
140
  buttons[ii].buttonX      = 62;
 
141
  buttons[ii].buttonY      = 55;
 
142
  buttons[ii].buttonWidth  = 53;
 
143
  buttons[ii].buttonHeight = 25;
 
144
  buttons[ii].buttonKey    = ii;
 
145
  buttons[ii].pot          = no;
 
146
  buttons[ii].graphNum     = no;
 
147
  buttons[ii].graphSelect  = no;
 
148
  buttons[ii].mask         = buttonMASK;
 
149
  strcpy(buttons[ii].text,"Y On ");
 
150
  buttons[ii].textColor    = bColor;
 
151
  buttons[ii].xHalf        = buttons[ii].buttonWidth/2;
 
152
  buttons[ii].yHalf        = buttons[ii].buttonHeight/2;
 
153
  ++num;
 
154
 
 
155
  /* Translate along X axis */
 
156
  ii = translate2Dx;
 
157
  buttons[ii].buttonX      = 121;
 
158
  buttons[ii].buttonY      = 55;
 
159
  buttons[ii].buttonWidth  = 53;
 
160
  buttons[ii].buttonHeight = 25;
 
161
  buttons[ii].buttonKey    = ii;
 
162
  buttons[ii].pot          = no;
 
163
  buttons[ii].graphNum     = no;
 
164
  buttons[ii].graphSelect  = no;
 
165
  buttons[ii].mask         = buttonMASK;
 
166
  strcpy(buttons[ii].text,"X On ");
 
167
  buttons[ii].textColor    = bColor;
 
168
  buttons[ii].xHalf        = buttons[ii].buttonWidth/2;
 
169
  buttons[ii].yHalf        = buttons[ii].buttonHeight/2;
 
170
  ++num;
 
171
 
 
172
 
 
173
  /* Translate along Y axis */
 
174
  ii = translate2Dy;
 
175
  buttons[ii].buttonX      = 179;
 
176
  buttons[ii].buttonY      = 55;
 
177
  buttons[ii].buttonWidth  = 53;
 
178
  buttons[ii].buttonHeight = 25;
 
179
  buttons[ii].buttonKey    = ii;
 
180
  buttons[ii].pot          = no;
 
181
  buttons[ii].graphNum     = no;
 
182
  buttons[ii].graphSelect  = no;
 
183
  buttons[ii].mask         = buttonMASK;
 
184
  strcpy(buttons[ii].text,"Y On ");
 
185
  buttons[ii].textColor    = bColor;
 
186
  buttons[ii].xHalf        = buttons[ii].buttonWidth/2;
 
187
  buttons[ii].yHalf        = buttons[ii].buttonHeight/2;
 
188
  ++num;
 
189
 
 
190
 
 
191
  /* Axes Turned On/Off */
 
192
  ii = axesOnOff2D;
 
193
  buttons[ii].buttonX      = 5;
 
194
  buttons[ii].buttonY      = 292;
 
195
  buttons[ii].buttonWidth  = 90;
 
196
  buttons[ii].buttonHeight = 30;
 
197
  buttons[ii].buttonKey    = ii;
 
198
  buttons[ii].pot          = no;
 
199
  buttons[ii].graphNum     = no;
 
200
  buttons[ii].graphSelect  = no;
 
201
  buttons[ii].mask         = buttonMASK;
 
202
  strcpy(buttons[ii].text,"Axes On ");
 
203
  buttons[ii].textColor    = 75;
 
204
  buttons[ii].textHue      = 10;
 
205
  buttons[ii].textShade    = 3;
 
206
  buttons[ii].xHalf        = buttons[ii].buttonWidth/2;
 
207
  buttons[ii].yHalf        = buttons[ii].buttonHeight/2;
 
208
  ++num;
 
209
 
 
210
  /* Units Turned On/Off */
 
211
  ii = unitsOnOff2D;
 
212
  buttons[ii].buttonX      = 100;
 
213
  buttons[ii].buttonY      = 292;
 
214
  buttons[ii].buttonWidth  = 90;
 
215
  buttons[ii].buttonHeight = 30;
 
216
  buttons[ii].buttonKey    = ii;
 
217
  buttons[ii].pot          = no;
 
218
  buttons[ii].graphNum     = no;
 
219
  buttons[ii].graphSelect  = no;
 
220
  buttons[ii].mask         = buttonMASK;
 
221
  strcpy(buttons[ii].text,"Units Off");
 
222
  buttons[ii].textColor    = 75;
 
223
  buttons[ii].textHue      = 10;
 
224
  buttons[ii].textShade    = 3;
 
225
  buttons[ii].xHalf        = buttons[ii].buttonWidth/2;
 
226
  buttons[ii].yHalf        = buttons[ii].buttonHeight/2;
 
227
  ++num;
 
228
 
 
229
  /* Generate a Postscript file */
 
230
  ii = ps2D;
 
231
  buttons[ii].buttonX      = 195;
 
232
  buttons[ii].buttonY      = 292;
 
233
  buttons[ii].buttonWidth  = 36;
 
234
  buttons[ii].buttonHeight = 30;
 
235
  buttons[ii].buttonKey    = ii;
 
236
  buttons[ii].pot          = no;
 
237
  buttons[ii].graphNum     = no;
 
238
  buttons[ii].graphSelect  = no;
 
239
  buttons[ii].mask         = buttonMASK;
 
240
  strcpy(buttons[ii].text,"PS");
 
241
  buttons[ii].textColor    = 35;
 
242
  buttons[ii].textHue      = 5;
 
243
  buttons[ii].textShade    = 2;
 
244
  buttons[ii].xHalf        = buttons[ii].buttonWidth/2;
 
245
  buttons[ii].yHalf        = buttons[ii].buttonHeight/2;
 
246
  ++num;
 
247
 
 
248
  /* Bounding Rectangle On/Off */
 
249
  ii = spline2D;
 
250
  buttons[ii].buttonX      = 5;
 
251
  buttons[ii].buttonY      = 329;
 
252
  buttons[ii].buttonWidth  = 66;
 
253
  buttons[ii].buttonHeight = 30;
 
254
  buttons[ii].buttonKey    = ii;
 
255
  buttons[ii].pot          = no;
 
256
  buttons[ii].graphNum     = no;
 
257
  buttons[ii].graphSelect  = no;
 
258
  buttons[ii].mask         = buttonMASK;
 
259
  strcpy(buttons[ii].text,"Box Off");
 
260
  buttons[ii].textColor    = 7;
 
261
  buttons[ii].textHue      = 26;
 
262
  buttons[ii].textShade    = 3;
 
263
  buttons[ii].xHalf        = buttons[ii].buttonWidth/2;
 
264
  buttons[ii].yHalf        = buttons[ii].buttonHeight/2;
 
265
  ++num;
 
266
 
 
267
  /* Graph points On/Off */
 
268
  ii = pointsOnOff;
 
269
  buttons[ii].buttonX      = 75;
 
270
  buttons[ii].buttonY      = 329;
 
271
  buttons[ii].buttonWidth  = 67;
 
272
  buttons[ii].buttonHeight = 30;
 
273
  buttons[ii].buttonKey    = ii;
 
274
  buttons[ii].pot          = no;
 
275
  buttons[ii].graphNum     = no;
 
276
  buttons[ii].graphSelect  = no;
 
277
  buttons[ii].mask         = buttonMASK;
 
278
  strcpy(buttons[ii].text,"Pts On ");
 
279
  buttons[ii].textColor    = 7;
 
280
  buttons[ii].textHue      = 26;
 
281
  buttons[ii].textShade    = 3;
 
282
  buttons[ii].xHalf        = buttons[ii].buttonWidth/2;
 
283
  buttons[ii].yHalf        = buttons[ii].buttonHeight/2;
 
284
  ++num;
 
285
 
 
286
  /* Graph lines On/Off */
 
287
  ii = connectOnOff;
 
288
  buttons[ii].buttonX      = 147;
 
289
  buttons[ii].buttonY      = 329;
 
290
  buttons[ii].buttonWidth  = 84;
 
291
  buttons[ii].buttonHeight = 30;
 
292
  buttons[ii].buttonKey    = ii;
 
293
  buttons[ii].pot          = no;
 
294
  buttons[ii].graphNum     = no;
 
295
  buttons[ii].graphSelect  = no;
 
296
  buttons[ii].mask         = buttonMASK;
 
297
  strcpy(buttons[ii].text,"Lines On ");
 
298
  buttons[ii].textColor    = 7;
 
299
  buttons[ii].textHue      = 26;
 
300
  buttons[ii].textShade    = 3;
 
301
  buttons[ii].xHalf        = buttons[ii].buttonWidth/2;
 
302
  buttons[ii].yHalf        = buttons[ii].buttonHeight/2;
 
303
  ++num;
 
304
 
 
305
  /* Reset View Position Button */
 
306
  ii = reset2D;
 
307
  buttons[ii].buttonX      = 5;
 
308
  buttons[ii].buttonY      = 364;
 
309
  buttons[ii].buttonWidth  = 60;
 
310
  buttons[ii].buttonHeight = 30;
 
311
  buttons[ii].buttonKey    = ii;
 
312
  buttons[ii].pot          = no;
 
313
  buttons[ii].graphNum     = no;
 
314
  buttons[ii].graphSelect  = no;
 
315
  buttons[ii].mask         = buttonMASK;
 
316
  strcpy(buttons[ii].text,"Reset");
 
317
  buttons[ii].textColor    = bColor;
 
318
  buttons[ii].textHue      = 5;
 
319
  buttons[ii].textShade    = 2;
 
320
  buttons[ii].xHalf        = buttons[ii].buttonWidth/2;
 
321
  buttons[ii].yHalf        = buttons[ii].buttonHeight/2;
 
322
  ++num;
 
323
 
 
324
  /* Hide Control Panel */
 
325
  ii = hideControl2D;
 
326
  buttons[ii].buttonX      = 70;
 
327
  buttons[ii].buttonY      = 364;
 
328
  buttons[ii].buttonWidth  = 88;
 
329
  buttons[ii].buttonHeight = 30;
 
330
  buttons[ii].buttonKey    = ii;
 
331
  buttons[ii].pot          = no;
 
332
  buttons[ii].graphNum     = no;
 
333
  buttons[ii].graphSelect  = no;
 
334
  buttons[ii].mask         = buttonMASK;
 
335
  strcpy(buttons[ii].text,"Hide Panel");
 
336
  buttons[ii].textColor    = bColor;
 
337
  buttons[ii].textHue      = 5;
 
338
  buttons[ii].textShade    = 2;
 
339
  buttons[ii].xHalf        = buttons[ii].buttonWidth/2;
 
340
  buttons[ii].yHalf        = buttons[ii].buttonHeight/2;
 
341
  ++num;
 
342
 
 
343
  /* Exits from the viewport running */
 
344
  ii = closeAll2D;
 
345
  buttons[ii].buttonX      = 169;
 
346
  buttons[ii].buttonY      = 370;
 
347
  buttons[ii].buttonWidth  = 61;
 
348
  buttons[ii].buttonHeight = 24;
 
349
  buttons[ii].buttonKey    = ii;
 
350
  buttons[ii].pot          = no;
 
351
  buttons[ii].graphNum     = no;
 
352
  buttons[ii].graphSelect  = no;
 
353
  buttons[ii].mask         = buttonMASK;
 
354
  strcpy(buttons[ii].text,"Quit");
 
355
  buttons[ii].textColor    = 13;
 
356
  buttons[ii].textHue      = 29;
 
357
  buttons[ii].textShade    = 2;
 
358
  buttons[ii].xHalf        = buttons[ii].buttonWidth/2;
 
359
  buttons[ii].yHalf        = buttons[ii].buttonHeight/2;
 
360
  ++num;
 
361
 
 
362
  /* Indicates that the graph from a viewport is to be picked up. */
 
363
  ii = pick2D;
 
364
  buttons[ii].buttonX      = 190;
 
365
  buttons[ii].buttonY      = 217;
 
366
  buttons[ii].buttonWidth  = 40;
 
367
  buttons[ii].buttonHeight = 24;
 
368
  buttons[ii].buttonKey    = ii;
 
369
  buttons[ii].pot          = no;
 
370
  buttons[ii].graphNum     = no;
 
371
  buttons[ii].graphSelect  = no;
 
372
  buttons[ii].mask         = buttonMASK;
 
373
  strcpy(buttons[ii].text,"Pick");
 
374
  buttons[ii].textColor    = 123;
 
375
  buttons[ii].textHue      = 19;
 
376
  buttons[ii].textShade    = 3;
 
377
  buttons[ii].xHalf        = buttons[ii].buttonWidth/2;
 
378
  buttons[ii].yHalf        = buttons[ii].buttonHeight/2;
 
379
  ++num;
 
380
 
 
381
  /* Indicates that the graph from a viewport is to be dropped into a slot. */
 
382
  ii = drop2D;
 
383
  buttons[ii].buttonX      = 190;
 
384
  buttons[ii].buttonY      = 245;
 
385
  buttons[ii].buttonWidth  = 40;
 
386
  buttons[ii].buttonHeight = 24;
 
387
  buttons[ii].buttonKey    = ii;
 
388
  buttons[ii].pot          = no;
 
389
  buttons[ii].graphNum     = no;
 
390
  buttons[ii].graphSelect  = no;
 
391
  buttons[ii].mask         = buttonMASK;
 
392
  strcpy(buttons[ii].text,"Drop");
 
393
  buttons[ii].textColor    = 123;
 
394
  buttons[ii].textHue      = 19;
 
395
  buttons[ii].textShade    = 3;
 
396
  buttons[ii].xHalf        = buttons[ii].buttonWidth/2;
 
397
  buttons[ii].yHalf        = buttons[ii].buttonHeight/2;
 
398
  ++num;
 
399
 
 
400
  /* Indicates that the status of the graphs being displayed in the viewport
 
401
     is to be cleared. */
 
402
  ii = clear2D;
 
403
  buttons[ii].buttonX      = 5;
 
404
  buttons[ii].buttonY      = 217;
 
405
  buttons[ii].buttonWidth  = 49;
 
406
  buttons[ii].buttonHeight = 24;
 
407
  buttons[ii].buttonKey    = ii;
 
408
  buttons[ii].pot          = no;
 
409
  buttons[ii].graphNum     = no;
 
410
  buttons[ii].graphSelect  = no;
 
411
  buttons[ii].mask         = buttonMASK;
 
412
  strcpy(buttons[ii].text,"Clear");
 
413
  buttons[ii].textColor    = 123;
 
414
  buttons[ii].textHue      = 19;
 
415
  buttons[ii].textShade    = 3;
 
416
  buttons[ii].xHalf        = buttons[ii].buttonWidth/2;
 
417
  buttons[ii].yHalf        = buttons[ii].buttonHeight/2;
 
418
  ++num;
 
419
 
 
420
  /* Asks for the scale and translation information for the specified graph. */
 
421
  ii = query2D;
 
422
  buttons[ii].buttonX      = 5;
 
423
  buttons[ii].buttonY      = 245;
 
424
  buttons[ii].buttonWidth  = 49;
 
425
  buttons[ii].buttonHeight = 24;
 
426
  buttons[ii].buttonKey    = ii;
 
427
  buttons[ii].pot          = no;
 
428
  buttons[ii].graphNum     = no;
 
429
  buttons[ii].graphSelect  = no;
 
430
  buttons[ii].mask         = buttonMASK;
 
431
  strcpy(buttons[ii].text,"Query");
 
432
  buttons[ii].textColor    = 123;
 
433
  buttons[ii].textHue      = 19;
 
434
  buttons[ii].textShade    = 3;
 
435
  buttons[ii].xHalf        = buttons[ii].buttonWidth/2;
 
436
  buttons[ii].yHalf        = buttons[ii].buttonHeight/2;
 
437
  ++num;
 
438
 
 
439
  /* These buttons indicate the 9 available slot numbers into which
 
440
     a 2D graph can be placed, and the status of the graph, i.e. whether
 
441
     it is displayed or not. */
 
442
 
 
443
  ii = graph1;
 
444
  buttons[ii].buttonX      = graphBarLeft;
 
445
  buttons[ii].buttonY      = graphBarTop;
 
446
  buttons[ii].buttonWidth  = graphBarWidth;
 
447
  buttons[ii].buttonHeight = graphBarHeight;
 
448
  buttons[ii].buttonKey    = ii;
 
449
  buttons[ii].pot          = no;
 
450
  buttons[ii].graphNum     = yes;
 
451
  buttons[ii].graphSelect  = no;
 
452
  buttons[ii].mask         = buttonMASK;
 
453
  strcpy(buttons[ii].text,"1");
 
454
  buttons[ii].textColor    = graphColor;
 
455
  buttons[ii].xHalf        = buttons[ii].buttonWidth/2;
 
456
  buttons[ii].yHalf        = buttons[ii].buttonHeight/2;
 
457
  ++num;
 
458
 
 
459
  ii = graphSelect1;
 
460
  buttons[ii].buttonX      = graphBarLeft;
 
461
  buttons[ii].buttonY      = graphBarTop + graphBarHeight;
 
462
  buttons[ii].buttonWidth  = graphBarWidth;
 
463
  buttons[ii].buttonHeight = graphBarHeight-2;
 
464
  buttons[ii].buttonKey    = ii;
 
465
  buttons[ii].pot          = no;                /* this is a regular button */
 
466
  buttons[ii].graphNum     = no;
 
467
  buttons[ii].graphSelect  = yes;
 
468
  buttons[ii].mask         = buttonMASK;
 
469
  strcpy(buttons[ii].text,"^");
 
470
  buttons[ii].textColor    = graphColor;
 
471
  buttons[ii].xHalf        = buttons[ii].buttonWidth/2;
 
472
  buttons[ii].yHalf        = buttons[ii].buttonHeight/2;
 
473
  ++num;
 
474
 
 
475
  ii = graph2;
 
476
  buttons[ii].buttonX      = graphBarLeft + (graphBarWidth);
 
477
  buttons[ii].buttonY      = graphBarTop;
 
478
  buttons[ii].buttonWidth  = graphBarWidth;
 
479
  buttons[ii].buttonHeight = graphBarHeight;
 
480
  buttons[ii].buttonKey    = ii;
 
481
  buttons[ii].pot          = no;                /* this is a regular button */
 
482
  buttons[ii].graphNum     = yes;
 
483
  buttons[ii].graphSelect  = no;
 
484
  buttons[ii].mask         = buttonMASK;
 
485
  strcpy(buttons[ii].text,"2");
 
486
  buttons[ii].textColor    = graphColor;
 
487
  buttons[ii].xHalf        = buttons[ii].buttonWidth/2;
 
488
  buttons[ii].yHalf        = buttons[ii].buttonHeight/2;
 
489
  ++num;
 
490
 
 
491
  ii = graphSelect2;
 
492
  buttons[ii].buttonX      = graphBarLeft + (graphBarWidth);
 
493
  buttons[ii].buttonY      = graphBarTop + graphBarHeight;
 
494
  buttons[ii].buttonWidth  = graphBarWidth;
 
495
  buttons[ii].buttonHeight = graphBarHeight-2;
 
496
  buttons[ii].buttonKey    = ii;
 
497
  buttons[ii].pot          = no;                /* this is a regular button */
 
498
  buttons[ii].graphNum     = no;
 
499
  buttons[ii].graphSelect  = yes;
 
500
  buttons[ii].mask         = buttonMASK;
 
501
  strcpy(buttons[ii].text,"-");
 
502
  buttons[ii].textColor    = graphColor;
 
503
  buttons[ii].xHalf        = buttons[ii].buttonWidth/2;
 
504
  buttons[ii].yHalf        = buttons[ii].buttonHeight/2;
 
505
  ++num;
 
506
 
 
507
  ii = graph3;
 
508
  buttons[ii].buttonX      = graphBarLeft + 2*(graphBarWidth);
 
509
  buttons[ii].buttonY      = graphBarTop;
 
510
  buttons[ii].buttonWidth  = graphBarWidth;
 
511
  buttons[ii].buttonHeight = graphBarHeight;
 
512
  buttons[ii].buttonKey    = ii;
 
513
  buttons[ii].pot          = no;                /* this is a regular button */
 
514
  buttons[ii].graphNum     = yes;
 
515
  buttons[ii].graphSelect  = no;
 
516
  buttons[ii].mask         = buttonMASK;
 
517
  strcpy(buttons[ii].text,"3");
 
518
  buttons[ii].textColor    = graphColor;
 
519
  buttons[ii].xHalf        = buttons[ii].buttonWidth/2;
 
520
  buttons[ii].yHalf        = buttons[ii].buttonHeight/2;
 
521
  ++num;
 
522
 
 
523
  ii = graphSelect3;
 
524
  buttons[ii].buttonX      = graphBarLeft + 2*(graphBarWidth);
 
525
  buttons[ii].buttonY      = graphBarTop + graphBarHeight;
 
526
  buttons[ii].buttonWidth  = graphBarWidth;
 
527
  buttons[ii].buttonHeight = graphBarHeight-2;
 
528
  buttons[ii].buttonKey    = ii;
 
529
  buttons[ii].pot          = no;  /**** blend these three together ***/
 
530
  buttons[ii].graphNum     = no;
 
531
  buttons[ii].graphSelect  = yes;
 
532
  buttons[ii].mask         = buttonMASK;
 
533
  strcpy(buttons[ii].text,"-");
 
534
  buttons[ii].textColor    = graphColor;
 
535
  buttons[ii].xHalf        = buttons[ii].buttonWidth/2;
 
536
  buttons[ii].yHalf        = buttons[ii].buttonHeight/2;
 
537
  ++num;
 
538
 
 
539
  ii = graph4;
 
540
  buttons[ii].buttonX      = graphBarLeft + 3*(graphBarWidth);
 
541
  buttons[ii].buttonY      = graphBarTop;
 
542
  buttons[ii].buttonWidth  = graphBarWidth;
 
543
  buttons[ii].buttonHeight = graphBarHeight;
 
544
  buttons[ii].buttonKey    = ii;
 
545
  buttons[ii].pot          = no;                /* this is a regular button */
 
546
  buttons[ii].graphNum     = yes;
 
547
  buttons[ii].graphSelect  = no;
 
548
  buttons[ii].mask         = buttonMASK;
 
549
  strcpy(buttons[ii].text,"4");
 
550
  buttons[ii].textColor    = graphColor;
 
551
  buttons[ii].xHalf        = buttons[ii].buttonWidth/2;
 
552
  buttons[ii].yHalf        = buttons[ii].buttonHeight/2;
 
553
  ++num;
 
554
 
 
555
  ii = graphSelect4;
 
556
  buttons[ii].buttonX      = graphBarLeft + 3*(graphBarWidth);
 
557
  buttons[ii].buttonY      = graphBarTop + graphBarHeight;
 
558
  buttons[ii].buttonWidth  = graphBarWidth;
 
559
  buttons[ii].buttonHeight = graphBarHeight-2;
 
560
  buttons[ii].buttonKey    = ii;
 
561
  buttons[ii].pot          = no;                /* this is a regular button */
 
562
  buttons[ii].graphNum     = no;
 
563
  buttons[ii].graphSelect  = yes;
 
564
  buttons[ii].mask         = buttonMASK;
 
565
  strcpy(buttons[ii].text,"-");
 
566
  buttons[ii].textColor    = graphColor;
 
567
  buttons[ii].xHalf        = buttons[ii].buttonWidth/2;
 
568
  buttons[ii].yHalf        = buttons[ii].buttonHeight/2;
 
569
  ++num;
 
570
 
 
571
  ii = graph5;
 
572
  buttons[ii].buttonX      = graphBarLeft + 4*(graphBarWidth);
 
573
  buttons[ii].buttonY      = graphBarTop;
 
574
  buttons[ii].buttonWidth  = graphBarWidth;
 
575
  buttons[ii].buttonHeight = graphBarHeight;
 
576
  buttons[ii].buttonKey    = ii;
 
577
  buttons[ii].pot          = no;                /* this is a regular button */
 
578
  buttons[ii].graphNum     = yes;
 
579
  buttons[ii].graphSelect  = no;
 
580
  buttons[ii].mask         = buttonMASK;
 
581
  strcpy(buttons[ii].text,"5");
 
582
  buttons[ii].textColor    = graphColor;
 
583
  buttons[ii].xHalf        = buttons[ii].buttonWidth/2;
 
584
  buttons[ii].yHalf        = buttons[ii].buttonHeight/2;
 
585
  ++num;
 
586
 
 
587
  ii = graphSelect5;
 
588
  buttons[ii].buttonX      = graphBarLeft + 4*(graphBarWidth);
 
589
  buttons[ii].buttonY      = graphBarTop + graphBarHeight;
 
590
  buttons[ii].buttonWidth  = graphBarWidth;
 
591
  buttons[ii].buttonHeight = graphBarHeight-2;
 
592
  buttons[ii].buttonKey    = ii;
 
593
  buttons[ii].pot          = no;                /* this is a regular button */
 
594
  buttons[ii].graphNum     = no;
 
595
  buttons[ii].graphSelect  = yes;
 
596
  buttons[ii].mask         = buttonMASK;
 
597
  strcpy(buttons[ii].text,"-");
 
598
  buttons[ii].textColor    = graphColor;
 
599
  buttons[ii].xHalf        = buttons[ii].buttonWidth/2;
 
600
  buttons[ii].yHalf        = buttons[ii].buttonHeight/2;
 
601
  ++num;
 
602
 
 
603
  ii = graph6;
 
604
  buttons[ii].buttonX      = graphBarLeft + 5*(graphBarWidth);
 
605
  buttons[ii].buttonY      = graphBarTop;
 
606
  buttons[ii].buttonWidth  = graphBarWidth;
 
607
  buttons[ii].buttonHeight = graphBarHeight;
 
608
  buttons[ii].buttonKey    = ii;
 
609
  buttons[ii].pot          = no;                /* this is a regular button */
 
610
  buttons[ii].graphNum     = yes;
 
611
  buttons[ii].graphSelect  = no;
 
612
  buttons[ii].mask         = buttonMASK;
 
613
  strcpy(buttons[ii].text,"6");
 
614
  buttons[ii].textColor    = graphColor;
 
615
  buttons[ii].xHalf        = buttons[ii].buttonWidth/2;
 
616
  buttons[ii].yHalf        = buttons[ii].buttonHeight/2;
 
617
  ++num;
 
618
 
 
619
  ii = graphSelect6;
 
620
  buttons[ii].buttonX      = graphBarLeft + 5*(graphBarWidth);
 
621
  buttons[ii].buttonY      = graphBarTop + graphBarHeight;
 
622
  buttons[ii].buttonWidth  = graphBarWidth;
 
623
  buttons[ii].buttonHeight = graphBarHeight-2;
 
624
  buttons[ii].buttonKey    = ii;
 
625
  buttons[ii].pot          = no;                /* this is a regular button */
 
626
  buttons[ii].graphNum     = no;
 
627
  buttons[ii].graphSelect  = yes;
 
628
  buttons[ii].mask         = buttonMASK;
 
629
  strcpy(buttons[ii].text,"-");
 
630
  buttons[ii].textColor    = graphColor;
 
631
  buttons[ii].xHalf        = buttons[ii].buttonWidth/2;
 
632
  buttons[ii].yHalf        = buttons[ii].buttonHeight/2;
 
633
  ++num;
 
634
 
 
635
  ii = graph7;
 
636
  buttons[ii].buttonX      = graphBarLeft + 6*(graphBarWidth);
 
637
  buttons[ii].buttonY      = graphBarTop;
 
638
  buttons[ii].buttonWidth  = graphBarWidth;
 
639
  buttons[ii].buttonHeight = graphBarHeight;
 
640
  buttons[ii].buttonKey    = ii;
 
641
  buttons[ii].pot          = no;                /* this is a regular button */
 
642
  buttons[ii].graphNum     = yes;
 
643
  buttons[ii].graphSelect  = no;
 
644
  buttons[ii].mask         = buttonMASK;
 
645
  strcpy(buttons[ii].text,"7");
 
646
  buttons[ii].textColor    = graphColor;
 
647
  buttons[ii].xHalf        = buttons[ii].buttonWidth/2;
 
648
  buttons[ii].yHalf        = buttons[ii].buttonHeight/2;
 
649
  ++num;
 
650
 
 
651
  ii = graphSelect7;
 
652
  buttons[ii].buttonX      = graphBarLeft + 6*(graphBarWidth);
 
653
  buttons[ii].buttonY      = graphBarTop + graphBarHeight;
 
654
  buttons[ii].buttonWidth  = graphBarWidth;
 
655
  buttons[ii].buttonHeight = graphBarHeight-2;
 
656
  buttons[ii].buttonKey    = ii;
 
657
  buttons[ii].pot          = no;                /* this is a regular button */
 
658
  buttons[ii].graphNum     = no;
 
659
  buttons[ii].graphSelect  = yes;
 
660
  buttons[ii].mask         = buttonMASK;
 
661
  strcpy(buttons[ii].text,"-");
 
662
  buttons[ii].textColor    = graphColor;
 
663
  buttons[ii].xHalf        = buttons[ii].buttonWidth/2;
 
664
  buttons[ii].yHalf        = buttons[ii].buttonHeight/2;
 
665
  ++num;
 
666
 
 
667
  ii = graph8;
 
668
  buttons[ii].buttonX      = graphBarLeft + 7*(graphBarWidth);
 
669
  buttons[ii].buttonY      = graphBarTop;
 
670
  buttons[ii].buttonWidth  = graphBarWidth;
 
671
  buttons[ii].buttonHeight = graphBarHeight;
 
672
  buttons[ii].buttonKey    = ii;
 
673
  buttons[ii].pot          = no;                /* this is a regular button */
 
674
  buttons[ii].graphNum     = yes;
 
675
  buttons[ii].graphSelect  = no;
 
676
  buttons[ii].mask         = buttonMASK;
 
677
  strcpy(buttons[ii].text,"8");
 
678
  buttons[ii].textColor    = graphColor;
 
679
  buttons[ii].xHalf        = buttons[ii].buttonWidth/2;
 
680
  buttons[ii].yHalf        = buttons[ii].buttonHeight/2;
 
681
  ++num;
 
682
 
 
683
  ii = graphSelect8;
 
684
  buttons[ii].buttonX      = graphBarLeft + 7*(graphBarWidth);
 
685
  buttons[ii].buttonY      = graphBarTop + graphBarHeight;
 
686
  buttons[ii].buttonWidth  = graphBarWidth;
 
687
  buttons[ii].buttonHeight = graphBarHeight-2;
 
688
  buttons[ii].buttonKey    = ii;
 
689
  buttons[ii].pot          = no;                /* this is a regular button */
 
690
  buttons[ii].graphNum     = no;
 
691
  buttons[ii].graphSelect  = yes;
 
692
  buttons[ii].mask         = buttonMASK;
 
693
  strcpy(buttons[ii].text,"-");
 
694
  buttons[ii].textColor    = graphColor;
 
695
  buttons[ii].xHalf        = buttons[ii].buttonWidth/2;
 
696
  buttons[ii].yHalf        = buttons[ii].buttonHeight/2;
 
697
  ++num;
 
698
 
 
699
  ii = graph9;
 
700
  buttons[ii].buttonX      = graphBarLeft + 8*(graphBarWidth);
 
701
  buttons[ii].buttonY      = graphBarTop;
 
702
  buttons[ii].buttonWidth  = graphBarWidth;
 
703
  buttons[ii].buttonHeight = graphBarHeight;
 
704
  buttons[ii].buttonKey    = ii;
 
705
  buttons[ii].pot          = no;                /* this is a regular button */
 
706
  buttons[ii].graphNum     = yes;
 
707
  buttons[ii].graphSelect  = no;
 
708
  buttons[ii].mask         = buttonMASK;
 
709
  strcpy(buttons[ii].text,"9");
 
710
  buttons[ii].textColor    = graphColor;
 
711
  buttons[ii].xHalf        = buttons[ii].buttonWidth/2;
 
712
  buttons[ii].yHalf        = buttons[ii].buttonHeight/2;
 
713
  ++num;
 
714
 
 
715
  ii = graphSelect9;
 
716
  buttons[ii].buttonX      = graphBarLeft + 8*(graphBarWidth);
 
717
  buttons[ii].buttonY      = graphBarTop + graphBarHeight;
 
718
  buttons[ii].buttonWidth  = graphBarWidth;
 
719
  buttons[ii].buttonHeight = graphBarHeight-2;
 
720
  buttons[ii].buttonKey    = ii;
 
721
  buttons[ii].pot          = no;                /* this is a regular button */
 
722
  buttons[ii].graphNum     = no;
 
723
  buttons[ii].graphSelect  = yes;
 
724
  buttons[ii].mask         = buttonMASK;
 
725
  strcpy(buttons[ii].text,"*");
 
726
  buttons[ii].textColor    = graphColor;
 
727
  buttons[ii].xHalf        = buttons[ii].buttonWidth/2;
 
728
  buttons[ii].yHalf        = buttons[ii].buttonHeight/2;
 
729
  ++num;
 
730
 
 
731
  return(num);
 
732
}
 
733
@
 
734
\eject
 
735
\begin{thebibliography}{99}
 
736
\bibitem{1} nothing
 
737
\end{thebibliography}
 
738
\end{document}