use gettextrs::*;
use ncursesw::{*, normal::*};
pub fn main() {
if let Err(source) = main_routine() {
println!("{}", source.to_string());
}
}
pub fn main_routine() -> Result<(), NCurseswError> {
setlocale(LocaleCategory::LcAll, "");
initscr()?;
let color_pair0 = ColorPair::default();
let attrs = Attribute::Normal | color_pair0;
let str1 = "\u{41f}\u{440}\u{438}\u{432}\u{435}\u{442} is hello in russian!";
let str2 = "🙈🙊🙉🙈🙊🙉";
let complex_string1 = ComplexString::from_wide_string(WideString::from(str1).as_ref(), attrs.as_ref(), color_pair0.as_ref())?;
let complex_string2 = ComplexString::from_wide_string(WideString::from(str2).as_ref(), attrs.as_ref(), color_pair0.as_ref())?;
let mut origin = Origin { y: 1, x: 1 };
mvadd_wchstr(origin, complex_string1.as_ref())?;
origin.y += 1;
mvadd_wchstr(origin, complex_string2.as_ref())?;
refresh()?;
origin.y += 1;
mvgetch(origin)?;
endwin()
}