(LOGO.JPG) Python for OpenVMS

(go to: table of contents, index, list of vms_smg, prev: PUT_LINE, next: PUT_LINE_MULTI)


PUT_LINE_HIGHWIDE - Write Double-Height and Double-Width Line

Writes a line of text with double-height and double-width characters.

Format:

    status = vms_smg.put_line_highwide (display_id, text,    \
                    [line_advance],                          \
                    [rendition_set], [rendition_complement], \
                    [flags], [character_set])
Returns:
status
Condition code as returned from SMG$PUT_LINE_HIGHWIDE. Either SS$_NORMAL or SMG$_WILUSERMS are returned here - all other codes produce a Python exception.
Arguments:
display_id
Identifier of the virtual display in which to put the text.
text
Characters to be written to the virtual display.
line_advance
Specifies the number of lines to advance after output.
rendition_set
Attribute specifier. Bit mask values like SMG_M_BOLD are in module 'vms_smgdef'.
rendition_complement
Attribute complement specifier. There are no symbolic names available - please see the OpenVMS documentation for details.
flags
Bit mask that specifies the action to take if the text does not fit on the line. Values like SMG_M_WRAP_CHAR are in module 'vms_smgdef'.
character_set
The default character set for all text. Constants like SMG_C_ASCII are in module 'vms_smgdef'.
Examples:
>>> import vms_smg
>>> import vms_smgdef

>>> # create a new DECwindows terminal using SMG
>>> status, pasteboard_id, number_of_pasteboard_rows, \
... number_of_pasteboard_columns, type_of_terminal,   \
... device_name = vms_smg.create_pasteboard           \
...   (None, vms_smgdef.SMG_M_WORKSTATION)
>>>

>>> # create virtual display
>>> status, vtdpy1 = vms_smg.create_virtual_display \
...         (5, 10, vms_smgdef.SMG_M_BORDER, None, None)
>>>

>>> # paste virtual display
>>> status = vms_smg.paste_virtual_display \
...          (vtdpy1, pasteboard_id, 3, 5, None)
>>>

>>> # put characters on virtual display
>>> status = vms_smg.put_chars (vtdpy1, '1234567890', 1, 1)
>>> status = vms_smg.put_chars (vtdpy1, 'ABCDEFGHIJ', 2, 1)
>>> status = vms_smg.put_chars (vtdpy1, 'KLMNOPQRST', 3, 1)
>>> status = vms_smg.put_chars (vtdpy1, 'abcdefghij', 4, 1)
>>> status = vms_smg.put_chars (vtdpy1, 'klmnopqrst', 5, 1)
>>>

Screen layout, file: VMS_SMG_008.JPG

(picture VMS_SMG_008.JPG)

>>> # position cursor 
>>> vms_smg.set_cursor_abs (vtdpy1, 2, 2)
>>>

>>> # put line on virtual display
>>> status = vms_smg.put_line_highwide (vtdpy1, 'VD1')
>>>

Screen layout, file: VMS_SMG_043.JPG

(picture VMS_SMG_043.JPG)

Row 2, column 1+2 contain the upper half of 'A'.
Row 3, column 1+2 contain the lower half of 'K'.

>>> # position cursor 
>>> vms_smg.set_cursor_abs (vtdpy1, 4, 3)
>>>

>>> # put line on virtual display - graphics
>>> status = vms_smg.put_line_highwide (vtdpy1, 'qnx', None, None, None, \
...                 None, vms_smgdef.SMG_C_SPEC_GRAPHICS)
>>>

Screen layout, file: VMS_SMG_044.JPG

(picture VMS_SMG_044.JPG)

Row 4, column 1+2 contain the upper half of 'a'.
Row 5, column 1+2 contain the lower half of 'k'.


(go to: table of contents, index, list of vms_smg, prev: PUT_LINE, next: PUT_LINE_MULTI)

10-SEP-2000 ZE.