The following sets of routines are available:
Application Callable Management Routines
Special Purpose Application Callable Routines
Creating Windows when Coding View-Objects
Creating Active Strips when Coding View-Objects
Registering View-Objects and Windows when Coding View-Objects
Getting Items from a View-Objects List when Coding View-Objects
Deleteing a Panel Item when Coding View-Objects
Handling Selections when Coding View-Objects
Outputting Error Messages when Coding View-Objects
Miscellaneous Routines used when Coding View-Objects
These are routines commonly used by the application programmer making use of the xdl_view package. There are routines to initialise the XDL_VIEW package, handle events and delete view-objects. A routine is provided which must be used when passing character strings from a Fortran program. There are further routines to raise and lower windows and get their positions.
The following routines are available:
XDL_VIEW initialisation - xdl_open_view
XDL_VIEW event handling - xdl_get_events
XDL_VIEW event flushing - xdl_flush_events
Delete an XDL_VIEW view-object - xdl_delete_view_object
Pointers list index of a Fortran character string - xdlstr
Get root coordinates - xdl_view_object_rootxy
Raise a view-object - xdl_view_object_raise
Lower a view-object - xdl_view_object_lower
The following defaults are used by xdl_open_view if the font resources are not defined: Normal fonts *adobe-courier-medium-r*--8* *adobe-courier-medium-r*--12* *adobe-courier-medium-r*--14* *adobe-courier-medium-r*--18* *adobe-courier-medium-r*--24* Bold fonts *adobe-courier-bold-r*--8* *adobe-courier-bold-r*--12* *adobe-courier-bold-r*--14* *adobe-courier-bold-r*--18* *adobe-courier-bold-r*--24*
Fortran call: CALL XDLF_OPEN_VIEW (NUMC, NCOLORS, NPLANES, IERR)
Parameters: NUMC (R) No. of colorsets (see numc) NCOLORS (R) Integer array of nos. of colors (see ncolors) NPLANES (R) Integer array of nos. of overlay planes (see nplanes) IERR (W) Returns the status from the xdl_open_view call
'C' call: int xdl_open_view (numc, ncolors, nplanes)
Parameters: int numc; /*Number of colorsets to be allocated in addition to the standard short pallette (may be 0) (R)*/ int ncolors[]; /*Array of 'ncolors' values for the XAllocColorCells routines (numc values) (R)*/ int nplanes[]; /*Array of 'nplanes' values for the XAllocColorCells routines (numc values) (R)*/
Return: =0 if OK, >0 if error: bit 0 set unable to allocate the requested colorsets. (XDL_csets_alloc will be set to 0) non-fatal - view-objects should cope with this case.
Fortran call: CALL XDLF_GET_EVENTS (NUMIVH, IVHLIST, IVH)
Parameters: NUMIVH (R) Number of view-objects to return data (see num-vh) IVHLIST (R) Array of NUMIVH view object handles (see vh_list) IVH (W) Returns the view-object handle of object returning the data (return from xdl_get_events) the data (return from xdl_get_events)
'C' call: int xdl_get_events (num_vh, vh_list)
Parameters: int num_vh; /* Number of view objects from which data are to be returned (may be 0 if no return is required) if -num_vh is given then the routine be in a no wait mode and will return when either input is received or all current events have been flushed (R)*/ int vh_list[]; /* Array of the num_vh view-object handles (R)*/
Return: The view-object handle of the view object returning the data. (May be 0 in no wait mode)
Fortran call: CALL XDLF_FLUSH_EVENTS (IDUM)
Parameters: IDUM (R) Dummy parameter
'C' call: void xdl_flush_events (dummy)
Parameters: int dummy; /* Dummy parameter (R)*/
Return: None
Fortran call: CALL XDLF_DELETE_VIEW_OBJECT (IVH, IERR)
Parameters: IVH (R) View-object handle (see vh) IERR (W) Return from xdl_delete_view_object routine
'C' call: int xdl_delete_view_object (vh)
Parameters: int vh; /* The view object handle (R) */
Return: 0 = OK, 1 = requested view object not found
'C' call: { XDL_pointers_index++; if (XDL_pointers_index>=MAXPOINTERS) XDL_pointers_index = 0; XDL_pointers[XDL_pointers_index] = ch; return XDL_pointers_index; } #endif #if CHAR_STRING_TYPE == 2 typedef struct { short int len; unsigned char type; unsigned char class; char * addr; } Vax_ch_desc; int xdlstr (ch_desc)
Parameters: Vax_ch_desc *ch_desc; /* Pointer to character descriptor (R)*/
Return: Index in the XDL_pointers list from 0 to MAXPOINTERS-1
Fortran call: CALL XDLF_VIEW_OBJECT_ROOTXY (IVH, IX, IY, IXROOT, IYROOT, IERR)
Parameters: IVH (R) View-object handle (see vh) IX (R) X coordinate within the view-object (see x) IY (R) Y coordinate within the view-object (see y) IXROOT (W) Returns the root window X coordinate (see xroot) IYROOT (W) Returns the root window Y coordinate (see yroot) IERR (W) Return from the xdl_view_object_rootxy call
'C' call: int xdl_view_object_rootxy (vh, x, y, xroot, yroot)
Parameters: int vh; /* View-object handle (R)*/ int x; /* x coordinate within view-object (R)*/ int y; /* y coordinate within view-object (R)*/ int *xroot; /* Returns x coordinate with respect to the root window (W)*/ int *yroot; /* Returns y coordinate with respect to the root window (W)*/
Return: =0 OK, =1 view-object not found
Fortran call: CALL XDLF_VIEW_OBJECT_RAISE (IVH, IERR)
Parameters: IVH (R) View-object handle (see vh) IERR (W) Return from the xdl_view_object_raise call
'C' call: int xdl_view_object_raise (vh)
Parameters: int vh; /* View-object handle (R)*/
Return: =0 OK, =1 view-object not found
Fortran call: CALL XDLF_VIEW_OBJECT_LOWER (IVH, IERR)
Parameters: IVH (R) View-object handle (see vh) IERR (W) Return from the xdl_view_object_lower call
'C' call: int xdl_view_object_lower (vh)
Parameters: int vh; /* View-object handle (R)*/
Return: =0 OK, =1 view-object not found
These are some additional special purpose routines which may be used by the application programmer if needed. They include routines for handling non-blocking terminal input, handling events at timed interrupts, synchronising X calls and introducing a program delay.
The following routines are available:
Event handling with time out- xdl_get_events_timeout
XDL_VIEW event and standard input handling - xdl_getio_events
Get string after xdl_getio_events call - xdl_getio_string
Read a string from the terminal - xdl_tread
XDL_VIEW timer driven event handling - xdl_timer_events
XDL_VIEW XSync/XSyschronise calls - xdl_sync
Delay - xdl_delay
Fortran call: CALL XDLF_GET_EVENTS_TIMEOUT (NUMIVH, IVHLIST, MSECS, + NUMIVH2, IVHLIST2, IVH)
Parameters: NUMIVH (R) Number of view-objects to return data (see num_vh) IVHLIST (R) Array of NUMIVH view object handles (see vh_list) MSECS (R) Return after this number of milliseconds if no input has been done (0 = no time out) NUMIVH2 (R) Number of view-objects in list 2 for re-setting the time interval (see IVHLIST2); may be 0. IVHLIST2 (R) Array of NUMIVH2 view object handles; the time out period will be re-started whenever an event takes place in any of these listed view-objects so that the time out return will only occur when no events have taken place in these objects for the time out period. IVH (W) Returns the view-object handle of object returning the data (return from xdl_get_events)
'C' call: int xdl_get_events_timeout (num_vh, vh_list, msecs, num_vh2, vh_list2)
Parameters: int num_vh; /* Number of view objects from which data are to be returned (may be 0 if no return is required) if -num_vh is given then the routine be in a no wait mode and will return when either input is received or all current events have been flushed (R)*/ int vh_list[]; /* Array of the num_vh view-object handles (R)*/ int msecs; /* Return after this number of milliseconds if no input has been done (0 = no time out) (R)*/ int num_vh2; /* Number of view objects in list 2 (see vh_list2) for re-setting the time interval; may be 0 (R)*/ int vh_list2[]; /* Array of NUMIVH2 view object handles; the time out period will be re-started whenever an event takes place in any of these listed view-objects so that the time out return will only occur when no events have taken place in these objects for the time out period. (R)*/
Return: The view-object handle of the view object returning the data. May be 0 in no wait mode or -1 if the return is due to timing out after the requested interval.
Fortran call: CALL XDLF_GETIO_EVENTS (NUMIVH, IVHLIST, IVH)
Parameters: NUMIVH (R) Number of view-objects to return data (see num-vh) (may be 0) IVHLIST (R) Array of NUMIVH view object handles (see vh_list) IVH (W) Returns the view-object handle of object returning the data (return from xdl_getio_events) or 0 is there was input from stdin.
'C' call: int xdl_getio_events (num_vh, vh_list)
Parameters: int num_vh; /* Number of view objects from which data are to be returned (may be 0) (R)*/ int vh_list[]; /* Array of the num_vh view-object handles (R)*/
Return: The view-object handle of the view object returning the data. or 0 if input data was from stdin.
Fortran call: CALL XDLF_GETIO_STRING (XDLSTR(STRING), MAXLEN, IERR)
Parameters: STRING (W) Returned string (see string) ** Pass address using the XDLSTR function ** MAXLEN (R) Maximum allowed length for the returned string ( > 0 ) (cf max_len) IERR (W) Return status from the xdl_getio_string call
'C' call: int xdl_getio_string (string, max_len)
Parameters: char string[]; /* Returned string (W)*/ int max_len; /* if >0 Maximum length of returned string allowed (excluding terminating null - string must be at least max_len + 1 characters in length) if <0 abs(max_len) characters will be returned padded with blanks if needed (for 'fortran' use) (R)*/
Return: = 0 OK string present, =1 blank/null string
Fortran call: CALL XDLF_TREAD (XDLSTR(STRING), MAXLEN, IERR)
Parameters: STRING (W) Returned string (see string) ** Pass address using the XDLSTR function ** MAXLEN (R) Maximum allowed length for the returned string ( > 0 ) (cf max_len) IERR (W) Return status from the xdl_tread call
'C' call: int xdl_tread (string, max_len)
Parameters: char string[]; /* Returned string (W)*/ int max_len; /* if >0 Maximum length of returned string allowed (excluding terminating null - string must be at least max_len + 1 characters in length) if <0 abs(max_len) characters will be returned padded with blanks if needed (for 'fortran' use) (R)*/
Return: = 0 OK string returned, =1 blank/null string returned
Fortran call: CALL XDLF_TIMER_EVENTS (IOPT)
Parameters: IOPT (R) = 0 turn off timer driven event handling, = 1 turn on timer driven event handling
'C' call: int xdl_timer_events (on_off)
Parameters: int on_off; /* = 1 turn timer driven event handling on, = 0 turn timer driven event handling off (R)*/
Return:
Fortran call: CALL XDLF_SYNC (IOPT)
Parameters: IOPT (R) Flag =1 XSync, no discard =2 XSync, discard =3 XSynchronize on =4 XSynchronize off
'C' call: void xdl_sync (opt)
Parameters: int opt; /* Flage =1 XSync, no discard =2 XSync, discard =3 XSynchronize on =4 XSynchronize off (R)*/
Return: None
Fortran call: CALL XDLF_DELAY (MSEC)
Parameters: MSEC (R) Time of delay in milliseconds
'C' call: void xdl_delay (msec)
Parameters: int msec; /* Delay in milliseconds (R)*/
Return: none
These are routines used to create windows when coding a new view-object.
The following routines are available:
Create a base frame window - xdl_create_base_frame_window
Create a frame window - xdl_create_frame_window
Create a paint window - xdl_create_paint_window
'C' call: Window xdl_create_base_frame_window (title, icon_label, x, y, width, height)
Parameters: char * title; /*Title for passing to window manager (null term) (R)*/ char * icon_label; /*Icon label for passing to window manager (null term) (R)*/ int x; /*Root x coordinate for window (-1 to leave selection to the window manager) (R)*/ int y; /*Root y coordinate for window (-1 to leave selection to the window manager) (R)*/ int width; /*Window width (including border of 1 at each side) (R)*/ int height; /*Window height (including border of 1 at top and bottom (R)*/
Return: The window id
'C' call: Window xdl_create_frame_window (wparent, x, y, width, height, cset)
Parameters: Window wparent; /*Window id of the parent window (R)*/ int x; /*x position of top left pixel (of border) (R)*/ int y; /*y position of top left pixel (of border) (R)*/ int width; /*Window width (including border of 1 at each side) (R)*/ int height; /*Window height (including border of 1 at top and bottom (R)*/ int cset; /*XDL_VIEW Colorset number (R)*/ /* Note: Origin pixel at top left within border */
Return: The window id
'C' call: Window xdl_create_paint_window (wparent, x, y, brdw, width, height, cset)
Parameters: Window wparent; /*Window id of the parent window (R)*/ int x; /*x position of top left pixel (of border) (R)*/ int y; /*y position of top left pixel (of border) (R)*/ int brdw; /*Border width in pixels (normally 1)*/ int width; /*Window width (including border at each side) (R)*/ int height; /*Window height (including border at top and bottom (R)*/ int cset; /*XDL_VIEW Colorset number (R)*/ /* Note: Origin pixel at top left within border */ /* Paintable width = width - 2*brdw */ /* Paintable height = height - 2*brdw */
Return: The window id
These are routines used to create active strips when coding a new view-object.
The following routines are available:
Create an active strip - xdl_create_active_strip
Set active strip to 'on' - xdl_active_strip_on
Set active strip to 'off' - xdl_active_strip_off
'C' call: Window xdl_create_active_strip (wparent, vh, width, repaint)
Parameters: Window wparent; /* The parent window for which the strip is to be created (R) */ int vh; /* View-object handle (The view object must have been added to the list of view-objects using the routine xdl_add_new_view_object before xdl_create_active_strip is called (R) */ int width; /* The width for the strip (R) */ void (*repaint)(); /* Active strip repaint function (R)*/
Return: The created window
'C' call: void xdl_active_strip_on (wid, str, bold)
Parameters: Window wid; /* The active strip window id (R) */ char * str; /* The string to be displayed (R) */ int bold; /* =1 Use bold text (to indicate keyboard focus) or =0 Use normal text (R) */
Return: None
'C' call: void xdl_active_strip_off (wid)
Parameters: Window wid; /* The active strip window id (R) */
Return: None
These are routines used to register new view-objects by adding them to an internal list and to add window information to that list when coding a new view-object.
The following routines are available:
Add a new view-object - xdl_new_view_object
Add a window to the windows list - xdl_add_window
Add a library window to windows list - xdl_add_libwin
Add to level window callbacks - xdl_add_top_callbacks
'C' call: int xdl_new_view_object (vh, wid, vh_parent, gd, type, on_off, tidy_up)
Parameters: int vh; /*The view_object handle for the new view object (vh) (R)*/ Window wid; /*The parent window of the new view object (R)*/ int vh_parent; /*The view-object handle for the parent (0 if none) (R)*/ char * gd; /*Pointer to the global data area used by the view-object's routines (R)*/ int type; /*A unique integer for the view-object type (R)*/ void (*on_off)(); /*Pointer to the input on/off function for the view object. May be NULL if not required or implemented. (Used by xdl_get_events) (R)*/ void (*tidy_up)(); /*Pointer to the tidy up routine for the view-object. This routine will be called by xdl_delete_view_object when the view object is deleted. It should be used for example to free any memory areas allocated by the view-object (except for the global data area which will be automatically freed by xdl_delete_view_object). May be NULL if not required or implemented. (R)*/
Return: The offset in the XDL_view_objects array for the new view object.
'C' call: void xdl_add_window (vh, wid, repaint, ehp)
Parameters: int vh; /*The view-object handle for the view-object to whose derived windows list the new window is to be appended (R)*/ Window wid; /*The id of the window to be added (R)*/ void (*repaint)(); /*Address of repaint routine for the window (may be NULL) (R)*/ void (*ehp)(); /*Address of event handling procedure for the window (may be NULL) (R)*/
Return: None.
'C' call: void xdl_add_libwin (vh, wid, gd, repaint, ehp, callback, tidy_up)
Parameters: int vh; /*The view-object handle for the view-object to whose derived windows list the new window is to be appended (R)*/ Window wid; /*The id of the window to be added (R)*/ char *gd; /*The global data area associated with the window - normally that of the parent view-object's global data area for routines forming part of the code for a view-object. Normally a separately defined area for special library routine window objects (R)*/ void (*repaint)(); /*Address of repaint routine for the window (may be NULL) (R)*/ void (*ehp)(); /*Address of event handling procedure for the window (may be NULL) (R)*/ void (*callback)(); /*Address of callback routine if required. Normally NULL except when using a library routine window which will return data to the calling view-object (R)*/ void (*tidy_up)(); /*Routine to be called when a window is deleted to tidy up (e.g. free allocated memory areas or other allocated resources). May be NULL if not required. For a window set up by a routine forming part of the specific code for the view object, all the tidying up will normally be done by the one tidy_up routine associated with its top level window (R)*/
Return: None.
'C' call: void xdl_add_top_callbacks (vh, repaint, ehp)
Parameters: int vh; /*The view-object handle for the view-object to whose derived windows list the new window is to be appended (R)*/ void (*repaint)(); /*Address of repaint routine for the window (may be NULL) (R)*/ void (*ehp)(); /*Address of event handling procedure for the window (may be NULL) (R)*/
Return: None.
These are routines used to get data items from a view-objects internal list when coding a new view object.
The following routines are available:
Get offset in view-objects list from handle - xdl_getiv
Get global data area from window id - xdl_get_global
Get view-object handle from window id - xdl_get_vh
'C' call: int xdl_getiv (vh)
Parameters: int vh; /*The view-object handle (vh) (R)*/
Return: The offset (>=0) or -1 if view object-handle not present.
'C' call: char * xdl_get_global (wid)
Parameters: Window wid; /* The window id for which the view-object's data area is to be found (R)*/
Return: The pointer to the global data (0 if none found)
'C' call: int xdl_get_vh (wid)
Parameters: Window wid; /* The window id for which the view-object handle is to be found (R)*/
Return: The view-object handle (0 if none found)
These are routines used to delete panel items if required when coding a new view-object.
The following routines are available:
Delete a panel item - xdl_delete_panel_item
'C' call: void xdl_delete_panel_item (vh, wid)
Parameters: int vh; /* View-object handle for the view-object to which the panel item belongs (R) */ Window wid; /* The window id. of the panel item (R)*/
Return: None
These are routines used assit with the handling of text selections from/to a window if this is required when coding a new view-object.
The following routines are available:
Request selection ownership - xdl_select_owner
Cancel selection ownership - xdl_select_cancel
Request a selection - xdl_select_request
Receive selection data - xdl_select_receive
'C' call: void xdl_select_owner (wid)
Parameters: Window wid; /* The window id of the window requesting the selection ownership (R) */
Return: None
'C' call: void xdl_select_cancel ()
Parameters: { XSetSelectionOwner (XDL_display, XA_PRIMARY, None, CurrentTime); return; } /* ******************************* ** xdl_select_respond ** ****************************** Purpose: Respond to selection request (XA_PRIMARY) Return: None Author: John W. Campbell, August 1993 */ /*Doc: Respond to selection request - xdl_select_respond The routine xdl_select_respond is used to respond to a selection request from another client on XA_PRIMARY. Only string requests are translated; otherwise a null reply is given (for an example of the use of these selection routines, see the xdl_io_window.c view-object code). */ void xdl_select_respond (event, str, nitems) XEvent * event; /* The selection request event (R)*/ char *str; /* The string containing the currently selected data (R)*/ int nitems; /* Number of characters in the string to be sent (excluding any null terminator); may be 0 (R) */
Return: None
'C' call: void xdl_select_request (event, wid)
Parameters: XEvent *event; /* The event triggering the request (for timing) */ Window wid; /* The window id of the window requesting the selection (R)*/
Return: None
'C' call: int xdl_select_receive (event,wid,str,nitems,maxinstring)
Parameters: XEvent *event; /* The selection notify event (R)*/ Window wid; /* The window id of the window requesting the selection ownership (R) */ char **str; /* Pointer to the received data NOTE This data is allocated by the routine ==== and should be freed after it has been used unless it is a null pointer; this is only needed if the return is 1 (true) as it will already be freed by this routine when the return is 0 (R)*/ int *nitems; /* Returns the number of items in the string (excluding terminating null (W)*/ int maxinstring; /* Maximum number of items (characters) which may be received */
Return: =1 string received; =0 request could not be satisfied
These are routines used to output error messages in a standard format when coding a new view-object.
The following routines are available:
Output an XDL_VIEW error message - xdl_view_errmsg
'View-object not found' error message - xdl_view_iv_errmsg
Error message for wrong type - xdl_view_type_errmsg
'C' call: void xdl_view_errmsg (routine_name, message)
Parameters: char *routine_name; /* The name of the routine giving the error (null terminated string (R) */ char *message; /* A null terminated string describing the error */
'C' call: void xdl_view_iv_errmsg (routine_name, vh)
Parameters: char *routine_name; /* The name of the routine giving the error (null terminated string) (R) */ int vh; /* The view-object handle */
'C' call: void xdl_view_type_errmsg (routine_name, vh, view_object_type)
Parameters: char *routine_name; /* The name of the routine giving the error (null terminated string) e.g. "xdl_param_table_setvalue" (R) */ int vh; /* The view-object handle (R)*/ char *view_object_type; /* Null terminated string giving the view-object type to which the routine belongs e.g. "xdl_param_table" (R) */
These are some miscellaneous routines which may be used if required when coding a new view-object.
The following routines are available:
Get root x, y coordinates - xdl_rootxy
Copy an output string - xdl_copy_chars
Test for a blank string - xdl_blank_string
Chop trailing blanks - xdl_chop_blanks
Number of digits in an integer - xdl_ndigit
Convert a string to upper case - xdl_upc
Convert a string to lower case - xdl_lwc
Convert a character to upper case - xdl_upcc
Convert a character to lower case - xdl_lwcc
Random number, 0-32767 - xdl_rand16
Get character size - xdl_ch_size
Set a 64 level gray scale - xdl_set64gray
Set a 64 level gray + yellow scale - xdl_set64gray_yel
Set a 64 level colour scale - xdl_set64color
Get a 64 level gray scale - xdl_get64gray
Get a 64 level gray + yellow scale - xdl_get64gray_yel
Get a 64 level colour scale - xdl_get64color
Delete view-object children - xdl_delete_children
See if a view-object has children - xdl_any_children
'C' call: void xdl_rootxy (wid, x, y, xroot, yroot)
Parameters: Window wid; /*The window id of the window to which x, y coordinates apply (R)*/ int x; /*The x coordinate (R)*/ int y; /*The y coordinate (R)*/ int *xroot; /*Returns the x coordinate in the root window (W)*/ int *yroot; /*Returns the y coordinate in the root window (W)*/
Return: xroot, yroot via parameters list
'C' call: void xdl_copy_chars (string_in, string_out, max_len)
Parameters: char * string_in; /*The string to be copied (must be null terminated) (R)*/ char * string_out; /*The output string address for the copied string (W) */ int max_len; /*If >0 it is the maximum length allowed for the null terminated copied string. string_out must be at least (max_len + 1) characters in length. if <0 then up to abs(max_len) characters are copied to the output string. If the number of characters in the input string is less than this then the output string will be padded to abs(max_len) characters with blanks. (R) */
'C' call: int xdl_blank_string (str)
Parameters: char str[]; /*String to test (null terminated) (R)*/
Return: =1 (true) blank or null string found, =0 not a blank/null string
'C' call: void xdl_chop_blanks (str)
Parameters: char str[]; /*String from which trailing blanks are to be removed (null terminated on input and output) (M)*/
'C' call: int xdl_ndigit (i)
Parameters: int i; /*The integer value for which the number of digits is to be found (R)*/
Return: The number of digits.
'C' call: void xdl_upc (str)
Parameters: char str[]; /*String to be converted to upper case (null terminated) (M)*/
'C' call: void xdl_lwc (str)
Parameters: char str[]; /*String to be converted to lower case (null terminated) (M)*/
'C' call: void xdl_upcc (ch)
Parameters: char *ch; /*Pointer to character to be converted to upper case (M)*/
'C' call: void xdl_lwcc (ch)
Parameters: char *ch; /*Pointer to character to be converted to lower case (M)*/
'C' call: int xdl_rand16 ()
Parameters: { xdl_next_seed = xdl_next_seed*1103515245 + 12345; return (unsigned int) (xdl_next_seed/65536)%32768; } /* *************************** ** xdl_srand16 ** *************************** Purpose: Set new seed for random number routine xdl_rand16 Author: John Campbell, July 1992 (from K&R) */ /*Doc: Set seed for xdl_rand16 - xdl_srand16 The routine xdl_srand16 is used to reset the seed value for the pseudo-random number routine xdl_rand16. */ void xdl_srand16 (seed) unsigned int seed; /* New seed value (R)*/
'C' call: void xdl_ch_size (font_type, opt, ch_width, ch_height, ascent, descent)
Parameters: int font_type; /* Font type (1 to 5) (R)*/ int opt; /* = 0, normal font = 1, bold font = 2, larger dimensions of the normal/bold fonts = 3, smaller dimensions of the normal/bold fonts (R)*/ int *ch_width; /* Returns the character width in pixels (W)*/ int *ch_height; /* Returns the character height in pixels (W)*/ int *ascent; /* Returns font ascent (W)*/ int *descent; /* Returns font descent (W)*/
'C' call: int xdl_set64gray (cset, contrast_val, type)
Parameters: int cset; /* The colorset number (R)*/ int contrast_val; /* Contrast value from 1 to 1024 (R)*/ int type; /* =1 high density = black, =2 high density = white (R)*/
Return: 1=OK, 0= colorset not allocated or has <64 cells or contast parameter out of range
'C' call: int xdl_set64gray_yel (cset, contrast_val, type)
Parameters: int cset; /* The colorset number (R)*/ int contrast_val; /* Contrast value from 1 to 1024 (R)*/ int type; /* =1 high density = black, =2 high density = white (R)*/
Return: 1=OK, 0= colorset not allocated or has <64 cells or contrast parameter out of range
'C' call: int xdl_set64color (cset, contrast_val, type)
Parameters: int cset; /* The colorset number (R)*/ int contrast_val; /* Contrast value from 1 to 1024 (R)*/ int type; /* =1 high density at blue end of scale =2 high density at yellow end of scale (R)*/
Return: 1=OK, 0= colorset not allocated or <64 cells or contrast parameter out of range
'C' call: int xdl_get64gray (pixels, contrast_val, type)
Parameters: unsigned long pixels[64]; /* The returned pixels list (W)*/ int contrast_val; /* Contrast value from 1 to 1024 (R)*/ int type; /* =1 high density = black, =2 high density = white (R)*/
Return: 1=OK, 0= contast parameter out of range
'C' call: int xdl_get64gray_yel (pixels, contrast_val, type)
Parameters: unsigned long pixels[64]; /* The returned pixels list (W)*/ int contrast_val; /* Contrast value from 1 to 1024 (R)*/ int type; /* =1 high density = black, =2 high density = white (R)*/
Return: 1=OK, 0= contrast parameter out of range
'C' call: int xdl_get64color (pixels, contrast_val, type)
Parameters: unsigned long pixels[64]; /* The returned pixels list (W)*/ int contrast_val; /* Contrast value from 1 to 1024 (R)*/ int type; /* =1 high density at blue end of scale =2 high density at yellow end of scale (R)*/
Return: 1=OK, 0= contrast parameter out of range
'C' call: void xdl_delete_children (vh_parent)
Parameters: int vh_parent; /* View-object handle of the parent (R) */
Return: None
'C' call: int xdl_any_children (vh)
Parameters: int vh; /* View-object handle (R) */
Return: =1 (true) child or children found, =0 no children;