## textpane-to-screenline.pkg
#
# Here we define the port which
#
#
src/lib/x-kit/widget/edit/screenline.pkg#
# exports to
#
#
src/lib/x-kit/widget/edit/textpane.pkg# Compiled by:
#
src/lib/x-kit/widget/xkit-widget.sublibstipulate
include package threadkit; # threadkit is from
src/lib/src/lib/thread-kit/src/core-thread-kit/threadkit.pkg #
package g2d = geometry2d; # geometry2d is from
src/lib/std/2d/geometry2d.pkg package nl = red_black_numbered_list; # red_black_numbered_list is from
src/lib/src/red-black-numbered-list.pkg package l2p = screenline_to_textpane; # screenline_to_textpane is from
src/lib/x-kit/widget/edit/screenline-to-textpane.pkgherein
# This port is implemented in:
#
#
src/lib/x-kit/widget/edit/screenline.pkg #
package textpane_to_screenline {
#
Cursor_At = CURSOR_AT_START
| CURSOR_AT_END
| NO_CURSOR
;
Linestate
=
{ prompt: String, # Text to display before line. Typically the empty string.
text: String, # Text to display, starting in first visible column (column 0).
cursor_at: Cursor_At, # Screen-column for cursor, if it is visible on this line.
selected: Null_Or((Int,Null_Or(Int))), # Columns to show as being selected (i.e., in reverse video). NULL means no chars are selected on this line. THE(start,THE stop) designates columns 'start' to 'stop' inclusive. THE(start,NULL) designates 'start' through end of line.
screencol0: Int, # Leftmost column to display -- used to scroll display horizontally. 0 means show leftmost part of each line. Negative values are not allowed.
background: rgb::Rgb
};
Textpane_To_Screenline
=
{ screenline_id: Id,
textpane_id: Id, # We belong to this Textpane instance.
paneline: Int, # Which line on the Textpane do we display? (First is 1.)
#
get_active: Void -> Bool,
get_state: Void -> Linestate,
set_active_to: Bool -> Void,
set_state_to: Linestate -> Void, #
note__screenline_to_textpane: l2p::Screenline_To_Textpane -> Void
};
};
end;