Struct sctk_adwaita::AdwaitaFrame
source · pub struct AdwaitaFrame<State> {Show 18 fields
pub(crate) base_surface: WlTyped<WlSurface, SurfaceData>,
pub(crate) compositor: Arc<CompositorState>,
pub(crate) subcompositor: Arc<SubcompositorState>,
pub(crate) queue_handle: QueueHandle<State>,
pub(crate) decorations: Option<DecorationParts>,
pub(crate) pool: SlotPool,
pub(crate) dirty: bool,
pub(crate) should_sync: bool,
pub(crate) scale_factor: u32,
pub(crate) resizable: bool,
pub(crate) buttons: Buttons,
pub(crate) state: WindowState,
pub(crate) wm_capabilities: WindowManagerCapabilities,
pub(crate) mouse: MouseState,
pub(crate) theme: ColorTheme,
pub(crate) title: Option<String>,
pub(crate) title_text: Option<TitleText>,
pub(crate) shadow: Shadow,
}
Expand description
A simple set of decorations
Fields§
§base_surface: WlTyped<WlSurface, SurfaceData>
The base surface used to create the window.
compositor: Arc<CompositorState>
§subcompositor: Arc<SubcompositorState>
Subcompositor to create/drop subsurfaces ondemand.
queue_handle: QueueHandle<State>
Queue handle to perform object creation.
decorations: Option<DecorationParts>
The drawable decorations, None
when hidden.
pool: SlotPool
Memory pool to allocate the buffers for the decorations.
dirty: bool
Whether the frame should be redrawn.
should_sync: bool
Whether the drawing should be synced with the main surface.
scale_factor: u32
Scale factor used for the surface.
resizable: bool
Wether the frame is resizable.
state: WindowState
§wm_capabilities: WindowManagerCapabilities
§mouse: MouseState
§theme: ColorTheme
§title: Option<String>
§title_text: Option<TitleText>
§shadow: Shadow
Implementations§
source§impl<State> AdwaitaFrame<State>
impl<State> AdwaitaFrame<State>
pub fn new( base_surface: &impl WaylandSurface, shm: &Shm, compositor: Arc<CompositorState>, subcompositor: Arc<SubcompositorState>, queue_handle: QueueHandle<State>, frame_config: FrameConfig, ) -> Result<Self, Box<dyn Error>>
sourcepub fn set_config(&mut self, config: FrameConfig)
pub fn set_config(&mut self, config: FrameConfig)
Update the current frame config.
pub(crate) fn precise_location( &self, location: Location, decoration: &DecorationParts, x: f64, y: f64, ) -> Location
pub(crate) fn redraw_inner(&mut self) -> Option<bool>
Trait Implementations§
source§impl<State: Debug> Debug for AdwaitaFrame<State>
impl<State: Debug> Debug for AdwaitaFrame<State>
source§impl<State> DecorationsFrame for AdwaitaFrame<State>
impl<State> DecorationsFrame for AdwaitaFrame<State>
source§fn update_state(&mut self, state: WindowState)
fn update_state(&mut self, state: WindowState)
Update the state of the frame. Read more
source§fn update_wm_capabilities(&mut self, wm_capabilities: WindowManagerCapabilities)
fn update_wm_capabilities(&mut self, wm_capabilities: WindowManagerCapabilities)
Update the window manager capabilites. Read more
Set the frame as hidden. Read more
source§fn set_resizable(&mut self, resizable: bool)
fn set_resizable(&mut self, resizable: bool)
Mark the frame as resizable. Read more
source§fn resize(&mut self, width: NonZeroU32, height: NonZeroU32)
fn resize(&mut self, width: NonZeroU32, height: NonZeroU32)
Resize the window to the new size. Read more
source§fn subtract_borders(
&self,
width: NonZeroU32,
height: NonZeroU32,
) -> (Option<NonZeroU32>, Option<NonZeroU32>)
fn subtract_borders( &self, width: NonZeroU32, height: NonZeroU32, ) -> (Option<NonZeroU32>, Option<NonZeroU32>)
source§fn location(&self) -> (i32, i32)
fn location(&self) -> (i32, i32)
Return the coordinates of the top-left corner of the borders relative to
the content. Read more
source§fn on_click(
&mut self,
timestamp: Duration,
click: FrameClick,
pressed: bool,
) -> Option<FrameAction>
fn on_click( &mut self, timestamp: Duration, click: FrameClick, pressed: bool, ) -> Option<FrameAction>
Emulate click on the decorations. Read more
source§fn set_scaling_factor(&mut self, scale_factor: f64)
fn set_scaling_factor(&mut self, scale_factor: f64)
Set the scaling of the decorations frame. Read more
source§fn click_point_moved(
&mut self,
_timestamp: Duration,
surface: &ObjectId,
x: f64,
y: f64,
) -> Option<CursorIcon>
fn click_point_moved( &mut self, _timestamp: Duration, surface: &ObjectId, x: f64, y: f64, ) -> Option<CursorIcon>
Emulate pointer moved event on the decorations frame. Read more
source§fn click_point_left(&mut self)
fn click_point_left(&mut self)
All clicks left the decorations. Read more
Get the frame hidden state. Read more
Auto Trait Implementations§
impl<State> Freeze for AdwaitaFrame<State>
impl<State> !RefUnwindSafe for AdwaitaFrame<State>
impl<State> Send for AdwaitaFrame<State>
impl<State> Sync for AdwaitaFrame<State>
impl<State> Unpin for AdwaitaFrame<State>
impl<State> !UnwindSafe for AdwaitaFrame<State>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.