Struct Terminal
pub struct Terminal { /* private fields */ }
dep_fltk
only.Expand description
Creates a scrollable display widget to handle terminal-like behavior, such as logging events or debug information. Replaces SimpleTerminal widget
Implementations§
§impl Terminal
impl Terminal
pub fn set_ansi(&mut self, arg1: bool)
pub fn set_ansi(&mut self, arg1: bool)
Enable/disable ANSI mode. If true, ANSI and VT100/xterm codes will be processed. If false, these codes won’t be processed and will either be ignored or print the error character “¿”, depending on the value of show_unknown().
pub fn append(&mut self, s: &str)
pub fn append(&mut self, s: &str)
Appends text to the terminal at current cursor position using the current text color/attributes. Redraws are managed automatically by default; see redraw_style()
pub fn append_u8(&mut self, s: &[u8])
pub fn append_u8(&mut self, s: &[u8])
Appends data to the terminal at current cursor position using the current text color/attributes Redraws are managed automatically by default; see redraw_style()
pub fn append_ascii(&mut self, s: &str)
pub fn append_ascii(&mut self, s: &str)
Appends text to the terminal at current cursor position using the current text color/attributes. Slightly more efficient than append_utf8 Redraws are managed automatically by default; see redraw_style()
pub fn append_utf8(&mut self, s: &str)
pub fn append_utf8(&mut self, s: &str)
Appends text to the terminal at current cursor position using the current text color/attributes. Handles UTF-8 chars split across calls Redraws are managed automatically by default; see redraw_style()
pub fn append_utf8_u8(&mut self, s: &[u8])
pub fn append_utf8_u8(&mut self, s: &[u8])
Appends data to the terminal at current cursor position using the current text color/attributes Handles UTF-8 chars split across calls Redraws are managed automatically by default; see redraw_style()
pub fn clear(&mut self)
pub fn clear(&mut self)
Clears the screen to the current textbgcolor()
, and homes the cursor.
pub fn clear_mouse_selection(&mut self)
pub fn clear_mouse_selection(&mut self)
Clear any current mouse selection.
pub fn clear_to_color(&mut self, val: Color)
pub fn clear_to_color(&mut self, val: Color)
Clears the screen to a specific color val
and homes the cursor.
Does not affect the value of text_bg_color or text_bg_color_default
pub fn clear_screen(&mut self, arg1: bool)
pub fn clear_screen(&mut self, arg1: bool)
Clear the terminal screen only; does not affect the cursor position.
Also clears the current mouse selection.
If scroll_to_hist
is true, the screen is cleared by scrolling the
contents into the scrollback history, where it can be retrieved with the
scrollbar. If false, the screen is cleared
and the scrollback history is unchanged.
Similar to the escape sequence \<ESC\>[2J
.
pub fn clear_screen_home(&mut self, arg1: bool)
pub fn clear_screen_home(&mut self, arg1: bool)
Clear the terminal screen and home the cursor
Also clears the current mouse selection.
If scroll_to_hist
is true, the screen is cleared by scrolling the
contents into the scrollback history, where it can be retrieved with the
scrollbar. If false, the screen is cleared
and the scrollback history is unchanged.
Similar to the escape sequence \<ESC\>[2J\<ESC\>[H
.
pub fn clear_history(&mut self)
pub fn clear_history(&mut self)
Clears the scroll history buffer and adjusts scrollbar, forcing it to redraw()
pub fn set_color(&mut self, color: Color)
pub fn set_color(&mut self, color: Color)
Sets the background color for the terminal’s Fl_Group::box().
If the textbgcolor() and textbgcolor_default() are set to the special “see through” color 0xffffffff when any text was added, changing color() affects the color that shows through behind that existing text.
Otherwise, whatever specific background color was set for existing text will persist after changing color().
To see the effects of a change to color(), follow up with a call to redraw().
The default value is 0x0.
pub fn cursor_col(&self) -> i32
pub fn cursor_col(&self) -> i32
Return the cursor’s current column position on the screen.
pub fn set_cursor_col(&mut self, val: i32)
pub fn set_cursor_col(&mut self, val: i32)
Set the cursor’s current column position on the screen. This is a low-level “protected” function of the fltk library
pub fn cursor_row(&self) -> i32
pub fn cursor_row(&self) -> i32
Return the cursor’s current row position on the screen.
pub fn set_cursor_row(&mut self, val: i32)
pub fn set_cursor_row(&mut self, val: i32)
Set the cursor’s current row position on the screen. This is a low-level “protected” function of the fltk library
pub fn cursor_up(&mut self, count: i32, do_scroll: bool)
pub fn cursor_up(&mut self, count: i32, do_scroll: bool)
Moves cursor up count
lines.
If cursor hits screen top, it either stops (does not wrap) if do_scroll
is false, or scrolls down if do_scroll
is true.
This is a low-level “protected” function of the fltk library
pub fn cursor_down(&mut self, count: i32, do_scroll: bool)
pub fn cursor_down(&mut self, count: i32, do_scroll: bool)
Moves cursor down count
lines.
If cursor hits screen bottom, it either stops (does not wrap) if do_scroll
is false, or wraps and scrolls up if do_scroll
is true.
This is a low-level “protected” function of the fltk library
pub fn cursor_left(&mut self, count: i32)
pub fn cursor_left(&mut self, count: i32)
Moves cursor left count
columns, and cursor stops (does not wrap) if it hits screen edge.
This is a low-level “protected” function of the fltk library
pub fn cursor_right(&mut self, count: i32, do_scroll: bool)
pub fn cursor_right(&mut self, count: i32, do_scroll: bool)
Moves cursor right count
columns. If cursor hits right edge of screen,
it either stops (does not wrap) if do_scroll
is false, or wraps and
scrolls up one line if do_scroll
is true.
This is a low-level “protected” function of the fltk library
pub fn scroll(&mut self, count: i32)
pub fn scroll(&mut self, count: i32)
Scroll the selection up(+)/down(-) number of rows This is a low-level “protected” function of the fltk library
pub fn clear_eod(&mut self)
pub fn clear_eod(&mut self)
Clear from cursor to End Of Display (EOD), like “<ESC>[J<ESC>[0J
”.
pub fn clear_eol(&mut self)
pub fn clear_eol(&mut self)
Clear from cursor to End Of Line (EOL), like “<ESC>[K
”.
pub fn clear_cur_line(&mut self)
pub fn clear_cur_line(&mut self)
Clear entire line cursor is currently on.
pub fn clear_line(&mut self, drow: i32)
pub fn clear_line(&mut self, drow: i32)
Clear entire line for specified row.
pub fn clear_sod(&mut self)
pub fn clear_sod(&mut self)
Clear from cursor to Start Of Display (EOD), like “<ESC>[1J
”.
pub fn clear_sol(&mut self)
pub fn clear_sol(&mut self)
Clear from cursor to Start Of Line (SOL), like “<ESC>[1K
”.
pub fn insert_char(&mut self, c: char, rep: i32)
pub fn insert_char(&mut self, c: char, rep: i32)
Insert char c
at the current cursor position for rep`` times. Works only for single-byte characters,
c` can’t be multi-byte UTF-8.
Does not wrap; characters at end of line are lost.
This is a low-level “protected” function of the fltk library
pub fn insert_char_eol(&mut self, c: char, drow: i32, dcol: i32, rep: i32)
pub fn insert_char_eol(&mut self, c: char, drow: i32, dcol: i32, rep: i32)
Insert char c
for rep
times at display row drow
and column dcol
.
Works only for single-byte characters, c
can’t be multi-byte UTF-8.
Does not wrap; characters at end of line are lost.
This is a low-level “protected” function of the fltk library
pub fn insert_rows(&mut self, count: i32)
pub fn insert_rows(&mut self, count: i32)
Insert count
rows at current cursor position.
Causes rows below to scroll down, and empty lines created.
Lines deleted by scroll down are NOT moved into the scroll history.
This is a low-level “protected” function of the fltk library
pub fn delete_chars(&mut self, drow: i32, dcol: i32, count: i32)
pub fn delete_chars(&mut self, drow: i32, dcol: i32, count: i32)
Delete char(s) at (drow
,dcol
) for count
times.
pub fn delete_cur_chars(&mut self, count: i32)
pub fn delete_cur_chars(&mut self, count: i32)
Delete char(s) at cursor position for count
times.
pub fn delete_rows(&mut self, count: i32)
pub fn delete_rows(&mut self, count: i32)
Delete count
rows at cursor position.
Causes rows to scroll up, and empty lines created at bottom of screen.
Lines deleted by scroll up are NOT moved into the scroll history.
This is a low-level “protected” function of the fltk library
pub fn cursor_bg_color(&self) -> Color
pub fn cursor_bg_color(&self) -> Color
Get the cursor’s background color used for the cursor itself.
pub fn set_cursor_bg_color(&mut self, color: Color)
pub fn set_cursor_bg_color(&mut self, color: Color)
Set the cursor’s background color used for the cursor itself.
pub fn cursor_fg_color(&self) -> Color
pub fn cursor_fg_color(&self) -> Color
Get the cursor’s foreground color used for the cursor itself.
pub fn set_cursor_fg_color(&mut self, color: Color)
pub fn set_cursor_fg_color(&mut self, color: Color)
Set the cursor’s foreground color used for the cursor itself.
pub fn get_selection(&self) -> Option<[i32; 4]> ⓘ
pub fn get_selection(&self) -> Option<[i32; 4]> ⓘ
Get the current mouse selection. Returns None
if no selection, or Some([srow, scol, erow, ecol])
if there is a selection,
where row and col represent start/end positions in the ring buffer.
This is a low-level “protected” function of the fltk library
pub fn cursor_home(&mut self)
pub fn cursor_home(&mut self)
Move cursor to the home position (top/left).
pub fn display_columns(&self) -> i32
pub fn display_columns(&self) -> i32
Return terminal’s display width in columns of text characters.
pub fn set_display_columns(&mut self, val: i32)
pub fn set_display_columns(&mut self, val: i32)
Set terminal’s display width in columns of text characters. Does not resize the terminal.
pub fn display_rows(&self) -> i32
pub fn display_rows(&self) -> i32
Return terminal’s display height in lines of text.
pub fn set_history_rows(&mut self, arg1: i32)
pub fn set_history_rows(&mut self, arg1: i32)
Sets the terminal’s scrollback history buffer size in lines of text (rows).
pub fn history_rows(&self) -> i32
pub fn history_rows(&self) -> i32
Gets the terminal’s scrollback history buffer size in lines of text (rows).
pub fn history_use(&self) -> i32
pub fn history_use(&self) -> i32
Returns how many lines are “in use” by the screen history buffer.
pub fn set_margin_bottom(&mut self, arg1: i32)
pub fn set_margin_bottom(&mut self, arg1: i32)
Set the bottom margin
pub fn margin_bottom(&self) -> i32
pub fn margin_bottom(&self) -> i32
Return the bottom margin
pub fn set_margin_left(&mut self, arg1: i32)
pub fn set_margin_left(&mut self, arg1: i32)
Set the left margin
pub fn margin_left(&self) -> i32
pub fn margin_left(&self) -> i32
Return the left margin
pub fn set_margin_right(&mut self, arg1: i32)
pub fn set_margin_right(&mut self, arg1: i32)
Set the right margin
pub fn margin_right(&self) -> i32
pub fn margin_right(&self) -> i32
Return the right margin
pub fn set_margin_top(&mut self, arg1: i32)
pub fn set_margin_top(&mut self, arg1: i32)
Set the top margin
pub fn margin_top(&self) -> i32
pub fn margin_top(&self) -> i32
Return the top margin
pub fn h_to_row(&self, pix: i32) -> i32
pub fn h_to_row(&self, pix: i32) -> i32
Given a height in pixels, return number of rows that “fits” into that area. This is a low-level “protected” function of the fltk library
pub fn w_to_col(&self, pix: i32) -> i32
pub fn w_to_col(&self, pix: i32) -> i32
Given a width in pixels, return number of columns that “fits” into that area. This is a low-level “protected” function of the fltk library
pub fn set_output_translate(&mut self, val: OutFlags)
pub fn set_output_translate(&mut self, val: OutFlags)
Sets the combined output translation flags to val
.
val
can be sensible combinations of the OutFlags bit flags.
The default is LF_TO_CRLF, so that \n will generate both carriage-return (CR) and line-feed (LF).
For \r and \n to be handled literally, use output_translate(Terminal::OutFlags::OFF); To disable all output translations, use 0 or Terminal::OutFlags::OFF.
pub fn output_translate(&self) -> OutFlags
pub fn output_translate(&self) -> OutFlags
Return the current combined output translation flags.
pub fn print_char(&mut self, c: char)
pub fn print_char(&mut self, c: char)
Prints single ASCII char c
at current cursor position, and advances the cursor.
c
must be ASCII, not utf-8- Does not trigger redraws
pub fn print_char_utf8(&mut self, c: char)
pub fn print_char_utf8(&mut self, c: char)
Prints single UTF-8 char c
at current cursor position, and advances the cursor if the character
is printable. Handles ASCII and control codes (CR, LF, etc).
The character is displayed at the current cursor position using the current text color/attributes.
Handles control codes and can be used to construct ANSI/XTERM escape sequences.
c
must be a single char only (whether UTF-8 or ASCII)c
can be an ASCII character, though not as efficent as print_char()- Invalid UTF-8 chars show the error character (¿) depending on show_unknown(bool).
- Does not trigger redraws
pub fn plot_char(&mut self, c: char, row: i32, col: i32)
pub fn plot_char(&mut self, c: char, row: i32, col: i32)
Print the ASCII character c
at the terminal’s display position (drow,dcol)
.
The character MUST be printable (in range 0x20 - 0x7e), and is displayed
using the current text color/attributes. Characters outside that range are either
ignored or print the error character (¿), depending on show_unknown(bool).
No range checking is done on drow,dcol:
- drow must be in range
0..(display_rows()-1)
- dcol must be in range
0..(display_columns()-1)
- Does not trigger redraws
- Does NOT handle control codes, ANSI or XTERM escape sequences.
pub fn plot_char_utf8(&mut self, c: char, drow: i32, dcol: i32)
pub fn plot_char_utf8(&mut self, c: char, drow: i32, dcol: i32)
Print a single UTF-8 character len at display position (drow,dcol)
.
The character is displayed using the current text color/attributes.
This is a very low level method. No range checking is done on drow,dcol:
- drow must be in range
0..(display_rows()-1)
- dcol must be in range
0..(display_columns()-1)
- Does not trigger redraws
- Does not handle ANSI or XTERM escape sequences
- Invalid UTF-8 chars show the error character (¿) depending on show_unknown(bool).
pub fn set_redraw_rate(&mut self, set: f32)
pub fn set_redraw_rate(&mut self, set: f32)
Set the maximum rate redraw speed in floating point seconds if redraw_style() is set to RATE_LIMITED.
pub fn redraw_rate(&self) -> f32
pub fn redraw_rate(&self) -> f32
Get max rate redraw speed in floating point seconds.
pub fn set_redraw_style(&mut self, set: RedrawStyle)
pub fn set_redraw_style(&mut self, set: RedrawStyle)
Set how Terminal manages screen redrawing.
pub fn redraw_style(&self) -> RedrawStyle
pub fn redraw_style(&self) -> RedrawStyle
Get the redraw style.
pub fn reset_terminal(&mut self)
pub fn reset_terminal(&mut self)
Resets terminal to default colors, clears screen, history and mouse selection, homes cursor, resets tabstops.
pub fn scrollbar_actual_size(&self) -> i32
pub fn scrollbar_actual_size(&self) -> i32
Returns the scrollbar’s actual “trough size”, which is the width of FL_VERTICAL scrollbars, or height of FL_HORIZONTAL scrollbars.
If scrollbar_size()
is zero (default), then the value of the global Fl::scrollbar_size()
is returned, which is the default global scrollbar size for the entire application.
pub fn scrollbar_size(&self) -> i32
pub fn scrollbar_size(&self) -> i32
Get current pixel size of all the scrollbar’s troughs for this widget, or zero if the global Fl::scrollbar_size() is being used (default).
If this value returns zero, this widget’s scrollbars are using the global Fl::scrollbar_size(), in which case use scrollbar_actual_size() to get the actual (effective) pixel scrollbar size being used.
returns Scrollbar trough size in pixels, or 0 if the global Fl::scrollbar_size() is being used.
pub fn set_scrollbar_size(&mut self, val: i32)
pub fn set_scrollbar_size(&mut self, val: i32)
Set the width of the both horizontal and vertical scrollbar’s trough to `val``, in pixels. If this value is zero (default), this widget will use fltk’s master scrollbar_size() value
pub fn selection_bg_color(&self) -> Color
pub fn selection_bg_color(&self) -> Color
Get mouse selection background color.
pub fn hscrollbar(&self) -> Scrollbar
pub fn hscrollbar(&self) -> Scrollbar
Returns the horizontal scrollbar
pub fn hscrollbar_style(&self) -> ScrollbarStyle
pub fn hscrollbar_style(&self) -> ScrollbarStyle
Get the horizontal scrollbar behavior style.
This determines when the scrollbar is visible.
Value will be one of the Fl_Terminal::HScrollbarStyle enum values.
pub fn set_hscrollbar_style(&mut self, val: ScrollbarStyle)
pub fn set_hscrollbar_style(&mut self, val: ScrollbarStyle)
Set the scrollbar behavior style.
This determines when the scrollbar is visible.
ScrollbarStyle enum | Description |
---|---|
ON | Scrollbar is always displayed. |
OFF | Scrollbar is never displayed. |
AUTO | Scrollbar is displayed whenever the widget has been resized so that some of the text is hidden. |
The default style is AUTO
pub fn set_selection_bg_color(&mut self, color: Color)
pub fn set_selection_bg_color(&mut self, color: Color)
Set mouse selection background color.
pub fn selection_fg_color(&self) -> Color
pub fn selection_fg_color(&self) -> Color
Get mouse selection foreground color.
pub fn set_selection_fg_color(&mut self, color: Color)
pub fn set_selection_fg_color(&mut self, color: Color)
Set mouse selection foreground color.
pub fn show_unknown(&self) -> bool
pub fn show_unknown(&self) -> bool
Return the “show unknown” flag. if true, show unknown chars as ‘¿’
pub fn set_show_unknown(&mut self, arg1: bool)
pub fn set_show_unknown(&mut self, arg1: bool)
Set the “show unknown” flag. if true, show unknown chars as ‘¿’ (default off)
pub fn text_attrib(&self) -> Attrib
pub fn text_attrib(&self) -> Attrib
Return the text attribute bits (underline, inverse, etc) for subsequent appends.
pub fn set_text_attrib(&mut self, arg1: Attrib)
pub fn set_text_attrib(&mut self, arg1: Attrib)
Set text attribute bits (underline, inverse, etc) for subsequent appends.
pub fn set_text_bg_color(&mut self, color: Color)
pub fn set_text_bg_color(&mut self, color: Color)
Set text background color to fltk color val. Use this for temporary color changes, similar to <ESC>[48;2;{R};{G};{B}m
This setting does not affect the ‘default’ text colors used by <ESC>[0m, <ESC>c, reset_terminal(), etc. To change both the current and default bg color, also use text_bg_color_default(Fl_Color).
pub fn text_bg_color(&self) -> Color
pub fn text_bg_color(&self) -> Color
Get the text background color.
pub fn set_text_bg_color_default(&mut self, color: Color)
pub fn set_text_bg_color_default(&mut self, color: Color)
Set the default text background color used by <ESC>c, <ESC>[0m, and reset_terminal(). Does not affect the ‘current’ text fg color; use set_text_bg_color(Fl_Color) to set that.
pub fn text_bg_color_default(&self) -> Color
pub fn text_bg_color_default(&self) -> Color
Return the default text background color.
pub fn set_text_bg_color_xterm(&mut self, color: XtermColor)
pub fn set_text_bg_color_xterm(&mut self, color: XtermColor)
Sets the background text color as one of the 8 ‘xterm color’ values.
This will be the background color used for all newly printed text, similar to the <ESC>[#m escape sequence, where # is between 40 and 47.
This color will be reset to the default bg color if reset_terminal() is called, or by <ESC>c, <ESC>[0m, etc.
The xterm color intensity values can be influenced by the Dim/Bold/Normal modes (which can be set with e.g. <ESC>[1m, textattrib(), etc), so the actual RGB values of these colors allow room for Dim/Bold to influence their brightness. For instance, “Normal Red” is not full brightness to allow “Bold Red” to be brighter. This goes for all colors except ‘Black’, which is not influenced by Dim or Bold; Black is always Black.
These background colors are slightly dimmer than the corresponding xterm foregroumd colors.
The 8 color xterm values are: 0 = Black, 1 = Red, 2 = Green, 3 = Yellow, 4 = Blue,5 = Magenta, 6 = Cyan, 7 = White
pub fn set_text_color(&mut self, color: Color)
pub fn set_text_color(&mut self, color: Color)
Set the text color for the terminal. This is a convenience method that sets both textfgcolor() and textfgcolor_default(), ensuring both are set to the same value.
pub fn set_text_fg_color(&mut self, color: Color)
pub fn set_text_fg_color(&mut self, color: Color)
Set text foreground drawing color to fltk color val. Use this for temporary color changes, similar to <ESC>[38;2;{R};{G};{B}m
This setting does not affect the ‘default’ text colors used by <ESC>[0m, <ESC>c, reset_terminal(), etc. To change both the current and default fg color, also use textfgcolor_default(Fl_Color)
pub fn text_fg_color(&self) -> Color
pub fn text_fg_color(&self) -> Color
Get the text foreground color.
pub fn set_text_fg_color_default(&mut self, color: Color)
pub fn set_text_fg_color_default(&mut self, color: Color)
Set the default text foreground color used by <ESC>c, <ESC>[0m, and reset_terminal(). Does not affect the ‘current’ text fg color; use set_text_fg_color(Fl_Color) to set that.
pub fn text_fg_color_default(&self) -> Color
pub fn text_fg_color_default(&self) -> Color
Return the default text foreground color.
pub fn set_text_fg_color_xterm(&mut self, color: XtermColor)
pub fn set_text_fg_color_xterm(&mut self, color: XtermColor)
Sets the foreground text color as one of the 8 ‘xterm color’ values.
This will be the foreground color used for all newly printed text, similar to the <ESC>[#m escape sequence, where # is between 30 and 37.
This color will be reset to the default bg color if reset_terminal() is called, or by <ESC>c, <ESC>[0m, etc.
The xterm color intensity values can be influenced by the Dim/Bold/Normal modes (which can be set with e.g. <ESC>[1m, textattrib(), etc), so the actual RGB values of these colors allow room for Dim/Bold to influence their brightness. For instance, “Normal Red” is not full brightness to allow “Bold Red” to be brighter. This goes for all colors except ‘Black’, which is not influenced by Dim or Bold; Black is always Black.
The 8 color xterm values are: 0 = Black, 1 = Red, 2 = Green, 3 = Yellow, 4 = Blue,5 = Magenta, 6 = Cyan, 7 = White
pub fn set_text_font(&mut self, font: Font)
pub fn set_text_font(&mut self, font: Font)
Sets the font used for all text displayed in the terminal. This affects all existing text (in display and history) as well as any newly printed text. Only monospace fonts are recommended.
pub fn set_text_size(&mut self, val: i32)
pub fn set_text_size(&mut self, val: i32)
Sets the font size used for all text displayed in the terminal. This affects all existing text (in display and history) as well as any newly printed text. Changing this will affect the display_rows() and display_columns().
pub fn text(&self, lines_below_cursor: bool) -> String ⓘ
pub fn text(&self, lines_below_cursor: bool) -> String ⓘ
Return a string copy of all lines in the terminal (including history).
If lines_below_cursor
is false, lines below the cursor on down
to the bottom of the display are ignored, and not included in the returned string.
If lines_below_cursor
is true, then all lines in the display are returned
including any below the cursor, even if all are blank.
Example use:
use fltk::{prelude::*, terminal::Terminal};
let mut tty = Terminal::new(0, 0, 400, 300, None);
let s = tty.text(true); // get a copy of the terminal's contents
println!("Terminal's contents:\n{}", s);
pub fn selection_text(&self) -> String ⓘ
pub fn selection_text(&self) -> String ⓘ
Return text selection (for copy()/paste() operations)
pub fn selection_text_len(&self) -> i32
pub fn selection_text_len(&self) -> i32
Return byte length of all UTF-8 chars in selection, or 0 if no selection. NOTE: Length includes trailing white on each line.
pub fn hist_use_srow(&self) -> i32
pub fn hist_use_srow(&self) -> i32
Return the starting row of the "in use" scrollback history.
pub fn is_inside_selection(&self, row: i32, col: i32) -> bool
pub fn is_inside_selection(&self, row: i32, col: i32) -> bool
Is global row/column inside the current mouse selection? This is a low-level “protected” function of the fltk library
pub fn is_selection(&self) -> bool
pub fn is_selection(&self) -> bool
Returns true if there’s a mouse selection.
pub fn u8c_cursor(&self) -> Utf8Char
pub fn u8c_cursor(&self) -> Utf8Char
Return the Utf8Char for character under cursor.
pub fn u8c_disp_row(&self, drow: i32) -> BuffRow<'_>
pub fn u8c_disp_row(&self, drow: i32) -> BuffRow<'_>
Return u8c for beginning of row drow of the display. This is a low-level “protected” function of the fltk library
pub fn u8c_hist_row(&self, hrow: i32) -> BuffRow<'_>
pub fn u8c_hist_row(&self, hrow: i32) -> BuffRow<'_>
Return u8c for beginning of row hrow inside the scrollback history. This is a low-level “protected” function of the fltk library
pub fn u8c_hist_use_row(&self, hurow: i32) -> BuffRow<'_>
pub fn u8c_hist_use_row(&self, hurow: i32) -> BuffRow<'_>
Return u8c for beginning of row hurow inside the ‘in use’ part of the\n scrollback history. This is a low-level “protected” function of the fltk library
pub fn u8c_ring_row(&self, grow: i32) -> BuffRow<'_>
pub fn u8c_ring_row(&self, grow: i32) -> BuffRow<'_>
Return u8c for beginning of row grow in the ring buffer. This is a low-level “protected” function of the fltk library
Trait Implementations§
§impl GroupExt for Terminal
impl GroupExt for Terminal
§fn find<W>(&self, widget: &W) -> i32where
W: WidgetExt,
fn find<W>(&self, widget: &W) -> i32where
W: WidgetExt,
§fn insert<W>(&mut self, widget: &W, index: i32)where
W: WidgetExt,
fn insert<W>(&mut self, widget: &W, index: i32)where
W: WidgetExt,
§fn remove<W>(&mut self, widget: &W)where
W: WidgetExt,
fn remove<W>(&mut self, widget: &W)where
W: WidgetExt,
§fn remove_by_index(&mut self, idx: i32)
fn remove_by_index(&mut self, idx: i32)
§fn resizable<W>(&self, widget: &W)where
W: WidgetExt,
fn resizable<W>(&self, widget: &W)where
W: WidgetExt,
§fn make_resizable(&mut self, val: bool)
fn make_resizable(&mut self, val: bool)
§fn add_resizable<W>(&mut self, widget: &W)where
W: WidgetExt,
fn add_resizable<W>(&mut self, widget: &W)where
W: WidgetExt,
§fn set_clip_children(&mut self, flag: bool)
fn set_clip_children(&mut self, flag: bool)
§fn clip_children(&self) -> bool
fn clip_children(&self) -> bool
clip_children
is set§fn draw_child<W>(&self, w: &mut W)where
W: WidgetExt,
fn draw_child<W>(&self, w: &mut W)where
W: WidgetExt,
WidgetBase::draw
method§fn update_child<W>(&self, w: &mut W)where
W: WidgetExt,
fn update_child<W>(&self, w: &mut W)where
W: WidgetExt,
WidgetBase::draw
method§fn draw_outside_label<W>(&self, w: &mut W)where
W: WidgetExt,
fn draw_outside_label<W>(&self, w: &mut W)where
W: WidgetExt,
WidgetBase::draw
method§fn draw_children(&mut self)
fn draw_children(&mut self)
WidgetBase::draw
method§fn init_sizes(&mut self)
fn init_sizes(&mut self)
§fn bounds(&self) -> Vec<(i32, i32, i32, i32)> ⓘ
fn bounds(&self) -> Vec<(i32, i32, i32, i32)> ⓘ
§unsafe fn into_group(&self) -> Group
unsafe fn into_group(&self) -> Group
§impl IntoIterator for Terminal
impl IntoIterator for Terminal
§impl WidgetBase for Terminal
impl WidgetBase for Terminal
§fn new<'a, T>(x: i32, y: i32, width: i32, height: i32, title: T) -> Terminal
fn new<'a, T>(x: i32, y: i32, width: i32, height: i32, title: T) -> Terminal
§fn default_fill() -> Terminal
fn default_fill() -> Terminal
§unsafe fn from_widget_ptr(ptr: *mut Fl_Widget) -> Terminal
unsafe fn from_widget_ptr(ptr: *mut Fl_Widget) -> Terminal
§unsafe fn from_widget<W>(w: W) -> Terminalwhere
W: WidgetExt,
unsafe fn from_widget<W>(w: W) -> Terminalwhere
W: WidgetExt,
§fn handle<F>(&mut self, cb: F)
fn handle<F>(&mut self, cb: F)
Fl_Widget::handle(int)
.
Handled or ignored events should return true, unhandled events should return false.
takes the widget as a closure argument.
The ability to handle an event might depend on handling other events, as explained here§fn draw<F>(&mut self, cb: F)
fn draw<F>(&mut self, cb: F)
WidgetBase::draw
actually calls drawing functions§fn resize_callback<F>(&mut self, cb: F)
fn resize_callback<F>(&mut self, cb: F)
§unsafe fn assume_derived(&mut self)
unsafe fn assume_derived(&mut self)
§impl WidgetExt for Terminal
impl WidgetExt for Terminal
§fn with_label(self, title: &str) -> Terminal
fn with_label(self, title: &str) -> Terminal
§fn with_align(self, align: Align) -> Terminal
fn with_align(self, align: Align) -> Terminal
§fn with_type<T>(self, typ: T) -> Terminalwhere
T: WidgetType,
fn with_type<T>(self, typ: T) -> Terminalwhere
T: WidgetType,
§fn below_of<W>(self, wid: &W, padding: i32) -> Terminalwhere
W: WidgetExt,
fn below_of<W>(self, wid: &W, padding: i32) -> Terminalwhere
W: WidgetExt,
§fn above_of<W>(self, wid: &W, padding: i32) -> Terminalwhere
W: WidgetExt,
fn above_of<W>(self, wid: &W, padding: i32) -> Terminalwhere
W: WidgetExt,
§fn right_of<W>(self, wid: &W, padding: i32) -> Terminalwhere
W: WidgetExt,
fn right_of<W>(self, wid: &W, padding: i32) -> Terminalwhere
W: WidgetExt,
§fn left_of<W>(self, wid: &W, padding: i32) -> Terminalwhere
W: WidgetExt,
fn left_of<W>(self, wid: &W, padding: i32) -> Terminalwhere
W: WidgetExt,
§fn center_of_parent(self) -> Terminal
fn center_of_parent(self) -> Terminal
§fn size_of_parent(self) -> Terminal
fn size_of_parent(self) -> Terminal
§fn set_label(&mut self, title: &str)
fn set_label(&mut self, title: &str)
@
sign.
and for the associated formatting.§fn measure_label(&self) -> (i32, i32) ⓘ
fn measure_label(&self) -> (i32, i32) ⓘ
§fn as_widget_ptr(&self) -> *mut Fl_Widget
fn as_widget_ptr(&self) -> *mut Fl_Widget
Fl_Widget
, for internal use§fn deactivate(&mut self)
fn deactivate(&mut self)
§fn redraw_label(&mut self)
fn redraw_label(&mut self)
§fn resize(&mut self, x: i32, y: i32, width: i32, height: i32)
fn resize(&mut self, x: i32, y: i32, width: i32, height: i32)
§fn widget_resize(&mut self, x: i32, y: i32, width: i32, height: i32)
fn widget_resize(&mut self, x: i32, y: i32, width: i32, height: i32)
§fn set_tooltip(&mut self, txt: &str)
fn set_tooltip(&mut self, txt: &str)
§fn label_color(&self) -> Color
fn label_color(&self) -> Color
§fn set_label_color(&mut self, color: Color)
fn set_label_color(&mut self, color: Color)
§fn label_font(&self) -> Font
fn label_font(&self) -> Font
§fn set_label_font(&mut self, font: Font)
fn set_label_font(&mut self, font: Font)
§fn label_size(&self) -> i32
fn label_size(&self) -> i32
§fn set_label_size(&mut self, sz: i32)
fn set_label_size(&mut self, sz: i32)
§fn label_type(&self) -> LabelType
fn label_type(&self) -> LabelType
§fn set_label_type(&mut self, typ: LabelType)
fn set_label_type(&mut self, typ: LabelType)
§fn set_changed(&mut self)
fn set_changed(&mut self)
§fn clear_changed(&mut self)
fn clear_changed(&mut self)
§fn set_trigger(&mut self, trigger: CallbackTrigger)
fn set_trigger(&mut self, trigger: CallbackTrigger)
when()
§fn trigger(&self) -> CallbackTrigger
fn trigger(&self) -> CallbackTrigger
when()
§fn selection_color(&self) -> Color
fn selection_color(&self) -> Color
§fn set_selection_color(&mut self, color: Color)
fn set_selection_color(&mut self, color: Color)
§fn do_callback(&mut self)
fn do_callback(&mut self)
§fn takes_events(&self) -> bool
fn takes_events(&self) -> bool
§fn set_visible_focus(&mut self)
fn set_visible_focus(&mut self)
§fn clear_visible_focus(&mut self)
fn clear_visible_focus(&mut self)
§fn visible_focus(&mut self, v: bool)
fn visible_focus(&mut self, v: bool)
§fn has_visible_focus(&self) -> bool
fn has_visible_focus(&self) -> bool
§fn was_deleted(&self) -> bool
fn was_deleted(&self) -> bool
§fn set_damage(&mut self, flag: bool)
fn set_damage(&mut self, flag: bool)
§fn damage_type(&self) -> Damage
fn damage_type(&self) -> Damage
§fn set_damage_type(&mut self, mask: Damage)
fn set_damage_type(&mut self, mask: Damage)
§fn set_damage_area(&mut self, mask: Damage, x: i32, y: i32, w: i32, h: i32)
fn set_damage_area(&mut self, mask: Damage, x: i32, y: i32, w: i32, h: i32)
§fn clear_damage(&mut self)
fn clear_damage(&mut self)
§fn inside<W>(&self, wid: &W) -> boolwhere
W: WidgetExt,
fn inside<W>(&self, wid: &W) -> boolwhere
W: WidgetExt,
§fn get_type<T>(&self) -> Twhere
T: WidgetType,
fn get_type<T>(&self) -> Twhere
T: WidgetType,
§fn set_type<T>(&mut self, typ: T)where
T: WidgetType,
fn set_type<T>(&mut self, typ: T)where
T: WidgetType,
§fn set_image_scaled<I>(&mut self, image: Option<I>)where
I: ImageExt,
fn set_image_scaled<I>(&mut self, image: Option<I>)where
I: ImageExt,
§unsafe fn image_mut(&self) -> Option<&mut Image> ⓘ
unsafe fn image_mut(&self) -> Option<&mut Image> ⓘ
§fn set_deimage<I>(&mut self, image: Option<I>)where
I: ImageExt,
fn set_deimage<I>(&mut self, image: Option<I>)where
I: ImageExt,
§fn set_deimage_scaled<I>(&mut self, image: Option<I>)where
I: ImageExt,
fn set_deimage_scaled<I>(&mut self, image: Option<I>)where
I: ImageExt,
§fn deimage(&self) -> Option<Box<dyn ImageExt>> ⓘ
fn deimage(&self) -> Option<Box<dyn ImageExt>> ⓘ
§unsafe fn deimage_mut(&self) -> Option<&mut Image> ⓘ
unsafe fn deimage_mut(&self) -> Option<&mut Image> ⓘ
§fn set_callback<F>(&mut self, cb: F)
fn set_callback<F>(&mut self, cb: F)
§unsafe fn into_widget<W>(&self) -> Wwhere
W: WidgetBase,
unsafe fn into_widget<W>(&self) -> Wwhere
W: WidgetBase,
WidgetExt
to some widget type Read more§fn visible_r(&self) -> bool
fn visible_r(&self) -> bool
§fn is_same<W>(&self, other: &W) -> boolwhere
W: WidgetExt,
fn is_same<W>(&self, other: &W) -> boolwhere
W: WidgetExt,
§fn handle_event(&mut self, event: Event) -> bool
fn handle_event(&mut self, event: Event) -> bool
§fn is_derived(&self) -> bool
fn is_derived(&self) -> bool
§fn as_base_widget(&self) -> Widgetwhere
Self: Sized,
fn as_base_widget(&self) -> Widgetwhere
Self: Sized,
WidgetExt
to a Widgetimpl Eq for Terminal
impl Send for Terminal
impl Sync for Terminal
Auto Trait Implementations§
impl Freeze for Terminal
impl RefUnwindSafe for Terminal
impl Unpin for Terminal
impl UnwindSafe for Terminal
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> ByteSized for T
impl<T> ByteSized for T
Source§const BYTE_ALIGN: usize = _
const BYTE_ALIGN: usize = _
Source§fn byte_align(&self) -> usize
fn byte_align(&self) -> usize
Source§fn ptr_size_ratio(&self) -> [usize; 2]
fn ptr_size_ratio(&self) -> [usize; 2]
Source§impl<T, R> Chain<R> for Twhere
T: ?Sized,
impl<T, R> Chain<R> for Twhere
T: ?Sized,
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.Source§impl<T> ExtAny for T
impl<T> ExtAny for T
Source§fn type_hash_with<H: Hasher>(&self, hasher: H) -> u64
fn type_hash_with<H: Hasher>(&self, hasher: H) -> u64
TypeId
of Self
using a custom hasher.Source§fn as_any_mut(&mut self) -> &mut dyn Anywhere
Self: Sized,
fn as_any_mut(&mut self) -> &mut dyn Anywhere
Self: Sized,
Source§impl<T> ExtMem for Twhere
T: ?Sized,
impl<T> ExtMem for Twhere
T: ?Sized,
Source§const NEEDS_DROP: bool = _
const NEEDS_DROP: bool = _
Source§fn mem_align_of<T>() -> usize
fn mem_align_of<T>() -> usize
Source§fn mem_align_of_val(&self) -> usize
fn mem_align_of_val(&self) -> usize
Source§fn mem_size_of<T>() -> usize
fn mem_size_of<T>() -> usize
Source§fn mem_size_of_val(&self) -> usize
fn mem_size_of_val(&self) -> usize
Source§fn mem_needs_drop(&self) -> bool
fn mem_needs_drop(&self) -> bool
true
if dropping values of this type matters. Read moreSource§fn mem_forget(self)where
Self: Sized,
fn mem_forget(self)where
Self: Sized,
self
without running its destructor. Read moreSource§fn mem_replace(&mut self, other: Self) -> Selfwhere
Self: Sized,
fn mem_replace(&mut self, other: Self) -> Selfwhere
Self: Sized,
Source§unsafe fn mem_zeroed<T>() -> T
unsafe fn mem_zeroed<T>() -> T
unsafe_layout
only.T
represented by the all-zero byte-pattern. Read moreSource§unsafe fn mem_transmute_copy<Src, Dst>(src: &Src) -> Dst
unsafe fn mem_transmute_copy<Src, Dst>(src: &Src) -> Dst
unsafe_layout
only.T
represented by the all-zero byte-pattern. Read moreSource§fn mem_as_bytes(&self) -> &[u8] ⓘ
fn mem_as_bytes(&self) -> &[u8] ⓘ
unsafe_slice
only.§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> Hook for T
impl<T> Hook for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more