pub struct Character {
pub code: char,
pub foreground: Color,
pub background: Color,
pub flags: CharFlags,
}Expand description
Represents a character with its attributes, including foreground and background colors, and flags.
The Character struct is used to define a character that can be displayed on the screen.
Fields§
§code: char§foreground: Color§background: Color§flags: CharFlagsImplementations§
Source§impl Character
impl Character
Sourcepub fn new<T>(code: T, fore: Color, back: Color, flags: CharFlags) -> Self
pub fn new<T>(code: T, fore: Color, back: Color, flags: CharFlags) -> Self
Creates a new character with the specified code, foreground color, background color, and flags.
The code could be of type char or a SpecialChar.
§Example
use appcui::prelude::*;
let ch = Character::new('A', Color::Red, Color::Black, CharFlags::None);
let special_ch = Character::new(SpecialChar::BoxTopLeftCornerDoubleLine,
Color::Green,
Color::Black,
CharFlags::None);Sourcepub fn with_char<T>(code: T) -> Self
pub fn with_char<T>(code: T) -> Self
Creates a new character from a specified code (a char or a SpecialChar). The foreground and background colors are set to transparent and th e flags are set to None.
§Example
use appcui::prelude::*;
let ch = Character::with_char('A');
let special_ch = Character::with_char(SpecialChar::BoxTopLeftCornerDoubleLine);Sourcepub fn with_color(fore: Color, back: Color) -> Self
pub fn with_color(fore: Color, back: Color) -> Self
Creates a new character with the specified foreground and background colors. The code is set to the null character (‘\0’) - meaning that it will not overwrite the existing character when displayed on the surface. The flags are set to None.
§Example
use appcui::prelude::*;
let ch = Character::with_color(Color::Red, Color::Black);Sourcepub fn with_attributes<T>(code: T, attr: CharAttribute) -> Self
pub fn with_attributes<T>(code: T, attr: CharAttribute) -> Self
Creates a new character with the specified code (a char or a SpecialChar) and attributes.
The foreground and background colors are set to the values specified in the CharAttribute struct.
§Example
use appcui::prelude::*;
let attr = CharAttribute::new(Color::Red, Color::Black, CharFlags::None);
let ch = Character::with_attributes('A', attr);
let special_ch = Character::with_attributes(SpecialChar::BoxTopLeftCornerDoubleLine, attr);Sourcepub fn set(&mut self, ch: Character)
pub fn set(&mut self, ch: Character)
Sets an character based on the provided Character instance.
The code, foreground color, and background color are updated only if they are not set to the default values
Foe example, the character code is only set if the ch argument is not 0.
Similarly, if the background or foreground colors are not set to Color::Transparent, they will be updated.
The flags are always updated.
Trait Implementations§
impl Copy for Character
impl Eq for Character
impl StructuralPartialEq for Character
Auto Trait Implementations§
impl Freeze for Character
impl RefUnwindSafe for Character
impl Send for Character
impl Sync for Character
impl Unpin for Character
impl UnsafeUnpin for Character
impl UnwindSafe for Character
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§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.