Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

open-axiom repository from github

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