#[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

source§

fn clone(&self) -> text_console_backend_interface

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for text_console_backend_interface

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for text_console_backend_interface

source§

fn default() -> text_console_backend_interface

Returns the “default value” for a type. Read more
source§

impl Hash for text_console_backend_interface

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for text_console_backend_interface

source§

fn cmp(&self, other: &text_console_backend_interface) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for text_console_backend_interface

source§

fn eq(&self, other: &text_console_backend_interface) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for text_console_backend_interface

source§

fn partial_cmp( &self, other: &text_console_backend_interface, ) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Copy for text_console_backend_interface

source§

impl Eq for text_console_backend_interface

source§

impl StructuralPartialEq for text_console_backend_interface

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.