Jspice3
mfb.h
Go to the documentation of this file.
1 /***************************************************************************
2 JSPICE3 adaptation of Spice3e2 - Copyright (c) Stephen R. Whiteley 1992
3 Copyright 1990 Regents of the University of California. All rights reserved.
4 Authors: 1982 Giles C. Billingsley, Kenneth H. Keller
5 Authors: 1985 Wayne A. Christopher
6  1992 Stephen R. Whiteley
7 ****************************************************************************/
8 
9 /* This mfb.h supports two different mfb packages:
10  * 1) Berkeley unix mfb,
11  * 2) the dosmfb package created for MSDOS protected mode.
12  */
13 
14 
15 #include <stdio.h>
16 
17 #ifndef BOOL_ALREADY_TYPEDEFED /* X has a typedef Bool also */
18 typedef enum {false, true} Bool;
19 #endif
20 
21 #if !defined (TRUE)
22 #define TRUE 1
23 #define FALSE 0
24 #endif
25 
26 #define ON 1
27 #define OFF 0
28 
29 #define BUFSIZE 4096
30 #define UNINITIALIZED -1
31 #define MFBPOLYGONBUFSIZE 600
32 #define MFBMAXPOLYGONVERTICES 300
33 #define MFBmax(a,b) (a > b ? a : b)
34 #define MFBmin(a,b) (a < b ? a : b)
35 #define MFBSwapInt(f1,f2) {long f3; f3 = f1; f1 = f2; f2 = f3;}
36 
37 #define TTY 't'
38 #define HCOPY 'r'
39 
40 /* in lieu of including spice.h in mfb library files */
41 #if __MSDOS__ || __msdos__ || defined (MSDOS)
42 #ifndef HAVE_PCTERM
43 #define HAVE_PCTERM
44 #endif
45 #endif
46 
47 
48 #ifndef HAVE_PCTERM
49 
50 
51 /* Berkeley UNIX MFB */
52 
53 #include <sys/types.h>
54 
55 #ifdef HAVE_FTIME
56 #include <sys/timeb.h>
57 #endif
58 
59 #ifdef HAVE_STAT
60 #include <sys/stat.h>
61 #endif
62 
63 #ifdef HAVE_TERMIOS_H
64 #include <termios.h>
65 #else
66 #ifdef HAVE_TERMIO_H
67 #include <termio.h>
68 #else
69 #ifdef HAVE_SGTTY_H
70 #include <sgtty.h>
71 #endif
72 #endif
73 #endif
74 
75 #ifdef HAVE_SIGNAL
76 #include <signal.h>
77 #endif
78 
79 /*
80  * By define DEBUG we enable the MFBCounters routine for measuring bandwidth
81  */
82 #define DEBUG
83 
84 #define TTYBUFSIZE 4096
85 
87 
88 /************************************************************************/
89 /* */
90 /* MFB structure definition. */
91 /* */
92 /************************************************************************/
93 
94 struct mfb_window {
95  int left;
96  int right;
97  int top;
98  int bottom;
99  double length,width;
100 };
101 typedef struct mfb_window WINDOW;
102 typedef struct mfb_window VIEWPORT;
103 
104 struct mfbpath {
106  int *xy;
107 };
108 typedef struct mfbpath MFBPOLYGON;
109 typedef struct mfbpath MFBPATH;
110 
111 struct mfbremttyb {
112 
113 #ifdef HAVE_TERMIOS_H
114  struct termios oldttyb;
115  struct termios newttyb;
116 #else
117 #ifdef HAVE_TERMIO_H
118  struct termio oldttyb;
119  struct termio newttyb;
120 #else
121 #ifdef HAVE_SGTTY_H
122  struct sgttyb oldttyb;
123  struct sgttyb newttyb;
124 #else
125  int oldttyb, newttyb;
126 #endif
127 #endif
128 #endif
129 };
130 typedef struct mfbremttyb MFBSAVETTYB;
131 
132 struct mfbremstat {
133  int graphttyw; /* old mode bits of graphics device */
134  int kybrdttyw; /* old mode bits of standard input/output */
135  struct stat graphstat; /* old fstats of graphics device */
136  struct stat kybrdstat; /* old fstats of standard input/output */
137 };
138 typedef struct mfbremstat MFBSAVESTAT;
139 
141  char *startSequence; /* first transmitted sequence */
142  char *endSequence; /* last transmitted sequence */
143  char *initLineStyles; /* initialize line styles */
144  char *initFillPatterns; /* initialize fill styles */
145  char *initColorStyles; /* initialize color styles */
146 
147  char *vltEntry; /* define color in VLT */
148  char *setForegroundColor; /* set current foreground color */
149  char *screenFlood; /* flood screen to current color */
150 
151  char *channelMaskSet; /* set write mask */
152  char *readMaskSet; /* set read mask */
153 
154  char *enablePointingDevice; /* initialize pointing device */
155  char *enableRubberBanding; /* turn on rubber banding */
156  char *disablePointingDevice; /* disable pointing device and cursor */
157  char *disableRubberBanding; /* turn off rubber banding */
158  char *readPointingDevice; /* wait and read pointing device */
159  char *formatPointingDevice; /* decode format for pointing device */
160 
161  char *keyboardStart; /* initailize keyboard */
162  char *keyboardEnd; /* terminate keyboard input */
163  char *keyboardBackspace; /* keyboard backspace sequence */
164  char *audio; /* ring the terminals bell */
165 
166  char *lineDefineStart; /* begin defining a line pattern */
167  char *lineDefineFormat; /* define bit array of line pattern */
168  char *lineDefineEnd; /* terminate line pattern definition */
169  char *setLineStyle; /* set current line style */
170  char *setSolidLineStyle; /* set current line style to solid */
171  char *movePenSequence; /* move current graphics position */
172  char *drawLineSequence; /* draw a line in current style */
173  char *drawSolidLineSequence; /* draw a solid line */
174  char *drawLineToSequence; /* move and draw current position */
175  char *drawSolidLineToSequence;/* move and draw solid line */
176 
177  char *drawBoxSequence; /* draw box in current style */
178  char *drawSolidBoxSequence; /* draw a solid box */
179 
180  char *beginPlygnSequence; /* begin polygon in cur. fill style */
181  char *beginSolidPlygnSequence;/* begin solid polygon */
182  char *sendPlygnVertex; /* define one point in polygon */
183  char *endPlygnSequence; /* terminate polygon sequence */
184 
185  char *drawCircleSequence; /* draw a circle in solid line style */
186 
187  char *rotateTextSequence; /* rotate graphic text */
188  char *graphicsTextStart; /* begin graphic text */
189  char *graphicsTextEnd; /* terminate graphic text */
190  char *replaceON; /* turn on destructive text mode */
191  char *overstrikeON; /* turn on overstriking text mode */
192  char *writePixel; /* write one pixel in current color */
193 
194  char *setALUEOR; /* set ALU mode to EOR */
195  char *setALUNOR; /* set ALU mode to NOR */
196  char *setALUOR; /* set ALU mode to OR */
197  char *setALUJAM; /* set ALU mode to JAM or REPLACE */
198 
199  char *blinkerON; /* make a color blink */
200  char *blinkerOFF; /* turn off a blinking layer */
201 
202  char *rastCopyStart; /* begin raster copy sequence */
203  char *rastCopyEnd; /* terminate raster copy sequence */
204  char *rastCopyDest; /* define raster copy destionation */
205  char *rastCopySource; /* define raster copy source area */
206 
207  char *fillDefineStart; /* begin defining a fill style */
208  char *fillDefineFormat; /* define bit array of row/column */
209  char *fillDefineEnd; /* terminate fill style definition */
210  char *setFillPattern; /* set current fill pattern */
211  char *setSolidFillPattern; /* set current fill pattern to solid */
212 };
213 
214 
215 struct mfb {
216 
217  /*
218  * INTEGERS FIELDS
219  */
220 /* used by mfbgncode */
221  int lastX,lastY; /* for Tektronix encoding */
222  int X,Y,Z,T; /* parameter list */
223 
224 /* Resolution */
225  int maxX; /* horizontal resolution */
226  int maxY; /* vertical resolution */
227  int maxColors; /* maximum number of colors */
228  int minOffScreenX; /* left of off screen memory */
229  int minOffScreenY; /* bottom of off screen mem. */
230  int offScreenDX; /* length of off screen mem. */
231  int offScreenDY; /* width of off screen mem. */
232 
233 /* Video Layer Table */
234  int maxIntensity; /* max RGB or LS intensity */
235  int lengthOfVLT; /* number of bit planes */
236 
237 /* Pointing Device */
238  int buttonMask[12]; /* returned button masks */
239  int numberOfButtons; /* 12 maximum */
240 
241 /* Keyboard Control */
244 
245 /* Line Drawing */
246  int lineDefineLength; /* number of bytes in array */
247  int maxLineStyles; /* number of line styles */
248 
249 /* Text font */
250  int fontHeight; /* font height in pixels */
251  int fontWidth; /* font width in pixels */
254 
255 
256 /* Blinkers */
257  int maxBlinkers; /* number of blinkers */
258 
259 /* Fill Patterns */
260  int fillDefineHeight; /* number of byte rows */
261  int fillDefineWidth; /* number of byte columns */
262  int maxFillPatterns; /* number of fill patterns */
263 
264 /* Current variables */
265  int cursorColor1Id; /* blinked cursor color ID */
266  int cursorColor2Id; /* unblinked cursor color ID */
267  int fgColorId; /* cur. foreground color ID */
268  int fillPattern; /* cur. fill pattern ID */
269  int lineStyle; /* cur. line style ID */
270  int channelMask; /* cur. write mask */
271  int readMask; /* cur. read mask */
272  int textMode; /* text mode (1=dest, 0=rep) */
273  int numBlinkers; /* cur. number of blinkers */
274  int stipplePattern[8]; /* cur. stipple pattern */
275 
276  int fileDesc; /* desc. for graphics device */
277  int numTtyBuffer; /* cur. chars in output queue */
278 
279 #ifdef DEBUG
280 /* bandwidth test */
281  int nChars;
282  int nBoxes,sumBoxArea;
283  int nLines,sumLineLength;
284 #endif
285 
286 
287  /*
288  * POINTERS
289  */
290 /* for tty's only */
291  char *name; /* device name */
292  char *terminalName; /* name of MFBCAP entry */
293 
294 /* I/O routines */
295  int (*dsply_getchar)();
296  int (*kybrd_getchar)();
297  int (*dsply_ungetchar)();
298  int (*kybrd_ungetchar)();
299  int (*outchar)();
300  int (*outstr)();
301 
302 
303  /*
304  * BOOLEANS
305  */
307 
308 /* Video Layer Table */
311 
312 /* Channel Mask */
315 
316 /* Pointing Device */
320 
321 /* Keyboard Control */
323 
324 /* Line Drawing */
327 
328 /* Polygon Drawing */
330 
331 /* Text font */
336 
337 /* Blinkers */
339 
340 /* Raster Copy */
343 
344 /* Fill Patterns */
347 
348 /* for tty's only */
352 
353 
354  /*
355  * STRUCTURES
356  */
357  struct mfbformatstrs strings; /* format strings */
358 
359  WINDOW currentWindow; /* current window */
360  VIEWPORT currentViewport; /* current viewport */
361 
362  /* graphics device ttyb struct */
364 
365  /* keyboard ttyb struct if graphics device does not have a kybrd */
367 
368  /* tty status ints */
370 
371 
372  /*
373  * CHARACTERS
374  */
375  char deviceType; /* TTY=tty, HCOPY=hard copy */
376  char strBuf[BUFSIZE]; /* storage for format strings */
377  char ttyBuffer[TTYBUFSIZE]; /* tty output buffer */
378 };
379 typedef struct mfb MFB;
380 
381 extern MFB *MFBCurrent; /* global FB structure */
382 
383 struct err {
384  int errnum;
385  char *message;
386 };
387 
388 
389 /* All MFBCAP defines must be less than zero so they will not clash
390  * with the ASCII character set.
391  */
392 #define MFBCAPOK -10
393 #define MFBCAPNOFORMAT -20
394 #define MFBCAPSYNTAXERR -30
395 
396 
397 /* mfbcap field evaluation */
398 #define mfbarg( cp, Reg, reg, val ) { \
399  val = (int)(*cp); \
400  ++cp; \
401  if(val == '%'){ \
402  switch(*cp){ \
403  case 'X': \
404  val = MFBCurrent->X; \
405  break; \
406  case 'Y': \
407  val = MFBCurrent->Y; \
408  break; \
409  case 'Z': \
410  val = MFBCurrent->Z; \
411  break; \
412  case 'T': \
413  val = MFBCurrent->T; \
414  break; \
415  case 'R': \
416  val = Reg; \
417  break; \
418  case 'r': \
419  val = reg; \
420  break; \
421  case 'C': \
422  val = MFBCurrent->fgColorId; \
423  break; \
424  case 'F': \
425  val = MFBCurrent->fillPattern;\
426  break; \
427  case 'L': \
428  val = MFBCurrent->lineStyle; \
429  break; \
430  default: \
431  --cp; \
432  break; \
433  } \
434  ++cp; \
435  } else if(val == '#'){ \
436  int iarg; \
437  val = 0; \
438  while( (iarg = ((int)(*cp) - 060)) >= 0 && (iarg < 10) ) { \
439  cp++; val *= 10; val += iarg; \
440  } \
441  } \
442 }
443 
444 /* MFBSetALUMode defines */
445 #define MFBALUJAM 0
446 #define MFBALUOR 1
447 #define MFBALUNOR 2
448 #define MFBALUEOR 3
449 
450 
451 #else /* HAVE_PCTERM */
452 
453 
454 /* New PC MFB has a separate private include file mfbp.c */
455 
456 #define VGAMFB
457 #define NSTYLES 32
458 
459 /* The Berkeley defined MFB structure is not used here, except for the
460  * entries below.
461  */
462 
463 struct mfb {
464  int fileDesc;
465  int buttonMask[12]; /* returned button masks */
466 };
467 typedef struct mfb MFB;
468 
469 struct mfbpath {
470  int nvertices;
471  long *xy;
472 };
473 typedef struct mfbpath MFBPOLYGON;
474 
475 extern MFB *MFBCurrent;
476 
477 
478 /* MFBSetALUMode defines */
479 #define MFBALUJAM 0
480 #define MFBALUAND 1
481 #define MFBALUOR 2
482 #define MFBALUEOR 3
483 #define MFBALUNOR 4
484 
485 #endif /* HAVE_PCTERM */
486 
487 
488 /* common defines */
489 
490 /* ERROR DEFINES */
491 #define MFBOK 1 /* Successful return */
492 #define MFBBADENT -10 /* Unknown terminal type */
493 #define MFBBADMCF -20 /* Can't open mfbcap file */
494 #define MFBMCELNG -30 /* MFBCAP entry too long */
495 #define MFBBADMCE -40 /* Bad mfbcap entry */
496 #define MFBINFMCE -50 /* Infinite mfbcap entry */
497 #define MFBBADTTY -60 /* stdout not in /dev */
498 #define MFBBADLST -70 /* Illegal line style */
499 #define MFBBADFST -80 /* Illegal fill style */
500 #define MFBBADCST -90 /* Illegal color style */
501 #define MFBBADTM1 -100 /* No destructive text */
502 #define MFBBADTM2 -110 /* No overstriking text */
503 #define MFBNODFLP -120 /* No definable line styles */
504 #define MFBNODFFP -130 /* No definable fill styles */
505 #define MFBNODFCO -140 /* No definable colors */
506 #define MFBNOBLNK -150 /* No blinkers */
507 #define MFBTMBLNK -160 /* Too many blinkers */
508 #define MFBNOMASK -170 /* No definable read or write mask */
509 #define MFBBADDEV -180 /* Can't open or close device */
510 #define MFBBADOPT -190 /* Can't access or set device stat */
511 #define MFBBADWRT -200 /* Error in write */
512 #define MFBPNTERR -210 /* Error in pointing device */
513 #define MFBNOPTFT -220 /* No format for pointing device */
514 #define MFBNOPNT -230 /* No pointing device */
515 #define MFBNORBND -240 /* No Rubberbanding */
516 #define MFBBADALU -250 /* Cannot set ALU mode */
517 #define MFBNOMEM -260 /* Out of memory */
518 
519 
520 /* Defines for MFBInfo */
521 #define MAXX 1 /* max x coordinate */
522 #define MAXY 2 /* max y coordinate */
523 #define MAXCOLORS 3 /* max number of colors */
524 #define MAXINTENSITY 4 /* max color intensity */
525 #define MAXFILLPATTERNS 5 /* max number of fill patterns */
526 #define MAXLINESTYLES 6 /* max number of line styles */
527 #define MAXBLINKERS 7 /* max number of blinkers */
528 #define POINTINGDEVICE 8 /* Bool: terminal has pointing device */
529 #define POINTINGBUTTONS 9 /* Bool: pointing device has buttons */
530 #define NUMBUTTONS 10 /* number of pointing device buttons */
531 #define BUTTON1 11 /* button value returned by button 1 */
532 #define BUTTON2 12 /* button value returned by button 2 */
533 #define BUTTON3 13 /* button value returned by button 3 */
534 #define BUTTON4 14 /* button value returned by button 4 */
535 #define BUTTON5 15 /* button value returned by button 5 */
536 #define BUTTON6 16 /* button value returned by button 6 */
537 #define BUTTON7 17 /* button value returned by button 7 */
538 #define BUTTON8 18 /* button value returned by button 8 */
539 #define BUTTON9 19 /* button value returned by button 9 */
540 #define BUTTON10 20 /* button value returned by button 10 */
541 #define BUTTON11 21 /* button value returned by button 11 */
542 #define BUTTON12 22 /* button value returned by button 12 */
543 #define TEXTPOSITIONALBE 30 /* Bool: accurately positionable text */
544 #define TEXTROTATABLE 31 /* Bool: rotateable text */
545 #define FONTHEIGHT 32 /* font height in pixels */
546 #define FONTWIDTH 33 /* font width in pixels */
547 #define FONTXOFFSET 34 /* font x offset in pixels */
548 #define FONTYOFFSET 35 /* font y offset in pixels */
549 #define DESTRUCTIVETEXT 36 /* Bool: text can be destructive */
550 #define OVERSTRIKETEXT 37 /* Bool: text can be overstrike */
551 #define VLT 38 /* Bool: terminal has VLT */
552 #define BLINKERS 39 /* Bool: terminal has blinkers */
553 #define FILLEDPOLYGONS 40 /* Bool: terminal has filled polygons */
554 #define DEFFILLPATTERNS 41 /* Bool: defineable fill patterns */
555 #define DEFCHANNELMASK 42 /* Bool: defineable write mask */
556 #define DEFLINEPATTERN 43 /* Bool: defineable line styles */
557 #define CURFGCOLOR 44 /* current foreground color */
558 #define CURFILLPATTERN 45 /* current fill pattern */
559 #define CURLINESTYLE 46 /* current line style */
560 #define CURCHANNELMASK 47 /* current write mask */
561 #define CURREADMASK 48 /* current read mask */
562 #define NUMBITPLANES 49 /* number of bit planes */
563 #define DEFREADMASK 50 /* Bool: definable read mask */
564 #define RASTERCOPY 51 /* Bool: terminal has raster copy */
565 #define OFFSCREENX 52 /* left value of off screen memory */
566 #define OFFSCREENY 53 /* bottom value of off screen memory */
567 #define OFFSCREENDX 54 /* length of off screen memory */
568 #define OFFSCREENDY 55 /* width of off screen memory */
569 
570 
571 #ifdef _STDC__
572 
573 /* Library routines used in spice */
574 extern void MFBArc(int,int,int,int,int,int);
575 extern void MFBBox(int,int,int,int);
576 extern int MFBClose(void);
577 extern int MFBDefineColor(int,int,int,int);
578 extern int MFBDefineLineStyle(int,int);
579 extern void MFBDrawLineTo(int,int);
580 extern char *MFBError(int);
581 extern void MFBFlood(void);
582 extern int MFBGetchar(void);
583 extern int MFBHalt(void);
584 extern int MFBInfo(int);
585 extern int MFBInitialize(void);
586 extern void MFBLine(int,int,int,int);
587 extern void MFBMoveTo(int,int);
588 extern MFB *MFBOpen(char*,char*,int*);
589 extern void MFBPixel(int,int);
590 extern int MFBPoint(int*,int*,int*,int*);
591 extern void MFBPolygon(MFBPOLYGON*);
592 extern int MFBSetALUMode(int);
593 extern int MFBSetBlinker(int,int,int,int,int);
594 extern int MFBSetColor(int);
595 extern int MFBSetCursorColor(int,int);
596 extern int MFBSetLineStyle(int);
597 extern int MFBSetTextMode(Bool);
598 extern void MFBText(char*,int,int,int);
599 extern int MFBUpdate(void);
600 
601 #else
602 
603 /* Library routines */
604 extern void MFBArc();
605 extern void MFBBox();
606 extern int MFBClose();
607 extern int MFBDefineColor();
608 extern int MFBDefineLineStyle();
609 extern void MFBDrawLineTo();
610 extern char *MFBError();
611 extern void MFBFlood();
612 extern int MFBGetchar();
613 extern int MFBHalt();
614 extern int MFBInfo();
615 extern int MFBInitialize();
616 extern void MFBLine();
617 extern void MFBMoveTo();
618 extern MFB *MFBOpen();
619 extern void MFBPixel();
620 extern int MFBPoint();
621 extern void MFBPolygon();
622 extern int MFBSetALUMode();
623 extern int MFBSetBlinker();
624 extern int MFBSetColor();
625 extern int MFBSetCursorColor();
626 extern int MFBSetLineStyle();
627 extern int MFBSetTextMode();
628 extern void MFBText();
629 extern int MFBUpdate();
630 
631 #endif
632 
633 
634 #ifdef HAVE_PCTERM
635 #ifdef __STDC__
636 /* Nonstandard library routines */
637 extern void MFBDrawCursor(int,int); /* save background, draw marker */
638 extern void MFBEraseCursor(int,int); /* restore background */
639 extern int MFBGetPixel(int,int); /* get pixel color */
640 extern void MFBPointerClose(void); /* close pointing device */
641 extern void MFBPointerInit(void); /* initialize pointing device */
642 extern void MFBScaledText(char*,int,int,int,int);/* text with big pixels */
643 extern int MFBSetGhost(void(*)(int,int,int,int),int,int);
644  /* moving image, follows cursor */
645 extern void MFBSetTextClip(int,int,int,int);/* clipping box for text */
646 extern void MFBTextBB(char*,int*,int*); /* get pix wid and ht of string */
647 
648 #else
649 
650 /* Nonstandard library routines */
651 extern void MFBDrawCursor(); /* save background, draw marker */
652 extern void MFBEraseCursor(); /* restore background */
653 extern int MFBGetPixel(); /* get pixel color */
654 extern void MFBPointerClose(); /* close pointing device */
655 extern void MFBPointerInit(); /* initialize pointing device */
656 extern void MFBScaledText(); /* text with big pixels */
657 extern int MFBSetGhost(); /* moving image, follows cursor */
658 extern void MFBSetTextClip(); /* clipping box for text */
659 extern void MFBTextBB(); /* get pix wid and ht of string */
660 #endif
661 #endif /* HAVE_PCTERM */
int maxFillPatterns
Definition: mfb.h:262
char * drawBoxSequence
Definition: mfb.h:177
char * channelMaskSet
Definition: mfb.h:151
VIEWPORT currentViewport
Definition: mfb.h:360
Bool textRotateBool
Definition: mfb.h:333
int lineStyle
Definition: mfb.h:269
int offScreenDX
Definition: mfb.h:230
int keyboardYOffset
Definition: mfb.h:242
void MFBDrawCursor(int x, int y)
Definition: mfbmark.c:26
char gEntBuf[BUFSIZE]
Definition: mfb.h:86
char * screenFlood
Definition: mfb.h:149
char * enableRubberBanding
Definition: mfb.h:155
int MFBGetPixel(int x, int y)
Definition: mfbgetpx.c:13
int maxLineStyles
Definition: mfb.h:247
int MFBClose()
Definition: mfbopen.c:193
Bool keyboardBool
Definition: mfb.h:322
Bool readMaskBool
Definition: mfb.h:314
MFBSAVETTYB kybrdTtyb
Definition: mfb.h:366
char * lineDefineStart
Definition: mfb.h:166
char * fillDefineEnd
Definition: mfb.h:209
int kybrdttyw
Definition: mfb.h:134
int MFBInitialize()
Definition: mfbopen.c:168
int graphttyw
Definition: mfb.h:133
double width
Definition: mfb.h:99
int numTtyBuffer
Definition: mfb.h:277
int errnum
Definition: mfb.h:384
int readMask
Definition: mfb.h:271
int right
Definition: mfb.h:96
int lineDefineLength
Definition: mfb.h:246
char * replaceON
Definition: mfb.h:190
int numberOfButtons
Definition: mfb.h:239
int maxIntensity
Definition: mfb.h:234
char * audio
Definition: mfb.h:164
int MFBSetTextMode()
int fillDefineWidth
Definition: mfb.h:261
char * keyboardBackspace
Definition: mfb.h:163
int fillDefineHeight
Definition: mfb.h:260
int nvertices
Definition: mfb.h:105
int MFBDefineColor()
Bool initializedBool
Definition: mfb.h:306
char * rastCopyEnd
Definition: mfb.h:203
int MFBSetBlinker()
int fgColorId
Definition: mfb.h:267
char * disableRubberBanding
Definition: mfb.h:157
char * rastCopyDest
Definition: mfb.h:204
int fontWidth
Definition: mfb.h:251
char * drawLineSequence
Definition: mfb.h:172
char * vltEntry
Definition: mfb.h:147
int MFBInfo()
int keyboardXOffset
Definition: mfb.h:243
int maxColors
Definition: mfb.h:227
char * name
Definition: mfb.h:291
void MFBSetTextClip(int xl, int yl, int xu, int yu)
Definition: mfbtext.c:27
void MFBTextBB(char *string, int *len, int *hei)
Definition: mfbtext.c:40
Bool buttonsBool
Definition: mfb.h:318
int minOffScreenX
Definition: mfb.h:228
char * setLineStyle
Definition: mfb.h:169
int sumLineLength
Definition: mfb.h:283
Bool litout
Definition: mfb.h:349
char * rastCopyStart
Definition: mfb.h:202
char * graphicsTextEnd
Definition: mfb.h:189
char * setFillPattern
Definition: mfb.h:210
MFBSAVESTAT oldstat
Definition: mfb.h:369
Bool channelMaskBool
Definition: mfb.h:313
int MFBSetGhost(void(*callback)(), int x, int y)
Definition: mfbopen.c:458
int Z
Definition: mfb.h:222
Bool linePatternDefineBool
Definition: mfb.h:325
int fontXOffset
Definition: mfb.h:252
MFB * MFBOpen()
long X
Definition: actions.c:450
char * MFBError()
Bool textPositionableBool
Definition: mfb.h:332
char * message
Definition: mfb.h:385
char * setALUEOR
Definition: mfb.h:194
int MFBSetLineStyle()
Bool vltUseHLSBool
Definition: mfb.h:310
char * endSequence
Definition: mfb.h:142
Bool
Definition: mfb.h:18
Definition: mfb.h:215
char * sendPlygnVertex
Definition: mfb.h:182
char * drawSolidBoxSequence
Definition: mfb.h:178
char * drawCircleSequence
Definition: mfb.h:185
int fileDesc
Definition: mfb.h:276
char * setSolidFillPattern
Definition: mfb.h:211
char * beginSolidPlygnSequence
Definition: mfb.h:181
int maxX
Definition: mfb.h:225
MFBSAVETTYB graphTtyb
Definition: mfb.h:363
char * terminalName
Definition: mfb.h:292
void MFBText()
void MFBScaledText(char *s, int x, int y, int r, int sc)
Definition: mfbtext.c:67
int lastY
Definition: mfb.h:221
int fontYOffset
Definition: mfb.h:253
char * enablePointingDevice
Definition: mfb.h:154
char * blinkerON
Definition: mfb.h:199
int MFBPoint()
void MFBLine()
int MFBGetchar()
Definition: mfbopen.c:259
#define TTYBUFSIZE
Definition: mfb.h:84
char * disablePointingDevice
Definition: mfb.h:156
char * beginPlygnSequence
Definition: mfb.h:180
int fillPattern
Definition: mfb.h:268
void MFBPointerInit()
Definition: mfbcursr.c:440
char * lineDefineFormat
Definition: mfb.h:167
char * rastCopySource
Definition: mfb.h:205
char * drawSolidLineToSequence
Definition: mfb.h:175
int MFBSetALUMode()
Bool filledPlygnBool
Definition: mfb.h:329
char * setALUNOR
Definition: mfb.h:195
int fontHeight
Definition: mfb.h:250
Definition: mfb.h:104
double length
Definition: mfb.h:99
void MFBPointerClose()
Definition: mfbcursr.c:481
char * lineDefineEnd
Definition: mfb.h:168
int channelMask
Definition: mfb.h:270
int MFBSetColor()
void MFBDrawLineTo()
void MFBPixel()
int maxY
Definition: mfb.h:226
int oldttyb
Definition: mfb.h:125
int minOffScreenY
Definition: mfb.h:229
int nChars
Definition: mfb.h:281
char * fillDefineStart
Definition: mfb.h:207
char * setALUOR
Definition: mfb.h:196
void MFBFlood()
Definition: mfbflood.c:21
char * endPlygnSequence
Definition: mfb.h:183
int cursorColor2Id
Definition: mfb.h:266
MFB * MFBCurrent
Definition: mfbopen.c:13
char * overstrikeON
Definition: mfb.h:191
int sumBoxArea
Definition: mfb.h:282
char * blinkerOFF
Definition: mfb.h:200
Bool ttyIsSet
Definition: mfb.h:351
int textMode
Definition: mfb.h:272
void MFBArc()
char * graphicsTextStart
Definition: mfb.h:188
Bool readImmediateBool
Definition: mfb.h:319
int MFBSetCursorColor()
char * setForegroundColor
Definition: mfb.h:148
int MFBDefineLineStyle()
int numBlinkers
Definition: mfb.h:273
char * drawSolidLineSequence
Definition: mfb.h:173
char deviceType
Definition: mfb.h:375
int MFBUpdate()
Definition: mfbopen.c:252
Bool rastRSCSFBool
Definition: mfb.h:342
Bool raw
Definition: mfb.h:350
char * setSolidLineStyle
Definition: mfb.h:170
char * readPointingDevice
Definition: mfb.h:158
int top
Definition: mfb.h:97
Bool reissueLineStyleBool
Definition: mfb.h:326
Definition: mfb.h:383
int MFBHalt()
Definition: mfbopen.c:232
char * formatPointingDevice
Definition: mfb.h:159
int lengthOfVLT
Definition: mfb.h:235
Definition: mfb.h:94
int cursorColor1Id
Definition: mfb.h:265
void MFBMoveTo()
int maxBlinkers
Definition: mfb.h:257
void MFBPolygon()
char * writePixel
Definition: mfb.h:192
#define BUFSIZE
Definition: mfb.h:29
char * keyboardStart
Definition: mfb.h:161
char * initColorStyles
Definition: mfb.h:145
char * rotateTextSequence
Definition: mfb.h:187
Bool replaceTextBool
Definition: mfb.h:334
Bool blinkersBool
Definition: mfb.h:338
Bool rastCopyBool
Definition: mfb.h:341
void MFBBox()
char * initFillPatterns
Definition: mfb.h:144
void MFBEraseCursor(int x, int y)
Definition: mfbmark.c:48
char * fillDefineFormat
Definition: mfb.h:208
WINDOW currentWindow
Definition: mfb.h:359
int left
Definition: mfb.h:95
long Y
Definition: actions.c:450
Bool vltBool
Definition: mfb.h:309
int bottom
Definition: mfb.h:98
char * keyboardEnd
Definition: mfb.h:162
char * setALUJAM
Definition: mfb.h:197
char * readMaskSet
Definition: mfb.h:152
char * startSequence
Definition: mfb.h:141
int offScreenDY
Definition: mfb.h:231
char * drawLineToSequence
Definition: mfb.h:174
Bool fillDefineRowMajorBool
Definition: mfb.h:346
char * initLineStyles
Definition: mfb.h:143
char * movePenSequence
Definition: mfb.h:171
int * xy
Definition: mfb.h:106
Bool PointingDeviceBool
Definition: mfb.h:317
Bool fillPtrnDefineBool
Definition: mfb.h:345
Bool overstrikeTextBool
Definition: mfb.h:335