📄 mfb.h
字号:
Bool reissueLineStyleBool;/* Polygon Drawing */ Bool filledPlygnBool;/* Text font */ Bool textPositionableBool; Bool textRotateBool; Bool replaceTextBool; Bool overstrikeTextBool; /* Blinkers */ Bool blinkersBool;/* Raster Copy */ Bool rastCopyBool; Bool rastRSCSFBool;/* Fill Patterns */ Bool fillPtrnDefineBool; Bool fillDefineRowMajorBool;/* for tty's only */ Bool litout; Bool raw; Bool ttyIsSet; /* * STRUCTURES */ struct mfbformatstrs strings; /* format strings */ WINDOW currentWindow; /* current window */ VIEWPORT currentViewport; /* current viewport */#ifndef vms /* graphics device ttyb struct */ MFBSAVETTYB graphTtyb; /* keyboard ttyb struct if graphics device does not have a kybrd */ MFBSAVETTYB kybrdTtyb; /* tty status ints */ MFBSAVESTAT oldstat;#endif /* * CHARACTERS */ char deviceType; /* TTY=tty, HCOPY=hard copy */ char strBuf[BUFSIZE]; /* storage for format strings */ char ttyBuffer[TTYBUFSIZE]; /* tty output buffer */ };typedef struct mfb MFB;extern MFB *MFBCurrent; /* global FB structure */extern int MFBsaveflg; /* kludgy ungetc */extern struct err { int errnum; char *message; };/* Define Macros for general program usage. */#define TRUE 1#define FALSE 0#define ON 1#define OFF 0/* MFBSetALUMode defines */#define MFBALUJAM 0#define MFBALUOR 1#define MFBALUNOR 2#define MFBALUEOR 3/* ERROR DEFINES */#define MFBOK 1 /* Successful return */#define MFBBADENT -10 /* Unknown terminal type */#define MFBBADMCF -20 /* Can't open mfbcap file */#define MFBMCELNG -30 /* MFBCAP entry too long */#define MFBBADMCE -40 /* Bad mfbcap entry */#define MFBINFMCE -50 /* Infinite mfbcap entry */#define MFBBADTTY -60 /* stdout not in /dev */#define MFBBADLST -70 /* Illegal line style */#define MFBBADFST -80 /* Illegal fill style */#define MFBBADCST -90 /* Illegal color style */#define MFBBADTM1 -100 /* No destructive text */#define MFBBADTM2 -110 /* No overstriking text */#define MFBNODFLP -120 /* No definable line styles */#define MFBNODFFP -130 /* No definable fill styles */#define MFBNODFCO -140 /* No definable colors */#define MFBNOBLNK -150 /* No blinkers */#define MFBTMBLNK -160 /* Too many blinkers */#define MFBBADDEV -180 /* Can't open or close device */#define MFBBADOPT -190 /* Can't access or set device stat */#define MFBNOMASK -170 /* No definable read or write mask */#define MFBBADWRT -200 /* Error in write */#define MFBPNTERR -210 /* Error in pointing device */#define MFBNOPTFT -220 /* No format for pointing device */#define MFBNOPNT -230 /* No pointing device */#define MFBNORBND -240 /* No Rubberbanding */#define MFBBADALU -250 /* Cannot set ALU mode *//* * defines for MFBInfo */#define MAXX 1 /* max x coordinate */#define MAXY 2 /* max y coordinate */#define MAXCOLORS 3 /* max number of colors */#define MAXINTENSITY 4 /* max color intensity */#define MAXFILLPATTERNS 5 /* max number of fill patterns */#define MAXLINESTYLES 6 /* max number of line styles */#define MAXBLINKERS 7 /* max number of blinkers */#define POINTINGDEVICE 8 /* Bool: terminal has pointing device */#define POINTINGBUTTONS 9 /* Bool: pointing device has buttons */#define NUMBUTTONS 10 /* number of pointing device buttons */#define BUTTON1 11 /* button value returned by button 1 */#define BUTTON2 12 /* button value returned by button 2 */#define BUTTON3 13 /* button value returned by button 3 */#define BUTTON4 14 /* button value returned by button 4 */#define BUTTON5 15 /* button value returned by button 5 */#define BUTTON6 16 /* button value returned by button 6 */#define BUTTON7 17 /* button value returned by button 7 */#define BUTTON8 18 /* button value returned by button 8 */#define BUTTON9 19 /* button value returned by button 9 */#define BUTTON10 20 /* button value returned by button 10 */#define BUTTON11 21 /* button value returned by button 11 */#define BUTTON12 22 /* button value returned by button 12 */#define TEXTPOSITIONALBE 30 /* Bool: accurately positionable text */#define TEXTROTATABLE 31 /* Bool: rotateable text */#define FONTHEIGHT 32 /* font height in pixels */#define FONTWIDTH 33 /* font width in pixels */#define FONTXOFFSET 34 /* font x offset in pixels */#define FONTYOFFSET 35 /* font y offset in pixels */#define DESTRUCTIVETEXT 36 /* Bool: text can be destructive */#define OVERSTRIKETEXT 37 /* Bool: text can be overstrike */#define VLT 38 /* Bool: terminal has VLT */#define BLINKERS 39 /* Bool: terminal has blinkers */#define FILLEDPOLYGONS 40 /* Bool: terminal has filled polygons */#define DEFFILLPATTERNS 41 /* Bool: defineable fill patterns */#define DEFCHANNELMASK 42 /* Bool: defineable write mask */#define DEFLINEPATTERN 43 /* Bool: defineable line styles */#define CURFGCOLOR 44 /* current foreground color */#define CURFILLPATTERN 45 /* current fill pattern */#define CURLINESTYLE 46 /* current line style */#define CURCHANNELMASK 47 /* current write mask */#define CURREADMASK 48 /* current read mask */#define NUMBITPLANES 49 /* number of bit planes */#define DEFREADMASK 50 /* Bool: definable read mask */#define RASTERCOPY 51 /* Bool: terminal has raster copy */#define OFFSCREENX 52 /* left value of off screen memory */#define OFFSCREENY 53 /* bottom value of off screen memory */#define OFFSCREENDX 54 /* length of off screen memory */#define OFFSCREENDY 55 /* width of off screen memory */extern int MFBPutchar();extern int MFBPutstr();extern int MFBGetchar();extern int MFBUngetchar();extern int OldGetchar();extern int OldUngetchar();extern int MFBUpdate();extern int MFBFlushInput();extern void MFBAudio();extern void SetCurrentMFB();#ifdef DEBUGextern void MFBZeroCounters();extern void MFBCounters();#endifextern MFB *MFBOpen();extern int MFBInfo();extern int MFBInitialize();extern int MFBInitTTY();extern int MFBClose();extern int MFBHalt();extern int MFBSetLineStyle();extern int MFBSetFillPattern();extern int MFBSetChannelMask();extern int MFBSetReadMask();extern int MFBSetColor();extern int MFBSetTextMode();extern int MFBSetCursorColor();extern int MFBSetBlinker();extern int MFBSetRubberBanding();extern int MFBDefineColor();extern int MFBDefineFillPattern();extern int MFBDefineLineStyle();extern void MFBMoveTo();extern void MFBDrawLineTo();extern void MFBDrawPath();extern void MFBLine();extern void MFBBox();extern void MFBArc();extern void MFBCircle();extern void MFBFlash();extern void MFBPolygon();extern void MFBText();extern void MFBFlood();extern void MFBPixel();extern void MFBRasterCopy();extern MFBPATH *MFBArcPath();extern MFBPOLYGON *MFBEllipse();extern Bool MFBLineClip();extern MFBPATH *MFBClipArc();extern int MFBPoint();extern char *MFBKeyboard();extern char *MFBError();extern void MFBSetViewport();extern void MFBSetWindow();extern void MFB_Y_Intercept();extern void MFB_X_Intercept();extern void MFBPolygonClip();extern void MFBNaiveBoxFill();extern void MFBMore();extern int MFBScaleX();extern int MFBScaleY();extern int MFBDescaleX();extern int MFBDescaleY();/* All MFBCAP defines must be less than zero so they will not clash * with the ASCII character set. */#define MFBCAPOK -10#define MFBCAPNOFORMAT -20#define MFBCAPSYNTAXERR -30/* mfbcap field evaluation */#define mfbarg( cp, Reg, reg, val ) { \ val = (int)(*cp); \ ++cp; \ if(val == '%'){ \ switch(*cp){ \ case 'X': \ val = MFBCurrent->X; \ break; \ case 'Y': \ val = MFBCurrent->Y; \ break; \ case 'Z': \ val = MFBCurrent->Z; \ break; \ case 'T': \ val = MFBCurrent->T; \ break; \ case 'R': \ val = Reg; \ break; \ case 'r': \ val = reg; \ break; \ case 'C': \ val = MFBCurrent->fgColorId; \ break; \ case 'F': \ val = MFBCurrent->fillPattern; \ break; \ case 'L': \ val = MFBCurrent->lineStyle; \ break; \ default: \ --cp; \ break; \ } \ ++cp; \ } \ else if(val == '#'){ \ int iarg; \ val = 0; \ while( (iarg = ((int)(*cp) - 060)) >= 0 && (iarg < 10) ) { \ cp++; val *= 10; val += iarg; \ } \ } \ }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -