! ******************************************************************************************************************************** ! Created: 7-MAR-2012 18:15:13 by OpenVMS SDL IA64-2 ! Source: 07-MAR-2012 18:15:13 DUMPD5$:[RAMYA.FOR_ECO]SMG$ROUTINES.SDI;1 ! ******************************************************************************************************************************** !*** MODULE smg$routines *** !DEC$ OPTIONS/ALIGN=(RECORDS=PACKED,COMMONS=PACKED)/NOWARN ! *************************************************************************** ! * ! COPYRIGHT (c) 1992, 1995 BY * ! DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASSACHUSETTS. * ! ALL RIGHTS RESERVED. * ! * ! THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED * ! ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE * ! INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER * ! COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY * ! OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY * ! TRANSFERRED. * ! * ! THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE * ! AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT * ! CORPORATION. * ! * ! DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS * ! SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL. * ! * ! * ! *************************************************************************** ! SMG$ADD_KEY_DEF ! ! Add Key Definition ! ! The Add Key Definition routine adds a keypad key definition to a ! table of key definitions. ! ! INTEGER*4 smg$add_key_def EXTERNAL smg$add_key_def ! SMG$ALLOW_ESCAPE ! ! Allow Escape Sequences ! ! SMG$ALLOW_ESCAPE enables or disables SMG parsing of escape sequences ! which are output to a virtual display. ! ! INTEGER*4 smg$allow_escape EXTERNAL smg$allow_escape ! SMG$BEGIN_DISPLAY_UPDATE ! ! Begin Batching of Display Updates ! ! The Begin Batching of Display Updates routine saves, or batches, all ! output to a virtual display until a matching call to ! SMG$END_DISPLAY_UPDATE is encountered. ! ! INTEGER*4 smg$begin_display_update EXTERNAL smg$begin_display_update ! SMG$BEGIN_PASTEBOARD_UPDATE ! ! Begin Batching of Pasteboard Updates ! ! The Begin Batching of Pasteboard Updates routine saves, or ! batches, all output to a pasteboard until a matching call to ! SMG$END_PASTEBOARD_UPDATE is encountered. ! ! INTEGER*4 smg$begin_pasteboard_update EXTERNAL smg$begin_pasteboard_update ! SMG$CANCEL_INPUT ! ! Cancel Input Request ! ! The Cancel Input Request routine immediately cancels any ! read-in-progress that was issued by SMG$READ_COMPOSED_LINE, ! SMG$READ_KEYSTROKE, SMG$READ_STRING, or SMG$READ_VERIFY. ! ! INTEGER*4 smg$cancel_input EXTERNAL smg$cancel_input ! SMG$CHANGE_PBD_CHARACTERISTICS ! ! Change Pasteboard Characteristics ! ! The Change Pasteboard Characteristics routine lets you change the ! characteristics associated with a pasteboard. ! INTEGER*4 smg$change_pbd_characteristics EXTERNAL smg$change_pbd_characteristics ! SMG$CHANGE_RENDITION ! ! Change Default Rendition ! ! The Change Default Rendition routine changes the video attributes ! for all or part of a virtual display. ! ! INTEGER*4 smg$change_rendition EXTERNAL smg$change_rendition ! SMG$CHANGE_VIEWPORT ! ! Change the Viewport ! ! The Change the Viewport Associated with a Virtual Display routine ! changes the size of an existing viewport in a virtual display. The ! text that is currently in the viewport is remapped to fit the new ! dimensions. ! INTEGER*4 smg$change_viewport EXTERNAL smg$change_viewport ! SMG$CHANGE_VIRTUAL_DISPLAY ! ! Change Virtual Display ! ! The Change Virtual Display routine lets you change the dimensions, ! border, and video attributes of a virtual display. ! INTEGER*4 smg$change_virtual_display EXTERNAL smg$change_virtual_display ! SMG$CHECK_FOR_OCCLUSION ! ! Check for Occlusion ! ! The Check for Occlusion routine checks to see whether a virtual ! display is covered (occluded) by another virtual display. ! INTEGER*4 smg$check_for_occlusion EXTERNAL smg$check_for_occlusion ! SMG$CONTROL_MODE ! ! Control Mode ! ! The Control Mode routine controls the mode of the pasteboard. This ! includes buffering, minimal updating, whether the screen is cleared ! when the pasteboard is deleted, and whether tab characters are used ! for screen formatting. ! INTEGER*4 smg$control_mode EXTERNAL smg$control_mode ! SMG$COPY_VIRTUAL_DISPLAY ! ! Copy a Virtual Display ! ! The Copy a Virtual Display routine creates a copy of an existing ! virtual display and assigns to it a new virtual display identifier. ! INTEGER*4 smg$copy_virtual_display EXTERNAL smg$copy_virtual_display ! SMG$CREATE_KEY_TABLE ! ! Create Key Table ! ! The Create Key Table routine creates a table for key definitions. ! INTEGER*4 smg$create_key_table EXTERNAL smg$create_key_table ! SMG$CREATE_MENU ! ! Fill the Virtual Display with a Menu ! ! The Fill the Virtual Display with a Menu routine displays menu ! choices ! in the virtual display indicated, starting at the specified row. ! INTEGER*4 smg$create_menu EXTERNAL smg$create_menu ! SMG$CREATE_PASTEBOARD ! ! Create a Pasteboard ! ! The Create Pasteboard routine creates a pasteboard and returns its assigned ! pasteboard identifier. ! INTEGER*4 smg$create_pasteboard EXTERNAL smg$create_pasteboard ! SMG$CREATE_SUBPROCESS ! ! Create and Initialize a Subprocess ! ! The Create and Initialize a Subprocess routine creates a DCL ! subprocess and associates it with a virtual display. ! INTEGER*4 smg$create_subprocess EXTERNAL smg$create_subprocess ! SMG$CREATE_VIEWPORT ! ! Create a Virtual Viewport ! ! The Create a Virtual Viewport routine creates a viewport and ! associates it with a virtual display. The location and size of the ! viewport are specified by the caller. ! INTEGER*4 smg$create_viewport EXTERNAL smg$create_viewport ! SMG$CREATE_VIRTUAL_DISPLAY ! ! Create a Virtual Display ! ! The Create Virtual Display routine creates a virtual display and ! returns ! assigned display identifier. ! INTEGER*4 smg$create_virtual_display EXTERNAL smg$create_virtual_display ! SMG$CREATE_VIRTUAL_KEYBOARD ! ! Create Virtual Keyboard ! ! The Create Virtual Keyboard routine creates a virtual keyboard and ! returns its assigned keyboard identifier. ! INTEGER*4 smg$create_virtual_keyboard EXTERNAL smg$create_virtual_keyboard ! SMG$CURSOR_COLUMN ! ! Return Cursor Column Position ! ! The Return Cursor Column Position routine returns the virtual ! cursor's ! current column position in a specified virtual display. ! INTEGER*4 smg$cursor_column EXTERNAL smg$cursor_column ! SMG$CURSOR_ROW ! ! Return Cursor Row Position ! ! The Return Cursor Row Position routine returns the virtual cursor's ! current row position in a specified virtual display. ! INTEGER*4 smg$cursor_row EXTERNAL smg$cursor_row ! SMG$DEFINE_KEY ! ! Perform a DEFINE/KEY Command ! ! The Perform a DEFINE/KEY Command routine performs the DEFINE/KEY ! command you provide. ! INTEGER*4 smg$define_key EXTERNAL smg$define_key ! SMG$DELETE_CHARS ! ! Delete Characters ! ! The Delete Characters routine deletes characters in a virtual ! display. ! INTEGER*4 smg$delete_chars EXTERNAL smg$delete_chars ! SMG$DELETE_KEY_DEF ! ! Delete Key Definition ! ! The Delete Key Definition routine deletes a key definition from the ! specified table of key definitions. ! INTEGER*4 smg$delete_key_def EXTERNAL smg$delete_key_def ! SMG$DELETE_LINE ! ! Delete Line ! ! The Delete Line routine deletes lines from a virtual display. ! INTEGER*4 smg$delete_line EXTERNAL smg$delete_line ! SMG$DELETE_MENU ! ! End Access to a Menu in the Virtual Display ! ! The End Access to a Menu in the Virtual Display routine ends access ! to the menu choices in the specified virtual display. ! INTEGER*4 smg$delete_menu EXTERNAL smg$delete_menu ! SMG$DELETE_PASTEBOARD ! ! Delete Pasteboard ! ! The Delete Pasteboard routine deletes a pasteboard. ! INTEGER*4 smg$delete_pasteboard EXTERNAL smg$delete_pasteboard ! SMG$DELETE_SUBPROCESS ! ! Terminate a Subprocess ! ! The Terminate a Subprocess routine deletes a subprocess that was ! created with the SMG$CREATE_SUBPROCESS routine. ! INTEGER*4 smg$delete_subprocess EXTERNAL smg$delete_subprocess ! SMG$DELETE_VIEWPORT ! ! Delete a Viewport ! ! The Delete a Viewport routine deletes the specified viewport from ! any pasteboards to which it is pasted. ! INTEGER*4 smg$delete_viewport EXTERNAL smg$delete_viewport ! SMG$DELETE_VIRTUAL_DISPLAY ! ! Delete Virtual Display ! ! The Delete Virtual Display routine deletes a virtual display. ! INTEGER*4 smg$delete_virtual_display EXTERNAL smg$delete_virtual_display ! SMG$DELETE_VIRTUAL_KEYBOARD ! ! Delete Virtual Keyboard ! ! The Delete Virtual Keyboard routine deletes a virtual keyboard. ! INTEGER*4 smg$delete_virtual_keyboard EXTERNAL smg$delete_virtual_keyboard ! SMG$DEL_TERM_TABLE ! ! Delete Terminal Table ! ! The Delete Terminal Table routine terminates access to a private ! TERMTABL ! and frees the associated virtual address space. ! INTEGER*4 smg$del_term_table EXTERNAL smg$del_term_table INTEGER*4 smg$disable_broadcast_trapping EXTERNAL smg$disable_broadcast_trapping ! SMG$DISABLE_UNSOLICITED_INPUT ! ! Disable Unsolicited Input ! ! The Disable Unsolicited Input routine disables the trapping of ! unsolicited input. ! INTEGER*4 smg$disable_unsolicited_input EXTERNAL smg$disable_unsolicited_input ! SMG$DRAW_CHAR ! ! Draw a Character in a Virtual Display ! ! The Draw a Character in a Virtual Display routine draws a character ! at ! the specified position in a virtual display. ! INTEGER*4 smg$draw_char EXTERNAL smg$draw_char ! SMG$DRAW_LINE ! ! Draw a Line ! ! The Draw a Line routine draws a horizontal or vertical line. ! INTEGER*4 smg$draw_line EXTERNAL smg$draw_line ! SMG$DRAW_RECTANGLE ! ! Draw a Rectangle ! ! The Draw a Rectangle routine draws a rectangle. ! INTEGER*4 smg$draw_rectangle EXTERNAL smg$draw_rectangle ! SMG$ENABLE_UNSOLICITED_INPUT ! ! Enable Unsolicited Input ! ! The Enable Unsolicited Input routine detects unsolicited input and ! calls an AST routine in response. ! INTEGER*4 smg$enable_unsolicited_input EXTERNAL smg$enable_unsolicited_input ! SMG$END_DISPLAY_UPDATE ! ! End Display Update ! ! The End Display Update routine ends update batching for a virtual ! display. ! INTEGER*4 smg$end_display_update EXTERNAL smg$end_display_update ! SMG$END_PASTEBOARD_UPDATE ! ! End Pasteboard Update ! ! The End Pasteboard Update routine ends update batching for a ! pasteboard. ! INTEGER*4 smg$end_pasteboard_update EXTERNAL smg$end_pasteboard_update ! SMG$ERASE_CHARS ! ! Erase Characters ! ! The Erase Characters routine erases characters in a virtual display ! by ! replacing them with blanks. ! INTEGER*4 smg$erase_chars EXTERNAL smg$erase_chars ! SMG$ERASE_COLUMN ! ! Erase Column from Display ! ! The Erase Column From Display routine erases the specified portion ! of the virtual display from the given position to the end of the ! column. ! INTEGER*4 smg$erase_column EXTERNAL smg$erase_column ! SMG$ERASE_DISPLAY ! ! Erase Virtual Display ! ! The Erase Virtual Display routine erases all or part of a virtual ! display by replacing text characters with blanks. ! INTEGER*4 smg$erase_display EXTERNAL smg$erase_display ! SMG$ERASE_LINE ! ! Erase Line ! ! The Erase Line routine erases all or part of a line in a virtual ! display. ! INTEGER*4 smg$erase_line EXTERNAL smg$erase_line ! SMG$ERASE_PASTEBOARD ! ! Erase Pasteboard ! ! The Erase Pasteboard routine erases the contents of a pasteboard. ! INTEGER*4 smg$erase_pasteboard EXTERNAL smg$erase_pasteboard ! SMG$EXECUTE_COMMAND ! ! Execute Command in a Subprocess ! ! The Execute Command in a Subprocess routine executes the specified ! command in the subprocess created with the SMG$CREATE_SUBPROCESS ! routine. ! INTEGER*4 smg$execute_command EXTERNAL smg$execute_command ! SMG$FIND_CURSOR_DISPLAY ! ! Find Display ! ! The Find Display that Contains the Cursor routine returns the ! identifier of the most recently pasted virtual display that contains ! the physical cursor. ! INTEGER*4 smg$find_cursor_display EXTERNAL smg$find_cursor_display ! SMG$FLUSH_BUFFER ! ! Flush Buffer ! ! The Flush Buffer routine flushes all buffered output to the ! terminal. ! INTEGER*4 smg$flush_buffer EXTERNAL smg$flush_buffer ! SMG$FLUSH_DISPLAY_UPDATE ! ! Flush Display Update ! ! The Flush Display Update routine flushes any update batching to the ! screen and leaves the update batching in effect. ! INTEGER*4 smg$flush_display_update EXTERNAL smg$flush_display_update ! SMG$GET_BROADCAST_MESSAGE ! ! Get Broadcast Message ! ! The Get Broadcast Message routine determines whether a message has ! been broadcast to the pasteboard and returns the message. ! INTEGER*4 smg$get_broadcast_message EXTERNAL smg$get_broadcast_message ! SMG$GET_CHAR_AT_PHYSICAL_CURSOR ! ! Return Character at Cursor ! ! The Return Character at Cursor routine returns the character at the ! current physical cursor position. ! INTEGER*4 smg$get_char_at_physical_cursor EXTERNAL smg$get_char_at_physical_cursor ! SMG$GET_DISPLAY_ATTR ! ! Get Display Attributes ! ! The Get Display Attributes routine returns the attributes associated ! with a virtual display. ! INTEGER*4 smg$get_display_attr EXTERNAL smg$get_display_attr ! SMG$GET_KEYBOARD_ATTRIBUTES ! ! Get Keyboard Attributes ! ! The Get Keyboard Attributes routine gets information about a virtual ! keyboard and leaves it in a user-supplied area: the keyboard ! information table (KIT). ! INTEGER*4 smg$get_keyboard_attributes EXTERNAL smg$get_keyboard_attributes ! SMG$GET_KEY_DEF ! ! Get Key Definition ! ! The Get Key Definition routine returns the key definition for a ! specified key. ! INTEGER*4 smg$get_key_def EXTERNAL smg$get_key_def ! SMG$GET_NUMERIC_DATA ! ! Get Numeric Terminal Data ! ! The Get Numeric Terminal Data routine accesses TERMTABLE.EXE and ! returns the value associated with a specified Boolean or numeric ! capability. ! INTEGER*4 smg$get_numeric_data EXTERNAL smg$get_numeric_data ! SMG$GET_PASTEBOARD_ATTRIBUTES ! ! Get Pasteboard Attributes ! ! The Get Pasteboard Attributes routine gets pasteboard attributes and ! stores them in the pasteboard information table. ! INTEGER*4 smg$get_pasteboard_attributes EXTERNAL smg$get_pasteboard_attributes ! SMG$GET_PASTING_INFO ! ! Return Pasting Information ! ! Provided that the specified virtual display is currently pasted, the ! Return Pasting Information routine returns the row and column of the ! pasting. ! INTEGER*4 smg$get_pasting_info EXTERNAL smg$get_pasting_info ! SMG$GET_TERM_DATA ! ! Get Terminal Data ! ! The Get Terminal Data routine accesses TERMTABLE.EXE and returns the ! character sequence that causes a terminal to perform a specified ! operation. ! INTEGER*4 smg$get_term_data EXTERNAL smg$get_term_data ! SMG$GET_VIEWPORT_CHAR ! ! Get Characteristics of Display Viewport ! ! The Get Characteristics of Display Viewport routine returns the ! characteristics of the specified viewport. ! INTEGER*4 smg$get_viewport_char EXTERNAL smg$get_viewport_char ! SMG$HOME_CURSOR ! ! Home Cursor ! ! The Home Cursor routine moves the virtual cursor to the specified ! corner of a virtual display. ! INTEGER*4 smg$home_cursor EXTERNAL smg$home_cursor ! SMG$INIT_TERM_TABLE ! ! Initialize Terminal Table ! ! The Initialize Terminal Table routine initializes the TERMTABLE ! database for the terminal named, so that subsequent calls to ! SMG$GET_TERM_DATA can extract information and command strings for ! that ! terminal. ! INTEGER*4 smg$init_term_table EXTERNAL smg$init_term_table ! SMG$INIT_TERM_TABLE_BY_TYPE ! ! Initialize TERMTABLE by VMS Terminal Type ! ! The Initialize TERMTABLE by VMS Terminal Type routine initializes ! the TERMTABLE database for the terminal named, so that subsequent ! calls to SMG$GET_TERM_DATA can extract information and command ! strings for that terminal. ! INTEGER*4 smg$init_term_table_by_type EXTERNAL smg$init_term_table_by_type ! SMG$INSERT_CHARS ! ! Insert Characters ! ! The Insert Characters routine inserts characters into a virtual ! display. ! INTEGER*4 smg$insert_chars EXTERNAL smg$insert_chars ! SMG$INSERT_LINE ! ! Insert Line ! ! The Insert Line routine inserts a line into a virtual display and ! scrolls the display. ! INTEGER*4 smg$insert_line EXTERNAL smg$insert_line ! SMG$INVALIDATE_DISPLAY ! ! Mark a Display as Invalid ! ! The Mark a Display as Invalid routine marks a display as invalid and ! causes the entire display to be redrawn. ! INTEGER*4 smg$invalidate_display EXTERNAL smg$invalidate_display ! SMG$KEYCODE_TO_NAME ! ! Translate a Key Code into a Key Name ! ! The Translate a Key Code into a Key Name routine translates the key ! code ! of a key on the keyboard into its associated key name. ! INTEGER*4 smg$keycode_to_name EXTERNAL smg$keycode_to_name ! SMG$LABEL_BORDER ! ! Label a Virtual Display Border ! ! The Label a Virtual Display Border routine supplies a label for a ! virtual display's border. ! INTEGER*4 smg$label_border EXTERNAL smg$label_border ! SMG$LIST_KEY_DEFS ! ! List Key Definitions ! ! The List Key Definitions routine returns, one at a time, the ! definitions (equivalence strings) associated with specified keys ! in a specified key table. ! INTEGER*4 smg$list_key_defs EXTERNAL smg$list_key_defs ! SMG$LIST_PASTEBOARD_ORDER ! ! Return Pasting Information ! ! The Return Pasting Information routine returns the pasteboard ! identifier of the pasteboard to which the specified virtual display ! is pasted. Optionally, the pasteboard row 1 and column 1 (origins) of ! the virtual displays are also returned. ! INTEGER*4 smg$list_pasteboard_order EXTERNAL smg$list_pasteboard_order ! SMG$LIST_PASTING_ORDER ! ! Return Virtual Display Pasting Information ! ! The Return Virtual Display Pasting Information routine returns the ! identifiers of the virtual displays pasted to a specified ! pasteboard. Optionally, the pasteboard row 1 and column ! 1 (origins) of the virtual displays are also returned. ! INTEGER*4 smg$list_pasting_order EXTERNAL smg$list_pasting_order ! SMG$LOAD_KEY_DEFS ! ! Load Key Definitions ! ! The Load Key Definitions routine loads a file of key ! definitions ! (DEFINE/KEY commands) into a specified key table. ! INTEGER*4 smg$load_key_defs EXTERNAL smg$load_key_defs ! SMG$LOAD_VIRTUAL_DISPLAY ! ! Load a Virtual Display ! ! The Load a Virtual Display from a File routine creates a new virtual ! display and loads it with a virtual display saved with ! SMG$SAVE_VIRTUAL_DISPLAY. ! INTEGER*4 smg$load_virtual_display EXTERNAL smg$load_virtual_display ! SMG$MOVE_TEXT ! ! Move Text from One Virtual Display to Another ! ! The Move Text from One Virtual Display to Another routine moves a ! rectangle of text from one virtual display to another virtual display. ! Given two points in opposite corners of the rectangle, SMG$MOVE_TEXT ! determines the desired width and height of the new virtual display. ! INTEGER*4 smg$move_text EXTERNAL smg$move_text ! SMG$MOVE_VIRTUAL_DISPLAY ! ! Move Virtual Display ! ! The Move Virtual Display routine relocates a virtual display on a ! pasteboard and preserves the pasting order. ! INTEGER*4 smg$move_virtual_display EXTERNAL smg$move_virtual_display ! SMG$NAME_TO_KEYCODE ! ! Translate a Key Name into a Key Code ! ! The Translate a Key Name into a Key Code routine translates the key ! name of a key on the keyboard into its associated key code. ! INTEGER*4 smg$name_to_keycode EXTERNAL smg$name_to_keycode ! SMG$PASTE_VIRTUAL_DISPLAY ! ! Paste Virtual Display ! ! The Paste Virtual Display routine pastes a virtual display to a ! pasteboard. ! INTEGER*4 smg$paste_virtual_display EXTERNAL smg$paste_virtual_display ! SMG$POP_VIRTUAL_DISPLAY ! ! Delete a Series of Virtual Displays ! ! The Delete a Series of Virtual Displays routine deletes a specified ! virtual display and all displays that were pasted on the specified ! pasteboard on top of the specified virtual display. ! INTEGER*4 smg$pop_virtual_display EXTERNAL smg$pop_virtual_display ! SMG$PRINT_PASTEBOARD ! ! Print Pasteboard Using a Print Queue ! ! The Print Pasteboard Using a Print Queue routine prints the contents ! of the specified pasteboard on a line printer. ! INTEGER*4 smg$print_pasteboard EXTERNAL smg$print_pasteboard ! SMG$PRINT_PASTEBOARD ! ! Print Pasteboard Using a Print Queue ! ! The Print Pasteboard Using a Print Queue routine prints the contents ! of the specified pasteboard on a line printer. ! INTEGER*4 smg$put_chars EXTERNAL smg$put_chars ! SMG$PUT_CHARS_HIGHWIDE ! ! Write Double-Height Double-Width Characters ! ! The Write Double-Height Double-Width Characters routine writes ! double-height, double-width characters to a virtual display. ! INTEGER*4 smg$put_chars_highwide EXTERNAL smg$put_chars_highwide ! SMG$PUT_CHARS_MULTI ! ! Put Text with Multiple Renditions to Display ! ! The Put Text with Multiple Renditions to Display routine writes text ! with ! multiple renditions to the virtual display. ! INTEGER*4 smg$put_chars_multi EXTERNAL smg$put_chars_multi ! SMG$PUT_CHARS_WIDE ! ! Write Double-Width Characters ! ! The Write Double-Width Characters routine writes double-width ! characters to a virtual display. ! INTEGER*4 smg$put_chars_wide EXTERNAL smg$put_chars_wide ! SMG$PUT_HELP_TEXT ! ! Output Help Text to the Display ! ! The Output Help Text to the Display routine retrieves and outputs ! the help text for the specified topic in the virtual display provided. ! INTEGER*4 smg$put_help_text EXTERNAL smg$put_help_text ! SMG$PUT_LINE ! ! Write Line to Virtual Display ! ! The Write Line to Virtual Display routine writes a line of text to a ! virtual display, beginning at the current virtual cursor position. ! INTEGER*4 smg$put_line EXTERNAL smg$put_line ! SMG$PUT_LINE_HIGHWIDE ! ! Write Double-Height and Double-Width Line ! ! The Write Double-Height and Double-Width Line routine writes a line ! of ! text with double-height and double-width characters. ! INTEGER*4 smg$put_line_highwide EXTERNAL smg$put_line_highwide ! SMG$PUT_LINE_MULTI ! ! Write Line with Multiple Renditions to Display ! ! The Write Line with Multiple Renditions to Display routine ! writes lines with multiple renditions to the virtual display, ! optionally followed by cursor movement sequences. ! INTEGER*4 smg$put_line_multi EXTERNAL smg$put_line_multi ! SMG$PUT_LINE_WIDE ! ! Write Double-Width Line ! ! The Write Double-Width Line routine writes a line of double-width ! text ! to a virtual display. ! INTEGER*4 smg$put_line_wide EXTERNAL smg$put_line_wide ! SMG$PUT_PASTEBOARD ! ! Output Pasteboard Using Routine ! ! The Output Pasteboard Using Routine routine accesses the contents of ! a pasteboard. ! INTEGER*4 smg$put_pasteboard EXTERNAL smg$put_pasteboard ! SMG$PUT_STATUS_LINE ! ! Output Line of Text to Hardware Status Line ! ! The Output Line of Text to Hardware Status Line routine outputs a ! line ! of text to the hardware status line. ! INTEGER*4 smg$put_status_line EXTERNAL smg$put_status_line ! SMG$PUT_VIRTUAL_DISPLAY_ENCODED ! ! Write Encoded String To Display ! ! SMG$PUT_VIRTUAL_DISPLAY_ENCODED lets you write a string that has ! multiple video renditions to a virtual display. ! INTEGER*4 smg$put_virtual_display_encoded EXTERNAL smg$put_virtual_display_encoded ! SMG$PUT_WITH_SCROLL ! ! Write Text and Scroll ! ! SMG$PUT_WITH_SCROLL writes a line of text to a virtual display and ! scrolls the display if necessary. ! INTEGER*4 smg$put_with_scroll EXTERNAL smg$put_with_scroll ! SMG$READ_COMPOSED_LINE ! ! Read Composed Line ! ! The Read Composed Line routine reads a line of input composed of ! normal keystrokes and equivalence strings. ! INTEGER*4 smg$read_composed_line EXTERNAL smg$read_composed_line ! SMG$READ_FROM_DISPLAY ! ! Read Text from Display ! ! The Read Text from Display routine reads a line of text from a virtual display. ! INTEGER*4 smg$read_from_display EXTERNAL smg$read_from_display ! SMG$READ_KEYSTROKE ! ! Read a Single Character ! ! The Read a Single Character routine reads a keystroke and returns ! that keystroke's terminator code. ! INTEGER*4 smg$read_keystroke EXTERNAL smg$read_keystroke ! SMG$READ_LOCATOR ! ! Read Locator Information ! ! The Read Locator Information routine reads information from ! a DECwindows workstation terminal's locator device (such as a mouse or ! tablet). ! INTEGER*4 smg$read_locator EXTERNAL smg$read_locator ! SMG$READ_STRING ! ! Read String ! ! The Read String routine reads a string from a virtual keyboard. ! INTEGER*4 smg$read_string EXTERNAL smg$read_string ! SMG$READ_VERIFY ! ! Read and Verify a String ! ! The Read and Verify a String routine reads a sequence of characters ! and verifies the sequence. ! INTEGER*4 smg$read_verify EXTERNAL smg$read_verify ! SMG$REMOVE_LINE ! ! Remove a Line from a Virtual Display ! ! The Remove a Line from a Virtual Display routine removes a line from ! a specified virtual display that was drawn with the SMG$DRAW_LINE or ! SMG$DRAW_RECTANGLE routines. ! INTEGER*4 smg$remove_line EXTERNAL smg$remove_line ! SMG$REPAINT_LINE ! ! Repaint One or More Lines on the Current Pasteboard ! ! The Repaint One or More Lines on the Current Pasteboard routine ! repaints a series of lines on the current pasteboard. ! INTEGER*4 smg$repaint_line EXTERNAL smg$repaint_line ! SMG$REPAINT_SCREEN ! ! Repaint Current Pasteboard ! ! The Repaint Current Pasteboard routine repaints the specified ! pasteboard after ! non-SMG$ I/O has occurred. ! INTEGER*4 smg$repaint_screen EXTERNAL smg$repaint_screen ! SMG$REPASTE_VIRTUAL_DISPLAY ! ! Repaste Virtual Display ! ! The Repaste Virtual Display routine moves a virtual display to a new ! position on the pasteboard. The pasting order is not preserved. ! INTEGER*4 smg$repaste_virtual_display EXTERNAL smg$repaste_virtual_display ! SMG$REPLACE_INPUT_LINE ! ! Replace Input Line ! ! The Replace Input Line routine replaces the specified lines in the ! recall buffer with the specified string. ! ! INTEGER*4 smg$replace_input_line EXTERNAL smg$replace_input_line ! SMG$RESTORE_PHYSICAL_SCREEN ! ! Restore Physical Pasteboard ! ! The Restore Physical Pasteboard routine rewrites the pasteboard ! image as it was at the time the SMG$SAVE_PHYSICAL_SCREEN routine ! was called. ! INTEGER*4 smg$restore_physical_screen EXTERNAL smg$restore_physical_screen ! SMG$RETURN_CURSOR_POS ! ! Return Cursor Position ! ! The Return Cursor Position routine returns the current virtual ! cursor ! position in a specified virtual display. ! INTEGER*4 smg$return_cursor_pos EXTERNAL smg$return_cursor_pos ! SMG$RETURN_INPUT_LINE ! ! Return Input Line ! ! The Return Input Line routine returns to the caller the requested ! line from the recall buffer. This line is retrieved either by ! matching it with a specified string or by specifying the appropriate ! line number. ! INTEGER*4 smg$return_input_line EXTERNAL smg$return_input_line ! SMG$RING_BELL ! ! Ring the Terminal Bell or Buzzer ! ! The Ring the Terminal Bell or Buzzer routine sounds the terminal ! bell or buzzer. ! INTEGER*4 smg$ring_bell EXTERNAL smg$ring_bell ! SMG$SAVE_PHYSICAL_SCREEN ! ! Save Physical Screen ! ! The Save Physical Screen routine saves the contents of the ! pasteboard so ! that a later call to SMG$RESTORE_PHYSICAL_SCREEN can restore it. ! INTEGER*4 smg$save_physical_screen EXTERNAL smg$save_physical_screen ! SMG$SAVE_VIRTUAL_DISPLAY ! ! Save the Virtual Display to a File ! ! The Save the Virtual Display to a File routine saves the contents of ! a ! virtual display and stores it in a file. ! INTEGER*4 smg$save_virtual_display EXTERNAL smg$save_virtual_display ! SMG$SCROLL_DISPLAY_AREA ! ! Scroll Display Area ! ! The Scroll Display Area routine scrolls a rectangular region of a ! virtual display. ! INTEGER*4 smg$scroll_display_area EXTERNAL smg$scroll_display_area ! SMG$SCROLL_VIEWPORT ! ! Scroll a Display Under a Viewport ! ! The Scroll a Display Under a Viewport routine scrolls a virtual ! display under its associated viewport. ! INTEGER*4 smg$scroll_viewport EXTERNAL smg$scroll_viewport ! SMG$SELECT_FROM_MENU ! ! Make a Selection from the Menu ! ! The Make a Selection from the Menu routine lets you move between the ! menu choices using the arrow keys and lets you make a selection by ! pressing the return key. ! INTEGER*4 smg$select_from_menu EXTERNAL smg$select_from_menu ! SMG$SET_BROADCAST_TRAPPING ! ! Enable Broadcast Trapping ! ! The Enable Broadcast Trapping routine enables the trapping of ! broadcast ! messages. ! INTEGER*4 smg$set_broadcast_trapping EXTERNAL smg$set_broadcast_trapping ! SMG$SET_CURSOR_ABS ! ! Set Absolute Cursor Position ! ! The Set Absolute Cursor Position routine moves the virtual cursor to ! the specified position in a virtual display. ! INTEGER*4 smg$set_cursor_abs EXTERNAL smg$set_cursor_abs ! SMG$SET_CURSOR_MODE ! ! Set the Cursor Mode ! ! The Set the Cursor Mode ! routine turns the physical cursor on or off and selects ! jump or smooth scrolling. ! INTEGER*4 smg$set_cursor_mode EXTERNAL smg$set_cursor_mode ! SMG$SET_CURSOR_REL ! ! Move Cursor Relative to Current Position ! ! The Move Cursor Relative to Current Position routine moves the ! virtual ! cursor the specified number of rows and columns from the current ! virtual cursor position in a virtual display. ! INTEGER*4 smg$set_cursor_rel EXTERNAL smg$set_cursor_rel ! SMG$SET_DEFAULT_STATE ! ! Set Default State ! ! The Set Default State routine sets and/or returns the current ! default ! state for a key table. ! INTEGER*4 smg$set_default_state EXTERNAL smg$set_default_state ! SMG$SET_DISPLAY_SCROLL_REGION ! ! Create Display Scrolling Region ! ! The Create Display Scrolling Region routine creates a virtual ! scrolling r ! in a virtual display. ! INTEGER*4 smg$set_display_scroll_region EXTERNAL smg$set_display_scroll_region ! SMG$SET_KEYPAD_MODE ! ! Set Keypad Mode ! ! The Set Keypad Mode routine sets the terminal's numeric keypad to ! either numeric or applications mode. ! INTEGER*4 smg$set_keypad_mode EXTERNAL smg$set_keypad_mode ! SMG$SET_OUT_OF_BAND_ASTS ! ! Set Out-of-Band ASTs ! ! The Set Out-of-Band ASTs routine either enables or disables the ! trapping of out-of-band control characters. ! INTEGER*4 smg$set_out_of_band_asts EXTERNAL smg$set_out_of_band_asts ! SMG$SET_PHYSICAL_CURSOR ! ! Set Cursor on Physical Screen ! ! The Set Cursor on Physical Screen routine moves the physical cursor ! to the specified position on the pasteboard. ! INTEGER*4 smg$set_physical_cursor EXTERNAL smg$set_physical_cursor ! SMG$SET_TERM_CHARACTERISTICS ! ! Change Terminal Characteristics ! ! The Change Terminal Characteristics routine changes or retrieves the ! terminal characteristics for a given pasteboard. ! INTEGER*4 smg$set_term_characteristics EXTERNAL smg$set_term_characteristics ! SMG$SNAPSHOT ! ! Write Snapshot ! ! The Write Snapshot routine writes the current pasteboard buffer to ! the file or hardcopy terminal specified by the pasteboard identifier. ! INTEGER*4 smg$snapshot EXTERNAL smg$snapshot ! SMG$SNAPSHOT_TO_PRINTER ! ! Write Snapshot to Printer ! ! The Write Snapshot to Printer routine writes the current pasteboard ! buffer to the printer attached to the terminal. ! INTEGER*4 smg$snapshot_to_printer EXTERNAL smg$snapshot_to_printer ! SMG$UNPASTE_VIRTUAL_DISPLAY ! ! Remove Virtual Display ! ! The Remove Virtual Display routine removes a virtual display from a ! pasteboard. ! INTEGER*4 smg$unpaste_virtual_display EXTERNAL smg$unpaste_virtual_display !DEC$ END OPTIONS