#[repr(C)]pub struct text_console_backend_interface {
pub input: Option<unsafe extern "C" fn(obj: *mut conf_object_t, key: text_console_key_t, modifiers: text_console_modifier_t)>,
pub request_refresh: Option<unsafe extern "C" fn(obj: *mut conf_object_t)>,
pub set_visible: Option<unsafe extern "C" fn(obj: *mut conf_object_t, visible: bool)>,
pub line_length: Option<unsafe extern "C" fn(obj: *mut conf_object_t, line_num: c_int) -> c_int>,
pub line_wrap: Option<unsafe extern "C" fn(obj: *mut conf_object_t, line_num: c_int) -> bool>,
pub set_size: Option<unsafe extern "C" fn(obj: *mut conf_object_t, width: c_int, height: c_int)>,
pub set_default_colours: Option<unsafe extern "C" fn(obj: *mut conf_object_t, default_fg_col: uint32, default_bg_col: uint32)>,
}
Fields§
§input: Option<unsafe extern "C" fn(obj: *mut conf_object_t, key: text_console_key_t, modifiers: text_console_modifier_t)>
Send a key press to the backend.
request_refresh: Option<unsafe extern "C" fn(obj: *mut conf_object_t)>
Request that the backend should refresh the whole console screen. Shortly after this call, the frontend can expect a call to text_console_frontend.refresh_screen.
set_visible: Option<unsafe extern "C" fn(obj: *mut conf_object_t, visible: bool)>
Indicate to the backend whether the frontend is visible, e.g. if the console window is hidden by other windows or minimised. The backend may then choose not to call any text or cursor update functions in the text_console_frontend interface.
line_length: Option<unsafe extern "C" fn(obj: *mut conf_object_t, line_num: c_int) -> c_int>
Returns 1 + the maximum column on the given line with a printable character. The frontend may use this information for e.g. user marking and copying text. line_num is 0-based and indexes over the screen for positive values and negative values to indicate scrollback lines.
line_wrap: Option<unsafe extern "C" fn(obj: *mut conf_object_t, line_num: c_int) -> bool>
Indicate whether the specified line was not finished with an explicit carriage return by the user, and hence wraps to the next line. The frontend may use this information for e.g. user marking and copying text. line_num is 0-based and indexes over the screen for positive values and negative values to indicate scrollback lines.
set_size: Option<unsafe extern "C" fn(obj: *mut conf_object_t, width: c_int, height: c_int)>
Tell the console to change the screen size. Note that this is visible to the target software this call therefore impacts the simulation. An immediate call to text_console_frontend.set_size will follow a call to this function.
set_default_colours: Option<unsafe extern "C" fn(obj: *mut conf_object_t, default_fg_col: uint32, default_bg_col: uint32)>
Tell the console to change the default text colours. An immediate call to text_console_frontend.set_default_colours will follow a call to this function.
Trait Implementations§
source§impl Clone for text_console_backend_interface
impl Clone for text_console_backend_interface
source§fn clone(&self) -> text_console_backend_interface
fn clone(&self) -> text_console_backend_interface
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Default for text_console_backend_interface
impl Default for text_console_backend_interface
source§fn default() -> text_console_backend_interface
fn default() -> text_console_backend_interface
source§impl Ord for text_console_backend_interface
impl Ord for text_console_backend_interface
source§fn cmp(&self, other: &text_console_backend_interface) -> Ordering
fn cmp(&self, other: &text_console_backend_interface) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
source§impl PartialEq for text_console_backend_interface
impl PartialEq for text_console_backend_interface
source§fn eq(&self, other: &text_console_backend_interface) -> bool
fn eq(&self, other: &text_console_backend_interface) -> bool
self
and other
values to be equal, and is used by ==
.source§impl PartialOrd for text_console_backend_interface
impl PartialOrd for text_console_backend_interface
impl Copy for text_console_backend_interface
impl Eq for text_console_backend_interface
impl StructuralPartialEq for text_console_backend_interface
Auto Trait Implementations§
impl Freeze for text_console_backend_interface
impl RefUnwindSafe for text_console_backend_interface
impl Send for text_console_backend_interface
impl Sync for text_console_backend_interface
impl Unpin for text_console_backend_interface
impl UnwindSafe for text_console_backend_interface
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)