Document revision date: 19 July 1999
[Compaq] [Go to the documentation home page] [How to order documentation] [Help on this site] [How to contact us]
[OpenVMS documentation]
OpenVMS RTL Screen Management (SMG$) Manual

OpenVMS RTL Screen Management (SMG$) Manual

Order Number: AA--PV6LC--TK


January 1999

This manual documents the screen management routines contained in the SMG$ facility of the OpenVMS Run-Time Library.

Revision/Update Information: This manual supersedes the OpenVMS RTL Screen Management (SMG$) Manual, OpenVMS AXP Version 7.0 and OpenVMS VAX Version 7.0.

Software Version: OpenVMS Alpha Version 7.1 OpenVMS VAX Version 7.1 The content of this document has not changed since OpenVMS Version 7.1.

Compaq Computer Corporation
Houston, Texas


Reprinted January 1999

Compaq Computer Corporation makes no representations that the use of its products in the manner described in this publication will not infringe on existing or future patent rights, nor do the descriptions contained in this publication imply the granting of licenses to make, use, or sell equipment or software in accordance with the description.

Possession, use, or copying of the software described in this publication is authorized only pursuant to a valid written license from Compaq or an authorized sublicensor.

Compaq conducts its business in a manner that conserves the environment and protects the safety and health of its employees, customers, and the community.

© Compaq Computer Corporation 1999. All rights reserved.

The following are trademarks of Compaq Computer Corporation: AXP, Bookreader, DEC, DECdirect, DECnet, DECterm, DECwindows, Digital, Digital Fortran, Digital GKS, FMS, LA50, OpenVMS, OpenVMS Cluster, ReGIS, VAX, VAX Ada, VAX BASIC, VAX BLISS-32, VAX C, VAX COBOL, VAX DIBOL, VAX DOCUMENT, VAX FMS, VAX MACRO, VAX Pascal, VAXcluster, VMS, VMScluster, VT, and the Compaq logo.

The following are third-party trademarks:

Adobe, Adobe Illustrator, Display POSTSCRIPT, and POSTSCRIPT are registered trademarks of Adobe Systems Incorporated.

Motif, OSF, OSF/1, OSF/Motif, and Open Software Foundation are registered trademarks of the Open Software Foundation, Inc.

All other trademarks and registered trademarks are the property of their respective holders.

ZK5935

The OpenVMS documentation set is available on CD-ROM.

This document was prepared using VAX DOCUMENT, Version V3.2n.

Contents Index


Preface

This manual provides users of the OpenVMS operating system with detailed usage and reference information on screen management routines supplied in the SMG$ facility of the OpenVMS Run-Time Library (RTL).

Intended Audience

This manual is intended for system and application programmers who write programs that call SMG$ Run-Time Library routines.

Document Structure

This manual is organized into two parts as follows:

Related Documents

The Run-Time Library routines are documented in a series of reference manuals. A description of how the Run-Time Library routines are accessed is presented in OpenVMS Programming Interfaces: Calling a System Routine. A description of OpenVMS features and functionality available through calls to the SMG$ Run-Time Library appears in the OpenVMS Programming Concepts Manual. Descriptions of other RTL facilities and their corresponding routines and usages are discussed in the following books:

The Guide to DECthreads contains guidelines and reference information for DECthreads, Digital's Multithreading Run-Time Library.

The OpenVMS Command Definition, Librarian, and Message Utilities Manual provides information useful for writing applications that utilize line composition with keypad keys.

The OpenVMS I/O User's Reference Manual contains information about using mailboxes.

Application programmers using any programming language can refer to the Guide to Creating OpenVMS Modular Procedures for writing modular and reentrant code.

High-level language programmers will find additional information on calling Run-Time Library routines in their language reference manual. Additional information may also be found in the language user's guide provided with your OpenVMS language software.

For a complete list and description of the manuals in the OpenVMS documentation set, see the Overview of OpenVMS Documentation.

For additional information on the Open Systems Software Group (OSSG) products and services, access the following OpenVMS World Wide Web address:


http://www.openvms.digital.com 

Reader's Comments

Compaq welcomes your comments on this manual.

Print or edit the online form SYS$HELP:OPENVMSDOC_COMMENTS.TXT and send us your comments by:
Internet openvmsdoc@zko.mts.dec.com
Fax 603 884-0120, Attention: OSSG Documentation, ZKO3-4/U08
Mail Compaq Computer Corporation
OSSG Documentation Group, ZKO3-4/U08
110 Spit Brook Rd.
Nashua, NH 03062-2698

How To Order Additional Documentation

Use the following World Wide Web address to order additional documentation:


 http://www.openvms.digital.com:81/ 

If you need help deciding which documentation best meets your needs, call 800-344-4825.

Conventions

The following conventions are used in this manual:
Ctrl/ x A sequence such as Ctrl/ x indicates that you must hold down the key labeled Ctrl while you press another key or a pointing device button.
PF1 x A sequence such as PF1 x x indicates that you must first press and release the key labeled PF1 and then press and release another key or a pointing device button.
[Return] In examples, a key name enclosed in a box indicates that you press a key on the keyboard. (In text, a key name is not enclosed in a box.)
... A horizontal ellipsis in examples indicates one of the following possibilities:
  • Additional optional arguments in a statement have been omitted.
  • The preceding item or items can be repeated one or more times.
  • Additional parameters, values, or other information can be entered.
.
.
.
A vertical ellipsis indicates the omission of items from a code example or command format; the items are omitted because they are not important to the topic being discussed.
( ) In command format descriptions, parentheses indicate that, if you choose more than one option, you must enclose the choices in parentheses.
[ ] In command format descriptions, brackets indicate optional elements. You can choose one, none, or all of the options. (Brackets are not optional, however, in the syntax of a directory name in an OpenVMS file specification or in the syntax of a substring specification in an assignment statement.)
{ } In command format descriptions, braces indicate a required choice of options; you must choose one of the options listed.
bold text This text style represents the introduction of a new term or the name of an argument, an attribute, or a reason.
italic text Italic text indicates important information, complete titles of manuals, or variables. Variables include information that varies in system output (Internal error number), in command lines (/PRODUCER= name), and in command parameters in text (where device-name contains up to five alphanumeric characters).
UPPERCASE TEXT Uppercase text indicates a command, the name of a routine, the name of a file, or the abbreviation for a system privilege.
Monospace text

Monospace type indicates code examples and interactive screen displays.

In the C programming language, monospace type in text identifies the following elements: keywords, the names of independently compiled external functions and files, syntax summaries, and references to variables or identifiers introduced in an example.

- A hyphen at the end of a command format description, command line, or code line indicates that the command or statement continues on the following line.
numbers All numbers in text are assumed to be decimal unless otherwise noted. Nondecimal radixes---binary, octal, or hexadecimal---are explicitly indicated.


Part 1
SMG$ Tutorial Section

This part of the OpenVMS RTL Screen Management (SMG$) Manual contains introductory chapters that provide guidelines and reference material on specific types of screen management routines. The material is covered as follows:


Chapter 1
Overview of the Screen Management Facility (SMG$)

This manual discusses the Run-Time Library routines that perform terminal-independent functions. The most important aspect of the Screen Management Facility is that user programs are entirely separate from the physical devices that actually perform input and output. Instead of writing directly to a physical screen, the user program writes to a virtual display. Similarly, instead of performing input directly from a physical keyboard, user programs perform input from a virtual keyboard. (Virtual displays and virtual keyboards are logical entities whose usage is described more fully in the following sections.) This separation of virtual operations from physical operations is what allows input/output to be terminal independent.

The SMG$ routines listed below assist you in designing, composing, and keeping track of complex images on a video screen. These routines are meant for the types of operations you would normally perform on a VT100-class terminal; they also provide software emulation of screen management functions on terminals that do not have these functions implemented in their hardware. While these routines are primarily intended for use with video terminals, they can also be used with hardcopy devices and files. The following lists contain all the screen management routines grouped according to their functions.

Table 1-1 lists routines that support third-party terminals; Chapter 5 discusses the routines.

Table 1-2 lists the SMG$ input routines; Chapter 3 discusses the routines.

Table 1-3 lists the SMG$ output routines; Chapter 2 discusses the routines.

Table 1-1 Routines That Support Third-Party Terminals
SMG$DEL_TERM_TABLE SMG$GET_NUMERIC_DATA
SMG$GET_TERM_DATA SMG$INIT_TERM_TABLE
SMG$INIT_TERM_TABLE_BY_TYPE  

Table 1-2 Input Routines
SMG$ADD_KEY_DEF SMG$CANCEL_INPUT
SMG$CREATE_KEY_TABLE SMG$CREATE_VIRTUAL_KEYBOARD
SMG$DEFINE_KEY SMG$DELETE_KEY_DEF
SMG$DELETE_VIRTUAL_KEYBOARD SMG$GET_KEY_DEF
SMG$GET_KEYBOARD_ATTRIBUTES SMG$KEYCODE_TO_NAME
SMG$LIST_KEY_DEFS SMG$LOAD_KEY_DEFS
SMG$NAME_TO_KEYCODE SMG$READ_COMPOSED_LINE
SMG$READ_KEYSTROKE SMG$READ_LOCATOR
SMG$READ_STRING SMG$READ_VERIFY
SMG$REPLACE_INPUT_LINE SMG$RETURN_INPUT_LINE
SMG$SET_DEFAULT_STATE SMG$SET_KEYPAD_MODE

Table 1-3 Output Routines
SMG$BEGIN_DISPLAY_UPDATE SMG$BEGIN_PASTEBOARD_UPDATE
SMG$CHANGE_PBD_CHARACTERISTICS SMG$CHANGE_RENDITION
SMG$CHANGE_VIEWPORT SMG$CHANGE_VIRTUAL_DISPLAY
SMG$CHECK_FOR_OCCLUSION SMG$CONTROL_MODE
SMG$COPY_VIRTUAL_DISPLAY SMG$CREATE_MENU
SMG$CREATE_PASTEBOARD SMG$CREATE_SUBPROCESS
SMG$CREATE_VIEWPORT SMG$CREATE_VIRTUAL_DISPLAY
SMG$CURSOR_COLUMN SMG$CURSOR_ROW
SMG$DELETE_CHARS SMG$DELETE_LINE
SMG$DELETE_MENU SMG$DELETE_PASTEBOARD
SMG$DELETE_SUBPROCESS SMG$DELETE_VIEWPORT
SMG$DELETE_VIRTUAL_DISPLAY SMG$DISABLE_BROADCAST_TRAPPING
SMG$DISABLE_UNSOLICITED_INPUT SMG$DRAW_CHAR
SMG$DRAW_LINE SMG$DRAW_RECTANGLE
SMG$ENABLE_UNSOLICITED_INPUT SMG$END_DISPLAY_UPDATE
SMG$END_PASTEBOARD_UPDATE SMG$ERASE_CHARS
SMG$ERASE_COLUMN SMG$ERASE_DISPLAY
SMG$ERASE_LINE SMG$ERASE_PASTEBOARD
SMG$EXECUTE_COMMAND SMG$FIND_CURSOR_DISPLAY
SMG$FLUSH_BUFFER SMG$FLUSH_DISPLAY_UPDATE
SMG$GET_BROADCAST_MESSAGE SMG$GET_CHAR_AT_PHYSICAL_CURSOR
SMG$GET_DISPLAY_ATTR SMG$GET_PASTEBOARD_ATTRIBUTES
SMG$GET_PASTING_INFO SMG$GET_VIEWPORT_CHAR
SMG$HOME_CURSOR SMG$INSERT_CHARS
SMG$INSERT_LINE SMG$INVALIDATE_DISPLAY
SMG$LABEL_BORDER SMG$LIST_PASTEBOARD_ORDER
SMG$LIST_PASTING_ORDER SMG$LOAD_VIRTUAL_DISPLAY
SMG$MOVE_TEXT SMG$MOVE_VIRTUAL_DISPLAY
SMG$PASTE_VIRTUAL_DISPLAY SMG$POP_VIRTUAL_DISPLAY
SMG$PRINT_PASTEBOARD SMG$PUT_CHARS
SMG$PUT_CHARS_HIGHWIDE SMG$PUT_CHARS_MULTI
SMG$PUT_CHARS_WIDE SMG$PUT_HELP_TEXT
SMG$PUT_LINE SMG$PUT_LINE_HIGHWIDE
SMG$PUT_LINE_MULTI SMG$PUT_LINE_WIDE
SMG$PUT_PASTEBOARD SMG$PUT_STATUS_LINE
SMG$READ_FROM_DISPLAY SMG$REMOVE_LINE
SMG$REPAINT_LINE SMG$REPAINT_SCREEN
SMG$REPASTE_VIRTUAL_DISPLAY SMG$RESTORE_PHYSICAL_SCREEN
SMG$RETURN_CURSOR_POS SMG$RING_BELL
SMG$SAVE_PHYSICAL_SCREEN SMG$SAVE_VIRTUAL_DISPLAY
SMG$SCROLL_DISPLAY_AREA SMG$SCROLL_VIEWPORT
SMG$SELECT_FROM_MENU SMG$SET_BROADCAST_TRAPPING
SMG$SET_CURSOR_ABS SMG$SET_CURSOR_MODE
SMG$SET_CURSOR_REL SMG$SET_DISPLAY_SCROLL_REGION
SMG$SET_OUT_OF_BAND_ASTS SMG$SET_PHYSICAL_CURSOR
SMG$SET_TERM_CHARACTERISTICS SMG$SNAPSHOT
SMG$SNAPSHOT_TO_PRINTER SMG$UNPASTE_VIRTUAL_DISPLAY

The Screen Management Facility provides two important services:

The following sections discuss the fundamental elements of screen management. These elements are the pasteboard, the virtual display, the viewport, and the virtual keyboard.


Next Contents Index

  [Go to the documentation home page] [How to order documentation] [Help on this site] [How to contact us]  
  privacy and legal statement  
5935PRO.HTML