📄 mfb.0
字号:
#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 */ void MFBZeroCounters() void MFBCounters(nCh,nBx,BxArea,nLn,LnLngth,nPxl) int *nCh,*nBx,*BxArea,*nLn,*LnLngth,*nPxl; _M_F_B_C_o_u_n_t_e_r_s provides the ability to measure the commun- ications bandwidth between the host and the graphics device. To use these routines, MFB must be compiled with the DEBUG flag defined in the _m_f_b._h file. The procedure is initialized by invoking _M_F_B_Z_e_r_o_- _C_o_u_n_t_e_r_s after which the geometry display routines such as _M_F_B_B_o_x or _M_F_B_L_i_n_e may be called in any order. When _M_F_B_C_o_u_n_t_e_r_s is invoked, it will return the number of graphic text characters _n_C_h that where displayed, the number of boxes _n_B_x displayed, the number of lines _n_L_n displayed, the average pixel area of a box _B_x_A_r_e_a, the average line length _L_n_L_n_g_t_h in pixels, and the total number of pixels _n_P_x_l that where affected. Invocation of _M_F_B_C_o_u_n_t_e_r_s does not clear the the counters. 17MFB(3) 6/21/83THE MFB DATA STRUCTURE The _M_F_B data structure is listed below. #define TTY 't' #define HCOPY 'r' typedef enum {false, true} Bool; struct mfb_window { int left; int right; int top; int bottom; double length,width; }; typedef struct mfb_window WINDOW; typedef struct mfb_window VIEWPORT; struct mfbpath { int nvertices; int *xy; }; typedef struct mfbpath MFBPOLYGON; typedef struct mfbpath MFBPATH; #ifndef vms struct mfbremttyb { struct sgttyb oldttyb; struct sgttyb newttyb; }; struct mfbremstat { int graphttyw; /* old mode bits of graphics device */ int kybrdttyw; /* old mode bits of standard I/O */ struct stat graphstat; /* old fstats of graphics device */ struct stat kybrdstat; /* old fstats of standard I/O */ }; typedef struct mfbremttyb MFBSAVETTYB; typedef struct mfbremstat MFBSAVESTAT; #endif struct mfbformatstrs { char *startSequence; /* first transmitted sequence */ char *endSequence; /* last transmitted sequence */ char *initLineStyles; /* initialize line styles */ char *initFillPatterns; /* initialize fill styles */ char *initColorStyles; /* initialize color styles */186/21/83 MFB(3) char *vltEntry; /* define color in VLT */ char *setForegroundColor; /* set current foreground color */ char *screenFlood; /* flood screen to current color */ char *channelMaskSet; /* set write mask */ char *readMaskSet; /* set read mask */ char *enablePointingDevice; /* initialize pointing device */ char *enableRubberBanding; /* turn on rubber banding */ char *disablePointingDevice; /* disable pointing device and cursor */ char *disableRubberBanding; /* turn off rubber banding */ char *readPointingDevice; /* wait and read pointing device */ char *formatPointingDevice; /* decode format for pointing device */ char *keyboardStart; /* initailize keyboard */ char *keyboardEnd; /* terminate keyboard input */ char *keyboardBackspace; /* keyboard backspace sequence */ char *audio; /* ring the terminals bell */ char *lineDefineStart; /* begin defining a line pattern */ char *lineDefineFormat; /* define bit array of line pattern */ char *lineDefineEnd; /* terminate line pattern definition */ char *setLineStyle; /* set current line style */ char *setSolidLineStyle; /* set current line style to solid */ char *movePenSequence; /* move current graphics position */ char *drawLineSequence; /* draw a line in current style */ char *drawSolidLineSequence; /* draw a solid line */ char *drawLineToSequence; /* move and draw current position */ char *drawSolidLineToSequence; /* move and draw solid line */ char *drawBoxSequence; /* draw box in current style */ char *drawSolidBoxSequence; /* draw a solid box */ char *beginPlygnSequence; /* begin polygon in cur. fill style */ char *beginSolidPlygnSequence; /* begin solid polygon */ char *sendPlygnVertex; /* define one point in polygon */ char *endPlygnSequence; /* terminate polygon sequence */ char *drawCircleSequence; /* draw a circle in solid line style */ char *rotateTextSequence; /* rotate graphic text */ char *graphicsTextStart; /* begin graphic text */ char *graphicsTextEnd; /* terminate graphic text */ char *replaceON; /* turn on destructive text mode */ char *overstrikeON; /* turn on overstriking text mode */ char *writePixel; /* write one pixel in current color */ char *setALUEOR; /* set ALU mode to EOR */ char *setALUNOR; /* set ALU mode to NOR */ char *setALUOR; /* set ALU mode to OR */ char *setALUJAM; /* set ALU mode to JAM or REPLACE */ 19MFB(3) 6/21/83 char *blinkerON; /* make a color blink */ char *blinkerOFF; /* turn off a blinking layer */ char *rastCopyStart; /* begin raster copy sequence */ char *rastCopyEnd; /* terminate raster copy sequence */ char *rastCopyDest; /* define raster copy destionation */ char *rastCopySource; /* define raster copy source area */ char *fillDefineStart; /* begin defining a fill style */ char *fillDefineFormat; /* define bit array of row/column */ char *fillDefineEnd; /* terminate fill style definition */ char *setFillPattern; /* set current fill pattern */ char *setSolidFillPattern; /* set current fill pattern to solid */ }; struct mfb { /* MFB DATA STRUCT */ /* * INTEGERS FIELDS */ /* used for decode */ int lastX,lastY;/* for Tektronix encoding */ int X,Y,Z,T; /* parameter list */ /* Resolution */ int maxX; /* horizontal resolution */ int maxY; /* vertical resolution */ int maxColors; /* maximum number of colors */ int minOffScreenX; /* left of off screen memory */ int minOffScreenY; /* bottom of off screen mem. */ int offScreenDX; /* length of off screen mem. */ int offScreenDY; /* width of off screen mem. */ /* Video Layer Table */ int maxIntensity;/* max RGB or LS intensity */ int lengthOfVLT; /* number of bit planes */ /* Pointing Device */ int buttonMask[12];/* returned button masks */ int numberOfButtons; /* 12 maximum */ /* Keyboard Control */ int keyboardYOffset; int keyboardXOffset; /* Line Drawing */ int lineDefineLength; /* number of bytes in array */ int maxLineStyles; /* number of line styles */ /* Text font */ int fontHeight; /* font height in pixels */ int fontWidth; /* font width in pixels */ int fontXOffset; int fontYOffset; /* Blinkers */ int maxBlinkers; /* number of blinkers */206/21/83 MFB(3) /* Fill Patterns */ int fillDefineHeight; /* number of byte rows */ int fillDefineWidth; /* number of byte columns */ int maxFillPatterns; /* number of fill patterns */ /* Current variables */ int cursorColor1Id;/* blinked cursor color ID */ int cursorColor2Id; /* unblinked cursor color ID */ int fgColorId; /* cur. foreground color ID */ int fillPattern; /* cur. fill pattern ID */ int lineStyle; /* cur. line style ID */ int channelMask; /* cur. write mask */ int readMask; /* cur. read mask */ int numBlinkers; /* cur. number of blinkers */ int textMode; /* text mode (1=dest, 0=rep) */ int stipplePattern[8]; /* cur. stipple pattern */ int fileDesc; /* desc. for graphics device */ int numTtyBuffer; /* cur. chars in output queue */ /* * POINTERS */ /* for tty's only */ char *name;/* device name */ char *terminalName; /* name of MFBCAP entry */ /* I/O routines */ int (*dsply_getchar)(); int (*kybrd_getchar)(); int (*dsply_ungetchar)(); int (*kybrd_ungetchar)(); int (*outchar)(); int (*outstr)(); /* * BOOLEANS */ Bool initializedBool; /* Video Layer Table */ Bool vltBool; Bool vltUseHLSBool; /* Channel Mask */ Bool channelMaskBool; Bool readMaskBool; /* Pointing Device */ Bool PointingDeviceBool; Bool buttonsBool; Bool readImmediateBool; /* Keyboard Control */ Bool keyboardBool; /* Line Drawing */ Bool linePatternDefineBool; Bool reissueLineStyleBool; 21MFB(3) 6/21/83 /* 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 */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -