Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

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.

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026