[][src]Trait smithay_client_toolkit::window::Frame

pub trait Frame: Sized + Send {
    type Error;
    fn init(
        base_surface: &WlSurface,
        compositor: &WlCompositor,
        subcompositor: &WlSubcompositor,
        shm: &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: &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) { ... } }

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.

Associated Types

type Error

Type of errors that may occur when attempting to create a frame

Loading content...

Required methods

fn init(
    base_surface: &WlSurface,
    compositor: &WlCompositor,
    subcompositor: &WlSubcompositor,
    shm: &WlShm,
    implementation: Box<dyn FnMut(FrameRequest, u32) + Send>
) -> Result<Self, Self::Error>

Initialize the Frame

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.

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.

fn set_hidden(&mut self, hidden: bool)

Hide or show the decorations

Calling this should not trigger a redraw

fn set_resizable(&mut self, resizable: bool)

Set whether interactive resize hints should be displayed and reacted to

fn new_seat(&mut self, seat: &WlSeat)

Notify that a new wl_seat should be handled

fn resize(&mut self, newsize: (u32, u32))

Change the size of the decorations

Calling this should not trigger a redraw

fn redraw(&mut self)

Redraw the decorations

fn subtract_borders(&self, width: i32, height: i32) -> (i32, i32)

Subtracts the border dimensions from the given dimensions.

fn add_borders(&self, width: i32, height: i32) -> (i32, i32)

Adds the border dimensions to the given dimensions.

fn set_theme<T: Theme>(&mut self, theme: T)

Sets the theme for the frame

fn set_title(&mut self, title: String)

Sets the frames title

Loading content...

Provided methods

fn location(&self) -> (i32, i32)

Returns the coordinates of the top-left corner of the borders relative to the content

Values should thus be negative

Loading content...

Implementors

impl Frame for BasicFrame[src]

type Error = Error

impl Frame for ConceptFrame[src]

type Error = Error

Loading content...