Name: SHDPAT 12 SHDPAT selects shading patterns used by routines such as SHDCRV and AREAF. The call is: CALL SHDPAT (IPAT) level 1, 2, 3 or: void shdpat (long ipat); IPAT is an integer between 0 and 17. Name: MYPAT 12 MYPAT defines a global shading pattern. The call is: CALL MYPAT (IANG, ITYPE, IDENS, ICROSS) level 1, 2, 3 or: void mypat (int iang, int itype, int idens, int icross); IANG is the angle of shading lines (0 - 179). ITYPE defines the type of shading lines: = 0 no shading lines. = 1 equidistant lines. = 2 double shading lines. = 3 triple shading lines. = 4 thick shading lines. = 5 dotted lines. = 6 dashed lines. = 7 dashed-dotted lines. IDENS defines the distance between shading lines (0: small distance, 9: big distance). ICROSS indicates whether shading lines are hatched (0: not hatched, 1: hatched). Examples: The following calls to MYPAT show the predefined shading patterns used by SHDPAT: IPAT = 0: CALL MYPAT ( 0, 0, 0, 0) IPAT = 1: CALL MYPAT ( 45, 1, 5, 0) IPAT = 2: CALL MYPAT (150, 4, 5, 0) IPAT = 3: CALL MYPAT (135, 1, 5, 0) IPAT = 4: CALL MYPAT ( 45, 4, 5, 0) IPAT = 5: CALL MYPAT ( 45, 1, 5, 1) IPAT = 6: CALL MYPAT (135, 2, 1, 0) IPAT = 7: CALL MYPAT ( 45, 4, 5, 1) IPAT = 8: CALL MYPAT ( 30, 1, 4, 0) IPAT = 9: CALL MYPAT ( 45, 2, 1, 1) IPAT = 10: CALL MYPAT ( 0, 1, 5, 1) IPAT = 11: CALL MYPAT ( 45, 3, 1, 0) IPAT = 12: CALL MYPAT ( 70, 4, 7, 0) IPAT = 13: CALL MYPAT ( 45, 3, 1, 1) IPAT = 14: CALL MYPAT ( 0, 4, 5, 1) IPAT = 15: CALL MYPAT ( 45, 2, 1, 0) IPAT = 16: CALL MYPAT ( 0, 1, 0, 0) IPAT = 17: CALL MYPAT ( 0, 5, 5, 0) Name: NOARLN 17 With the routine NOARLN the outlines of shaded regions can be suppressed. The call is: CALL NOARLN level 1, 2, 3 or: void noarln (); Name: HWMODE 17 The routine HWMODE enables or disables hardware features for the line width and for shading patterns. The call is: CALL HWMODE (CMOD, CKEY) level 1, 2, 3 CMOD is a character string that can have the values 'ON' and 'OFF'. CKEY is a character string that can have the values 'LINE' and 'SHADING'. Default: ('ON', 'LINE'), ('ON', 'SHADING'). Name: SHDFAC 17 The routine SHDFAC sets a scaling factor for the distance of scan lines for software shading. The call is: CALL SHDFAC (XFAC) level 1, 2, 3 XFAC is the scaling factor (> 0.0). Default: 1.0 Name: LINCYC 13 LINCYC changes the line style cycle. The call is: CALL LINCYC (INDEX, ITYP) level 1, 2, 3 or: void lincyc (int index, int ityp); INDEX is an index between 1 and 30. ITYP is an integer between 0 and 7 containing the line style (0 = SOLID, 1 = DOT, 2 = DASH, 3 = CHNDSH, 4 = CHNDOT, 5 = DASHM, 6 = DOTL, 7 = DASHL). Name: CLRCYC 13 CLRCYC changes the colour cycle. The call is: CALL CLRCYC (INDEX, ICLR) level 1, 2, 3 or: void clrcyc (int index, int iclr); INDEX is an index between 1 and 30. ICLR is a colour value (see SETCLR). Name: PATCYC 13 PATCYC changes the shading pattern cycle. The call is: CALL PATCYC (INDEX, IPAT) level 1, 2, 3 or: void patcyc (int index, long ipat); INDEX is an index between 1 and 30. IPAT is a pattern number between 0 and 17 or is deter- mined by the formula IANGLE * 1000 + ITYPE * 100 + IDENS * 10 + ICROSS with the parameters described in MYPAT. Name: TRFSHF 14 TRFSHF affects the shifting of plot vectors. The call is: CALL TRFSHF (NXSHFT, NYSHFT) level 1, 2, 3 or: void trfshf (int nxshft, int nyshft); NXSHFT, NYSHFT are plot coordinates that define the magnitude of shifting in the X- and Y-direction. Name: TRFSCL 14 TRFSCL affects the scaling of plot vectors. The call is: CALL TRFSCL (XSCL, YSCL) level 1, 2, 3 or: void trfscl (float xscl, float yscl); XSCL, YSCL are scaling factors for the X- and Y-direction. Name: TRFROT 14 TRFROT affects the rotation of plot vectors around a point. The call is: CALL TRFROT (XANG, NX, NY) level 1, 2, 3 or: void trfrot (float xang, int nx, int ny); XANG is the rotation angle measured in degrees in a counter-clockwise direction. NX, NY are the plot coordinates of the rotation point. Name: TRFRES 14 TRFRES resets base transformations. The call is: CALL TRFRES level 1, 2, 3 or: void trfres (); Name: SHIELD 15 SHIELD selects shielded regions which are set automatically by DISLIN. The call is: CALL SHIELD (CAREA, CMODE) level 1, 2, 3 or: void shield (const char *carea, const char *cmode); CAREA is a character string defining the regions: = 'MESSAG' is used for text and numbers plotted by MESSAG and NUMBER. = 'SYMBOL' will shield symbols. = 'BARS' will shield bars plotted by BARS. = 'PIE' will shield pie segments plotted by PIEGRF. = 'LEGEND' will protect legends. All legend attributes should be set before calling CURVE because the shielded region of a legend is defined by CURVE. If there is no legend position defined with LEGPOS, CURVE assumes that the legend lies in the upper right corner of the axis system. CMODE is a character string defining a status: = 'ON' means that the regions defined above will be writ- ten to the shielding buffer and are protected. = 'OFF' means that regions will not be written to the shielding buffer. Regions that are still stored in the buffer will be shielded. = 'DELETE' removes regions from the shielding buffer. = 'RESET' is a combination of 'OFF' and 'DELETE'. Regions are removed from and will not be written to the shielding buffer. To save computing time, this command should always be used when shielding is no longer needed. = 'NOVIS' The shielding of regions held in the shielding buffer is disabled. This is not valid for regions newly written to the buffer. = 'VIS' Disabled regions will be protected. This is the default value for regions newly written to the buffer. Notes: - A frame is plotted around regions defined by the user. The thickness of frames can be set with FRAME. Regions defined automatically by DISLIN are not enclosed by a frame but frames plotted by MESSAG after using FRMESS and shielded regions de- fined by MESSAG are identical. - Shielded regions can overlap each other. - The statement CALL RESET ('SHIELD') resets shiel- ding. All regions defined by DISLIN and the user are removed from the shielding buffer and no new regions will be written to the buffer. - The number of shielded regions is limited to the size of the shielding buffer which is set to 1000 words. The number of words used by regions are: SHLREC = 6, SHLRCT = 7, SHLCIR = 5, SHLELL = 7, SHLPIE = 7 and SHLPOL = 2*N+3. - Shielding of regions is computer intensive. There- fore, shielding should be used very carefully and shielded regions should be deleted from the buffer when no longer needed. - Base transformations do not affect the position of shielded regions. - SHLPOL can be used between the routines GRFINI and GRFFIN. The shielded region will be projected into 3-D space. This is not valid for other shiel- ded regions. Name: SHLREC 15 The routine SHLREC protects rectangles from being overwritten. The call is: CALL SHLREC (NX, NY, NW, NH) level 1, 2, 3 or: void shlrec (int nx, int ny, int nw, int nh); NX, NY are plot coordinates of the upper left corner. NW, NH are the width and height in plot coordinates. Name: SHLRCT 15 The routine SHLRCT protects rotated rectangles from being over- written. The call is: CALL SHLRCT (NX, NY, NW, NH, A) level 1, 2, 3 or: void shlrct (int nx, int ny, int nw, int nh, float a); NX, NY are plot coordinates of the upper left corner. NW, NH are the width and height in plot coordinates. A is a rotation angle measured in degrees in a counter-clockwise direction. Name: SHLCIR 15 The routine SHLCIR protects circles from being overwritten. The call is: CALL SHLCIR (NX, NY, NR) level 1, 2, 3 or: void shlcir (int nx, int ny, int nr); NX, NY are plot coordinates of centre point. NR is the radius in plot coordinates. Name: SHLELL 15 The routine SHLELL protects rotated ellipses from being over- written. The call is: CALL SHLELL (NX, NY, NA, NB, A) level 1, 2, 3 or: void shlell (int nx, int ny, int na, int nb, float a); NX, NY are plot coordinates of centre point. NA, NB are the radii in plot coordinates. A is a rotation angle measured in degrees in a counter-clockwise direction. Name: SHLPIE 15 The routine SHLPIE protects pie segments from being overwritten. The call is: CALL SHLPIE (NX, NY, NR, A, B) level 1, 2, 3 or: void shlpie (int nx, int ny, int nr, float a, float b); NX, NY are plot coordinates of centre point. NR is the radius in plot coordinates. A, B are starting and ending angles for pie segments measured in degrees in a counter-clockwise direc- tion. Name: SHLPOL 15 The routine SHLPOL protects polygons from being overwritten. The call is: CALL SHLPOL (NXRAY, NYRAY, N) level 1, 2, 3 or: void shlpol (const int *nxray, const int *nyray, int n); NXRAY, NYRAY are arrays containing the plot coordinates of the corner points. Start and end points can be diffe- rent. N is the number of points. Name: SHLIND 15 The index of shielded regions in the buffer can be requested with SHLIND. It returns the index of the region last written to the buffer. The call is: CALL SHLIND (ID) level 1, 2, 3 or: int shlind (); ID is the returned index. Name: SHLDEL 15 SHLDEL removes entries from the shielding buffer. The call is: CALL SHLDEL (ID) level 1, 2, 3 or: void shldel (int id); ID is the index of a shielded region. If ID is 0, all regions defined by the user will be deleted. Name: SHLRES 15 SHLRES deletes regions last written to the shielding buffer. The call is: CALL SHLRES (N) level 1, 2, 3 or: void shlres (int n); N is the number of regions to delete. Name: SHLVIS 15 SHLVIS disables or enables shielded regions. Disabled regions are no longer protected but are still held in the shielding buf- fer. The call is: CALL SHLVIS (ID, CMODE) level 1, 2, 3 or: void shlvis (int id, const char *cmode); ID is the index of a shielded region. If ID is 0, all entries are disabled or enabled. CMODE = 'ON' enables shielded regions. This is the default va- lue for regions newly written to the buffer. = 'OFF' disables shielded regions.