📄 mfbcap.0
字号:
FDE=D$<#90>, POD, PDR=\E*s4\^\021, PDS=\E*dK, PRBON=\E*dM, PRBOFF=\E*dN, PDF=\+%d\,%X\+%d\,%Y%3%Z%c, PDE=\021\E*dL, Capabilities in _M_F_B_C_A_P are of three types: Boolean capabili- ties which indicate that the terminal has some particular feature, numeric capabilities giving the size of the termi- nal, and string capabilities which give a sequence that can be used to perform particular terminal operations. 5MFBCAP(5) 6/21/83 Types of Capabilities All capabilities have an identifying code. For instance, because the HP2648 has "accurately positionable text" ( _i._e., graphics text may be positioned with lower left corner at any pixel on the screen ) is indicated by the boolean APT. Hence the description of the HP2648 includes APT. Numeric capabilities are followed by the character `#' and then the value. Thus MXC which specifies the maximum value of the X coordinate on the terminal viewport gives the value `719' for the HP2648. Formatting String Capabilities String variables have a formatting capability to be used for encoding numbers into ASCII strings and decoding ASCII strings into numbers. An example of the former is the capa- bility DBS ( for Draw Box Sequence ), which takes four numbers (X, Y, Z, and T) and generates the proper sequence to draw a box from the lower left corner (X,Y) to the upper right corner (Z,T). An example of a string decode is the capability PDF ( for Pointing Device Format ), which takes an ASCII string from the input stream and extracts from it an x and y coordinate, a key (if one was pushed) and a but- tonmask (if a cursor button was pushed). String Formatting The string variables have a formatting capability which uses four variables (X, Y, Z, and T) to generate a formated string (with _M_F_B_G_e_n_C_o_d_e), or generates four variables (X, Y, Z, and T) from a formated string (with _M_F_B_D_e_c_o_d_e). Two tem- porary registers represented by the letters R and r are available. All operations begin with a percent sign `%', and they are listed below: Com Command Description encode/(decode) %X set value/(X variable) to the X variable/(value). %Y set value/(Y variable) to the Y variable/(value). %Z set value/(Z variable) to the Z variable/(value). %T set value/(T variable) to the T variable/(value). %C set value to the current foreground color ID. %F set value to the current fill pattern ID. %L set value to the current line style ID. %d output/(input) value in variable length decimal format %2 output/(input) value converting to/(from) two decimal digits. %3 output/(input) value converting to/(from) three decimal digits. %c output/(input) least significant byte of value withoutconversions. %h1 output/(input) least significant four bits converting to/(from) one ASCII hex character. %h2 output/(input) least significant byte66/21/83 MFBCAP(5) converting to/(from) two ASCII hex characters. %h3 output/(input) least significant twelve bits converting to/(from) three ASCII hex characters. %h4 output/(input) least significant sixteen bits converting to/(from) four ASCII hex characters. %o1 output/(input) least significant three bits converting to/(from) one ASCII octal character. %o2 output/(input) least significant six bits converting to/(from) two ASCII octal characters. %o3 output/(input) least significant nine bits converting to/(from) three ASCII octal characters. %o4 output/(input) least significant twelve bits converting to/(from) four ASCII octal characters. %o5 output/(input) least significant fifteen bits converting to/(from) five ASCII octal characters. %o6 output/(input) least significant sixteen bits converting to/(from) six ASCII octal characters. %t1 output/(input) X and Y in Tektronix format. %t2 output/(input) Z and T in Tektronix format. %t3 output X and R in Tektronix format (MFBGenCode only). %t4 output R and Y in Tektronix format (MFBGenCode only). %t5 output R and r in Tektronix format (MFBGenCode only). %ti output/(input) value in Tektronix integer format. %tr output value in Tektronix real format. %R store/(retrieve) value in temporary register 1. %r store/(retrieve) value in temporary register 2. %+x add x to value. %-x subtract x from value. %*x multiply value by x. %/x divide value by x. %>>x shift value right by x bits. %<<x shift value left by x bits. %|x OR x with value. %&x AND x with value. %^x EOR x with value. %=x set value equal to x. %ax set value equal to the absolute value of x. %~ Complement value ( 1's complement ). %@ output a single null character (MFBGenCode only). %% gives `%`. %B BCD (2 decimal digits encoded in one byte). %D Delta Data (backwards bcd). Where x can be: (1) One byte - the numeric value of this byte is used as x. (2) The character "#" followed by a decimal integer value for x. (3) The character "%" followed by C, F, L, X, Y, Z, T, r, or R - the value of C, F, L, X, Y, Z, T, r or R is used. 7MFBCAP(5) 6/21/83 The command formats are similar to those found in _t_e_r_m_c_a_p(_5) or _t_e_r_m_i_n_f_o(_5), but are more complicated due to the more rigorous requirements of graphics terminals. Preparing Descriptions We now outline how to prepare _M_F_B_C_A_P descriptions of graph- ics terminals. The most effective way to prepare a terminal description is to build up a description gradually, using partial descriptions with simple _m_f_b(_3) test routines to check that they are correct. Be aware that a very unusual terminal may expose deficiencies in the ability of the _M_F_B_C_A_P file to describe it. To easily test a new terminal description you can set the environment variable MFBCAP to a pathname of a file containing the description you are work- ing on. After setting the environment variable, any program that uses _m_f_b(_3), _e._g., _k_i_c, will look at the pathname defined by the environment variable instead of ~_c_a_d/_l_i_b/_m_f_b_c_a_p. Delays Delays may be embedded anywhere in a string capability and is distinguished by the $< and > brackets. The number con- tained within these brackets describes the delay in mil- liseconds to be generated and must conform to the above description for the variable 'x' ( _e._g., an integer constant must be preceded by the character "#"). Before each delay, the output buffer is flushed. Basic Capabilities The number of pixels on a horizontal row of the display is given by the MXC numeric capability, and the number of pix- els in a vertical column is given by the MXY capability. The number of colors available on the display is specified by the MCL capability. For black and white terminals, such as the HP2648, the MCL capability is defined as two. The maximum number of stipple fill patterns and line styles is given by the MFP and MLS numeric capabilities respectively. Off screen memory refers to an area of the viewport in pixel coordinates which is not displayed. The lower, left corner of the off screen memory is specified by the OFFMX and OFFMY numeric capabilities. The horizontal length of the off screen memory is specified by the OFFDX numeric capability, and the vertical width of the off screen memory is specified by the OFFDY numeric capability. _M_F_B_C_A_P allows two sequences for initializing and uninitial- izing the terminal. The first initialization string sent to the terminal is given by the GIS format string. This will86/21/83 MFBCAP(5) be the first sequence sent to the graphics device. The graphics finish/termination string is given by the GFS for- mat string. This will be the last sequence sent to the graphics device. The initialization character sequences for color styles, fill styles, and line styles are defined respectively by the ICS, IFP, and ILS format strings. The sequence to ring the terminals bell or alarm is defined by the BELL string and defaults to control-G. Setting Colors and Styles The character sequence for setting the current foreground color is defined by the SCS format string. All subsequent geometries will be drawn in this color. The format for set- ting the current line style is given by the SLS format string, and the format for setting the current fill style is given by the SFP format string. All subsequent lines, boxes, and polygons will be drawn with these styles. _M_F_B_C_A_P assumes that style zero defines a solid line and fill pat- tern. If this is not the case for a particular frame buffer, or the format for setting a solid line or fill style is inconsistent with that for other line styles, such as is the case for the HP9872, a character sequence for setting the solid line or fill style is defined by the SSLS and SSFP format strings respectively. If it is necessary for the current line style to be reissued before a line is drawn (as is the case for the HP 2648), then the RLS boolean must be present in the _M_F_B_C_A_P entry. Basic Geometries The character sequence for moving the current graphics posi- tion to a x,y pixel coordinate is defined by the MPS format string. The format for drawing a line in the current line style from the current graphics position to a x,y pixel coordinate is defined by the DLT format string. The charac- ter sequence to draw a line in the current line style from a x,y pixel coordinate to a z,t pixel coordinate is defined by the DLS format string. If the command for drawing a solid line is different from that for a non-solid line, the char- acter sequence to draw a solid line from a x,y pixel coordi- nate to a z,t pixel coordinate may be defined by the DSL string capability. The format for drawing a solid line from the current graphics position to a x,y pixel coordinate is defined by the DSLT format string. The sequence for drawing a box in the current foreground color from the lower left x,y pixel coordinate to the upper right z,t pixel coordinate is specified by the DBS format 9MFBCAP(5) 6/21/83 string. Because some terminals, such as the Tektronix 4113, have special raster commands for drawing solid boxes, a for- mat for drawing solid boxes may be specified by the DSB for- mat string. The format for setting a pixel in the current color at the x,y pixel coordinate is defined by the WPX format string. The format for drawing a circle with its center at the x,y pixel coordinate and having a radius of z pixels is defined by the DCS format string. The format for clearing the entire screen to the current color is given by the GCS format string. If there is no such command sequence, it may be substituted by the command sequence that will write a solid box in the current color over the entire screen.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -