aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2016-04-27 03:53:47 -0400
committerJesse Luehrs <doy@tozt.net>2016-04-27 03:53:47 -0400
commitcf1692f0950329279b8b4d9d3d8cc46f974c496e (patch)
treeb5a5779d1ce94ba9a90a62f58ade64b3cbc0e224
parent8307c66d8c698dc3ff285e8dc60efd1968e9275f (diff)
downloadvt100-rust-cf1692f0950329279b8b4d9d3d8cc46f974c496e.tar.gz
vt100-rust-cf1692f0950329279b8b4d9d3d8cc46f974c496e.zip
accessors for current screen character attributes
-rw-r--r--src/screen.rs40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/screen.rs b/src/screen.rs
index 7b6e2a2..4205451 100644
--- a/src/screen.rs
+++ b/src/screen.rs
@@ -195,6 +195,46 @@ impl Screen {
let attrs = unsafe { &(*prefix).attrs };
color::Color::new(&attrs.bgcolor)
}
+
+ pub fn bold(&self) -> bool {
+ let Screen(screen_impl) = *self;
+ let prefix: *mut ScreenPrefix = unsafe {
+ std::mem::transmute(screen_impl)
+ };
+ unsafe {
+ ffi::vt100_wrapper_cell_attrs_bold(&mut (*prefix).attrs) != 0
+ }
+ }
+
+ pub fn italic(&self) -> bool {
+ let Screen(screen_impl) = *self;
+ let prefix: *mut ScreenPrefix = unsafe {
+ std::mem::transmute(screen_impl)
+ };
+ unsafe {
+ ffi::vt100_wrapper_cell_attrs_italic(&mut (*prefix).attrs) != 0
+ }
+ }
+
+ pub fn underline(&self) -> bool {
+ let Screen(screen_impl) = *self;
+ let prefix: *mut ScreenPrefix = unsafe {
+ std::mem::transmute(screen_impl)
+ };
+ unsafe {
+ ffi::vt100_wrapper_cell_attrs_underline(&mut (*prefix).attrs) != 0
+ }
+ }
+
+ pub fn inverse(&self) -> bool {
+ let Screen(screen_impl) = *self;
+ let prefix: *mut ScreenPrefix = unsafe {
+ std::mem::transmute(screen_impl)
+ };
+ unsafe {
+ ffi::vt100_wrapper_cell_attrs_inverse(&mut (*prefix).attrs) != 0
+ }
+ }
}
impl Drop for Screen {