Document revision date: 19 July 1999 | |
Previous | Contents | Index |
The Restore Physical Pasteboard routine rewrites the pasteboard image as it was at the time the SMG$SAVE_PHYSICAL_SCREEN routine was called.
SMG$RESTORE_PHYSICAL_SCREEN pasteboard-id ,display-id
OpenVMS usage: cond_value type: longword (unsigned) access: write only mechanism: by value
pasteboard-id
OpenVMS usage: identifier type: longword (unsigned) access: read only mechanism: by reference
Specifies the pasteboard to be restored. The pasteboard-id argument is the address of an unsigned longword that contains the pasteboard identifier.The pasteboard identifier is returned by the SMG$CREATE_PASTEBOARD routine.
display-id
OpenVMS usage: identifier type: longword (unsigned) access: read only mechanism: by reference
Specifies the virtual display created by the SMG$SAVE_PHYSICAL_SCREEN routine. The display-id argument is the address of an unsigned longword that contains this display identifier.
SMG$RESTORE_PHYSICAL_SCREEN reproduces the pasteboard image saved by the SMG$SAVE_PHYSICAL_SCREEN routine. You must pass the display-id returned by the SMG$SAVE_PHYSICAL_SCREEN routine to the SMG$RESTORE_PHYSICAL_SCREEN routine. Note that when performing multiple calls to SMG$SAVE_PHYSICAL_SCREEN and SMG$RESTORE_PHYSICAL_SCREEN, the calls must be performed in a nested fashion; that is, the last pasteboard saved must be the first one restored.
SS$_NORMAL Normal successful completion. SMG$_INVDIS_ID Invalid display-id. SMG$_INVPAS_ID Invalid pasteboard-id.
The Return Cursor Position routine returns the current virtual cursor position in a specified virtual display.
SMG$RETURN_CURSOR_POS display-id ,start-row ,start-column
OpenVMS usage: cond_value type: longword (unsigned) access: write only mechanism: by value
display-id
OpenVMS usage: identifier type: longword (unsigned) access: read only mechanism: by reference
Specifies the virtual display whose current virtual cursor position you are requesting. The display-id argument is the address of an unsigned longword that contains the display identifier.The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.
start-row
OpenVMS usage: longword_signed type: longword (signed) access: write only mechanism: by reference
Receives the virtual cursor's current row position within the specified virtual display. The start-row argument is the address of a signed longword into which is written the current row position.start-column
OpenVMS usage: longword_signed type: longword (signed) access: write only mechanism: by reference
Receives the virtual cursor's current column position within the specified virtual display. The start-column argument is the address of a signed longword into which is written the current column position.
SMG$RETURN_CURSOR_POS returns the virtual cursor's current row and column positions in a specified virtual display.
SS$_NORMAL Normal successful completion. SMG$_INVDIS_ID Invalid display-id. SMG$_WRONUMARG Wrong number of arguments.
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.
SMG$RETURN_INPUT_LINE keyboard-id ,resultant-string [,match-string] [,byte-integer-line-number] [,resultant-length]
OpenVMS usage: cond_value type: longword (unsigned) access: write only mechanism: by value
keyboard-id
OpenVMS usage: identifier type: longword (unsigned) access: read only mechanism: by reference
Keyboard identifier. The keyboard-id argument is the address of an unsigned longword containing the identifier of the virtual keyboard from which to read.The virtual keyboard is created by calling the SMG$CREATE_VIRTUAL_KEYBOARD routine.
resultant-string
OpenVMS usage: char_string type: character string access: write only mechanism: by descriptor
String into which is written the complete recalled line. The resultant-string argument is the address of a descriptor pointing to this string.match-string
OpenVMS usage: char_string type: character string access: read only mechanism: by descriptor
Match string to be used when searching for the line to be recalled. The optional match-string argument is the address of a descriptor pointing to this match string. The search begins with the last line typed.byte-integer-line-number
OpenVMS usage: byte_unsigned type: byte (unsigned) access: read only mechanism: by reference
Line number to be used when searching for the line to be recalled. The optional byte-integer-line-number argument is the address of an unsigned byte containing the number of the line to be recalled. The last line typed is line number 1.resultant-length
OpenVMS usage: word_unsigned type: word (unsigned) access: write only mechanism: by reference
Length of the resultant-string string. The optional resultant-length argument is the address of an unsigned word containing either the number of characters read or the maximum length of resultant-string, whichever is less.
SMG$RETURN_INPUT_LINE returns to the caller the specified line in the recall buffer. This routine aids in an implementation similar to the DCL command RECALL.If you specify the match-string argument, SMG$RETURN_INPUT_LINE searches for and returns the line that matches the specified string. If you specify the byte-integer-line-number argument, SMG$RETURN_INPUT_LINE returns the line that corresponds to the specified line number. If you specify both match-string and byte-integer-line-number, SMG$_INVARG is returned. If you specify match-string and a match is not made, SMG$_LINNOTFND is returned.
SS$_NORMAL Normal successful completion. SMG$_INVARG Invalid argument. SMG$_INVKBD_ID Invalid keyboard-id. SMG$_LINNOTFND Matching line was not found. SMG$_WRONUMARG Wrong number of arguments. LIB$_ xxx Any error from LIB$SCOPY_R_DX.
!+ ! This FORTRAN example uses the routine ! SMG$RETURN_INPUT_LINE to implement a ! RECALL/ALL command. !- IMPLICIT INTEGER (A-Z) INCLUDE '($SMGDEF)' INCLUDE '($SMGMSG)' CHARACTER*20 TEXT WRITE (5,*) 'Enter number of lines to save.' READ (5,*) R S = SMG$CREATE_PASTEBOARD(PBID) IF (.NOT. S) CALL LIB$STOP(%VAL(S)) S = SMG$CREATE_VIRTUAL_DISPLAY(22,70,DID,SMG$M_BORDER) IF (.NOT. S) CALL LIB$STOP(%VAL(S)) S = SMG$CREATE_VIRTUAL_KEYBOARD(KBID,,,,R) IF (.NOT. S) CALL LIB$STOP(%VAL(S)) S = SMG$PUT_LINE(DID,'Enter lines of text:') IF (.NOT. S) CALL LIB$STOP(%VAL(S)) S = SMG$PASTE_VIRTUAL_DISPLAY(DID,PBID,2,2) IF (.NOT. S) CALL LIB$STOP(%VAL(S)) !+ ! Read in lines of text. !- DO 10 I = 1,R S = SMG$READ_COMPOSED_LINE(KBID,,TEXT,'Example>',,DID) IF (.NOT. S) CALL LIB$STOP(%VAL(S)) 10 CONTINUE S = SMG$PUT_LINE(DID,'**** The lines of text are:') IF (.NOT. S) CALL LIB$STOP(%VAL(S)) !+ ! Recall all lines in the buffer. !- DO 30 N = 1,R S = SMG$RETURN_INPUT_LINE(KBID,TEXT,,N) IF (.NOT. S) CALL LIB$STOP(%VAL(S)) S = SMG$PUT_LINE(DID,TEXT) IF (.NOT. S) CALL LIB$STOP(%VAL(S)) 30 CONTINUE !+ ! Recall the line containing 'fox' !- S = SMG$PUT_LINE(DID,'**** The line containing "fox" is:',2) IF (.NOT. S) CALL LIB$STOP(%VAL(S)) S = SMG$RETURN_INPUT_LINE(KBID,TEXT,'FOX') IF (S .EQ. SMG$_LINNOTFND) TEXT = 'None found!' S = SMG$PUT_LINE(DID,TEXT) IF (.NOT. S) CALL LIB$STOP(%VAL(S)) END |
One sample of the output generated by this Fortran program is as follows:
$ RUN RETURN Enter number of lines to save. 3 Enter lines of text: Example> PASTEBOARD Example> DISPLAY Example> KEYBOARD ****The lines of text are: KEYBOARD DISPLAY PASTEBOARD ****The line containing "fox" is: None found!
The Ring the Terminal Bell or Buzzer routine sounds the terminal bell or buzzer.
SMG$RING_BELL display-id [,number-of-times]
OpenVMS usage: cond_value type: longword (unsigned) access: write only mechanism: by value
display-id
OpenVMS usage: identifier type: longword (unsigned) access: read only mechanism: by reference
Specifies the virtual display for which the bell or buzzer sounds. The display-id argument is the address of an unsigned longword that contains the display identifier.The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.
number-of-times
OpenVMS usage: longword_signed type: longword integer (signed) access: read only mechanism: by reference
Specifies the number of times the bell or buzzer is sounded. The number-of-times argument is the address of a signed longword integer that contains the number of times the bell or buzzer is sounded. If number-of-times is omitted, 1 is used.
SMG$RING_BELL sounds the bell or buzzer on each pasteboard to which the specified virtual display is pasted. The bell or buzzer sounds the number of times specified; the default number of times is 1.
SS$_NORMAL Normal successful completion. SMG$_INVDIS_ID Invalid display-id.
Any condition values returned by $QIOW, LIB$GET_VM, LIB$FREE_VM.
The Save Physical Screen routine saves the contents of the pasteboard so that a later call to SMG$RESTORE_PHYSICAL_SCREEN can restore it.
SMG$SAVE_PHYSICAL_SCREEN pasteboard-id ,display-id [,desired-start-row] [,desired-end-row]
OpenVMS usage: cond_value type: longword (unsigned) access: write only mechanism: by value
pasteboard-id
OpenVMS usage: identifier type: longword (unsigned) access: read only mechanism: by reference
Specifies the pasteboard whose contents are to be saved. The pasteboard-id argument is the address of an unsigned longword that contains the pasteboard identifier.display-id
OpenVMS usage: identifier type: longword (unsigned) access: write only mechanism: by reference
Receives the display identifier of the display created to contain the contents of the specified pasteboard. The display-id argument is the address of an unsigned longword into which the display identifier is written.The display identifier must be passed to the SMG$RESTORE_PHYSICAL_SCREEN routine to restore the saved information.
desired-start-row
OpenVMS usage: longword_signed type: longword (signed) access: read only mechanism: by reference
Specifies the first row to be saved. The desired-start-row argument is the address of a signed longword that contains the row number. If desired-start-row is omitted, row 1 of the pasteboard is used.
desired-end-row
OpenVMS usage: longword_signed type: longword (signed) access: read only mechanism: by reference
Specifies the last row to be saved. The desired-end-row argument is the address of a signed longword that contains the row number. If desired-end-row is omitted, the last row of the pasteboard is used.
SMG$SAVE_PHYSICAL_SCREEN blanks the screen by creating a virtual display that is as wide as the specified pasteboard and as high as specified by the desired-start-row and desired-end-row arguments. If these two arguments are omitted, the created virtual display is as high as the specified pasteboard. The information saved --- that is, the pasteboard image --- can be restored by calling the SMG$RESTORE_PHYSICAL_SCREEN routine. When performing multiple calls to SMG$SAVE_PHYSICAL_SCREEN and SMG$RESTORE_PHYSICAL_SCREEN, the calls must be performed in a nested order; that is, the last pasteboard saved must be the first one restored, and so on.These routines are useful when calling a procedure that may send output to the screen without using the Screen Management Facility. Before calling such a procedure, you save the pasteboard image with SMG$SAVE_PHYSICAL_SCREEN. After the procedure executes, you restore the pasteboard image with SMG$RESTORE_PHYSICAL_SCREEN.
Note that the saved region must encompass at least two rows. When you use SMG$SAVE_PHYSICAL_SCREEN on a terminal that does not support scrolling regions, you must save and restore the entire pasteboard.
SS$_NORMAL Normal successful completion. SMG$_INVPAS_ID Invalid pasteboard-id. SMG$_INVROW Invalid row, or range specified does not encompass at least two rows. SMG$_WRONUMARG Wrong number of arguments. LIB$_INSVIRMEM Insufficient virtual memory.
The Save the Virtual Display to a File routine saves the contents of a virtual display and stores it in a file.
SMG$SAVE_VIRTUAL_DISPLAY display-id [,filespec]
OpenVMS usage: cond_value type: longword (unsigned) access: write only mechanism: by value
display-id
OpenVMS usage: identifier type: longword (unsigned) access: read only mechanism: by reference
Specifies the virtual display to be saved. The display-id argument is the address of an unsigned longword that contains the display identifier.The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.
filespec
OpenVMS usage: char_string type: character string access: read only mechanism: by descriptor
String containing the file specification of the file in which the specified virtual display is saved. The filespec argument is the address of a descriptor pointing to the character string containing the file specification.A new file is created each time this routine is called. If filespec is omitted, the default file specification is SMGDISPLY.DAT.
SMG$SAVE_VIRTUAL_DISPLAY saves the contents of a virtual display and stores it in a nonprintable file. The text, renditions, and all attributes necessary to reconstruct the virtual display are saved. Menu, viewport, and subprocess context are not saved. The SMG$LOAD_VIRTUAL_DISPLAY routine restores the virtual display.
SS$_NORMAL Normal successful completion. SMG$_INVDIS_ID Invalid display-id. RMS$_ xxxx Any error returned by $OPEN, $CONNECT, $PUT, $CLOSE.
Previous | Next | Contents | Index |
privacy and legal statement | ||
5935PRO_034.HTML |