PAD_$INTRO Domain/OS PAD_$INTRO
NAME
intro - the Display Manager
SYNOPSIS (C)
#include <apollo/base.h>
#include <apollo/pad.h>
SYNOPSIS (Pascal)
%include '/sys/ins/base.ins.pas';
%include '/sys/ins/pad.ins.pas';
SYNOPSIS (FORTRAN)
%include '/sys/ins/base.ins.ftn'
%include '/sys/ins/pad.ins.ftn'
DESCRIPTION
The pad_$ calls allow programs to create pads, windows, and window panes,
and to manipulate text on the display.
The following is a list of the pad_$ calls.
pad_$clear_frame clear a frame
pad_$close_frame close a frame
pad_$cooked put a transcript pad in cooked mode
pad_$cpr_enable enable cursor position reports
pad_$create create a new pad and window pane
pad_$create_frame create a frame
pad_$create_icon create a new pad and associated window
icon
pad_$create_window create a new pad and a window to view it
pad_$def_pfk define a program function key
pad_$delete_frame clear and delete a frame
pad_$dm_cmd execute a Display Manager command
pad_$edit_wait wait until an edit window closes
pad_$force_prompt force an incomplete record to an input pad
pad_$icon_wait wait until an icon expands or moves
pad_$inq_disp_type find out the display type
pad_$inq_font find out about the current font
pad_$inq_full_window get the total display region occupied by a
window
pad_$inq_icon get icon information
pad_$inq_icon_font get the current icon font
pad_$inq_kbd find out about the keyboard
pad_$inq_position find the output cursor
pad_$inq_view find out the pad region under the window
pad_$inq_windows list the windows on a pad
pad_$is_icon find out whether a window is an icon
pad_$isa test a stream for the pad trait
pad_$isa_dm_pad test whether a stream is open on a local
DM pad
pad_$load_font load a character font
pad_$locate locate the keyboard cursor
pad_$make_icon change a window into an icon
pad_$make_invisible make a window invisible
pad_$move move the output cursor
pad_$pop_push_window pop or push a window
pad_$raw place a pad in raw mode
pad_$select_window make a window visible and full-size
pad_$set_auto_close close a window when its pad closes
pad_$set_border add or remove a window border
pad_$set_full_window establish a window region
pad_$set_icon_font choose a new icon font
pad_$set_icon_pos establish an icon position and icon char-
acter
pad_$set_scale set a scale factor for cursor operations
pad_$set_tabs set tab stops within a pad
pad_$set_view define the pad region under a window
pad_$use_font use a new loaded font
Constants
pad_$bs
When written to a pad open under a window, this moves the output
cursor one character position to the left if there is any room in
the window.
pad_$cpr_all
Directs pad_$cpr_enable to report each raw keystroke in a cursor
position report.
pad_$cpr_change
Directs pad_$cpr_enable to report only position changes since the
last output call or cursor position report.
pad_$cpr_draw
Directs pad_$cpr_enable to report on all touchpad data in a cursor
position report.
pad_$cpr_flag
Indicates that the next five bytes of input from a pad are a cursor
position report.
pad_$cpr_none
Directs pad_$cpr_enable to not make cursor position reports.
pad_$cpr_pick
Directs pad_$cpr_enable to report the cursor position only after it
has settled when moved by the touchpad.
pad_$cr
When written to a pad open under a window this returns the output
cursor to the left edge of the pad at the line it is on.
pad_$escape
When written to a pad open under a window, this prevents the Display
Manager from interpreting the next character as a control character.
pad_$ff
When written to a pad open under a window, this scrolls the pad so
that new output starts at the top of the window.
pad_$left_window
When received in a cursor position report, this indicates that the
cursor has left the window.
pad_$max_tabstops
The maximum number of tab stops that can be set via pad_$set_tabs.
pad_$newline
Indicates the end of an input or output line in pad I/O.
pad_$no_key
When received in a cursor position report, this indicates that the
report was not generated by a keystroke, and so no keystroke data
accompanies the report.
pad_$tab
When written to a pad, this moves the output cursor to the next tab
stop.
Data Types
pad_$coordinate_t
A single bitmap coordinate.
pad_$cre_opt_t
A small set of options for pane creation that can hold any combina-
tion of the following elements:
pad_$abs_size
Designates a size parameter is absolute, rather than relative
to the size of the existing pad.
pad_$curs_off
Create a window that is not reachable by Display Manager com-
mands that move the cursor between windows. Specify
pad_$curs_off when there is no use for the cursor in the new
window.
pad_$init_raw
The created pad is initially in raw mode, rather than normal
(cooked) mode.
pad_$display_type_t
Used by pad_$inq_disp_type to indicate the type of display associ-
ated with a stream ID. It is an enumerated type that assumes one of
the following values:
pad_$800_color
Color display of 1024 x 800 pixels.
pad_$bw_15P
Black and white portrait display.
pad_$bw_19L
Black and white landscape display.
pad_$bw4_1280x1024
pad_$bw5_1024x800
pad_$color_display
Color display of 1024 x 1024 pixels.
pad_$color2_display
pad_$color3_display
pad_$color4_display
pad_$color5_display
pad_$none
No display.
pad_$reserved_display
pad_$key_def_t
An array of up to 128 characters holding a Display Manager command
definition for a programmable function key.
pad_$key_name_t
An array of up to four characters holding the name of a programmable
function key.
pad_$position_t
A record containing the x- and y-coordinates of a point on the
display. The members of the record are
y_coord
The y-coordinate of the point on the display.
x_coord
The x-coordinate of the point on the display.
15 0
______________________________________________________________
| y_coord |
|_____________________________________________________________|
| x_coord |
______________________________________________________________
15 0
pad_$rel_abs_t
An enumerated type for specifying the type of cursor coordinates
passed to pad_$move. It assumes one of the following values:
pad_$absolute
Coordinates are absolute from a fixed origin. The coordinate
origin within a frame is the top left corner of the frame. The
origin outside of a frame is the left end of the current line.
pad_$relative
Coordinates are relative to the previous location. They denote
positive or negative offsets to the current cursor position.
pad_$side_t
An enumerated type for specifying which side of an existing window
pad_$create should create a new pad and window on. It assumes one
of the following values:
pad_$bottom
The bottom of the window.
pad_$left
The left side of the window.
pad_$right
The right side of the window.
pad_$top
The top of the window.
pad_$string_t
An array of up to 1024 characters used to pass string arguments to
pad_$ calls.
pad_$tabstop_buf_t
An array of up to pad_$max_tabstops integers. Each element is a
column number at which a tab stop will be set. Column numbers are
multiplied by the current scale factors to determine the screen
positions for the tab stops.
pad_$type_t
An enumerated type for indicating a type of pad. It assumes one of
the following values:
pad_$edit
An edit pad.
pad_$input
An input pad.
pad_$transcript
A transcript pad.
pad_$read_edit
A read/edit pad.
pad_$window_desc_t
A record defining the position of a window on the display screen.
The members of the record are
top The y-coordinate of the top left corner of the window, in ras-
ter units.
left The x-coordinate of the top left corner of the window, in ras-
ter units.
width
The width of the window divided by the current x-scale factor.
height
The height of the window, divided by the current y-scale fac-
tor.
15 0
______________________________________________________________
| top |
|_____________________________________________________________|
| left |
|_____________________________________________________________|
| width |
|_____________________________________________________________|
| height |
______________________________________________________________
15 0
pad_$window_list_t
An array of up to 10 pad_$window_desc_t records.
Errors
pad_$2mny_clients
Operation is illegal with more than one client process.
pad_$2mny_input_pads
Only one input pad allowed per transcript.
pad_$bad_key_name
Key name not found.
pad_$edit_quit
The user quit out of edit pane.
pad_$font_file_err
Could not access font file.
pad_$id_oor
Stream ID out of range.
pad_$ill_param_comb
Conflict in pad_$create call.
pad_$ill_ptype
Cannot perform operation on this type of pad.
pad_$no_such_window
A bad window number was specified.
pad_$no_window
Window no longer exists.
pad_$not_ascii
File specified in pad_$create is not ASCII.
pad_$not_input
Operation is valid on input pads only.
pad_$not_raw
Operation requires pad be in raw mode.
pad_$not_transcript
Operation is valid on transcript pads only.
pad_$stream_not_open
No stream open on the specified stream ID.
pad_$stream_not_pad
Proffered stream is not a pad.
pad_$too_many_fonts
Too many fonts loaded in this pad.
pad_$voor
Value out of range.