use anyhow::Result;
use tauri::{Runtime, WebviewWindow, Window};
pub trait DesktopUnderlayExt {
fn is_desktop_underlay(&self) -> bool;
fn set_desktop_underlay(&self, desktop_underlay: bool) -> Result<()>;
fn toggle_desktop_underlay(&self) -> Result<bool>;
}
impl<R: Runtime> DesktopUnderlayExt for Window<R> {
fn is_desktop_underlay(&self) -> bool {
crate::core::is_desktop_underlay(self)
}
fn set_desktop_underlay(&self, desktop_underlay: bool) -> Result<()> {
crate::core::set_desktop_underlay(self, desktop_underlay)
}
fn toggle_desktop_underlay(&self) -> Result<bool> {
crate::core::toggle_desktop_underlay(self)
}
}
impl<R: Runtime> DesktopUnderlayExt for WebviewWindow<R> {
fn is_desktop_underlay(&self) -> bool {
self.as_ref().window().is_desktop_underlay()
}
fn set_desktop_underlay(&self, desktop_underlay: bool) -> Result<()> {
self.as_ref()
.window()
.set_desktop_underlay(desktop_underlay)
}
fn toggle_desktop_underlay(&self) -> Result<bool> {
self.as_ref().window().toggle_desktop_underlay()
}
}