Trait smithay_client_toolkit::window::Frame
source · pub trait Frame: Sized + Send {
type Error;
Show 13 methods
fn init(
base_surface: &Proxy<WlSurface>,
compositor: &Proxy<WlCompositor>,
subcompositor: &Proxy<WlSubcompositor>,
shm: &Proxy<WlShm>,
implementation: Box<dyn FnMut(FrameRequest, u32) + Send>
) -> Result<Self, Self::Error>;
fn set_active(&mut self, active: bool) -> bool;
fn set_maximized(&mut self, maximized: bool) -> bool;
fn set_hidden(&mut self, hidden: bool);
fn set_resizable(&mut self, resizable: bool);
fn new_seat(&mut self, seat: &Proxy<WlSeat>);
fn resize(&mut self, newsize: (u32, u32));
fn redraw(&mut self);
fn subtract_borders(&self, width: i32, height: i32) -> (i32, i32);
fn add_borders(&self, width: i32, height: i32) -> (i32, i32);
fn set_theme<T: Theme>(&mut self, theme: T);
fn set_title(&mut self, title: String);
fn location(&self) -> (i32, i32) { ... }
}Expand description
Interface for defining the drawing of decorations
A type implementing this trait can be used to define custom
decorations additionnaly to the ones provided by this crate
and be used with Window.
Required Associated Types§
Required Methods§
sourcefn init(
base_surface: &Proxy<WlSurface>,
compositor: &Proxy<WlCompositor>,
subcompositor: &Proxy<WlSubcompositor>,
shm: &Proxy<WlShm>,
implementation: Box<dyn FnMut(FrameRequest, u32) + Send>
) -> Result<Self, Self::Error>
fn init(
base_surface: &Proxy<WlSurface>,
compositor: &Proxy<WlCompositor>,
subcompositor: &Proxy<WlSubcompositor>,
shm: &Proxy<WlShm>,
implementation: Box<dyn FnMut(FrameRequest, u32) + Send>
) -> Result<Self, Self::Error>
Initialize the Frame
sourcefn set_active(&mut self, active: bool) -> bool
fn set_active(&mut self, active: bool) -> bool
Set whether the decorations should be drawn as active or not
Calling this should not trigger a redraw, but return true if
a redraw is needed.
sourcefn set_maximized(&mut self, maximized: bool) -> bool
fn set_maximized(&mut self, maximized: bool) -> bool
Set whether the decorations should be drawn as maximized or not
Calling this should not trigger a redraw, but return true if
a redraw is needed.
Hide or show the decorations
Calling this should not trigger a redraw
sourcefn set_resizable(&mut self, resizable: bool)
fn set_resizable(&mut self, resizable: bool)
Set whether interactive resize hints should be displayed and reacted to
sourcefn resize(&mut self, newsize: (u32, u32))
fn resize(&mut self, newsize: (u32, u32))
Change the size of the decorations
Calling this should not trigger a redraw
sourcefn subtract_borders(&self, width: i32, height: i32) -> (i32, i32)
fn subtract_borders(&self, width: i32, height: i32) -> (i32, i32)
Subtracts the border dimensions from the given dimensions.