use crate::{
ffi::system as ffi,
system::{SfStr, SfStrConv},
};
#[must_use]
pub fn get_string() -> String {
unsafe {
let sf_string = crate::ffi::window::sfClipboard_getUnicodeString();
let data = ffi::sfString_getData(sf_string);
let string = SfStr::from_ptr_str(data).to_rust_string();
ffi::sfString_delete(sf_string);
string
}
}
pub fn set_string<S: SfStrConv>(string: S) {
string.with_as_sfstr(|sfstr| unsafe {
crate::ffi::window::sfClipboard_setUnicodeString(sfstr.as_ptr());
})
}
#[cfg_attr(not(feature = "ci-headless"), test)]
fn identity_test() {
set_string("Hello world");
assert_eq!(&get_string(), "Hello world");
}