pub struct Output {
pub wl_output: WlOutput,
pub name: String,
pub logical_x: i32,
pub logical_y: i32,
pub logical_w: i32,
pub logical_h: i32,
pub phys_width: i32,
pub phys_height: i32,
pub scale: i32,
pub transform: Transform,
pub have_xdg: bool,
}Expand description
A capturable output, with its placement in the global logical space.
Logical position/size come from xdg-output (zxdg_output_manager_v1) when the
compositor exposes it — the only reliable source for multi-monitor positions and
fractional-scale logical sizes. Physical pixel size, integer scale and transform
come from wl_output; if xdg-output is absent we fall back to computing the
logical size from those.
Fields§
§wl_output: WlOutputThe underlying wl_output protocol object.
name: StringThe output’s connector name (e.g. DP-1).
logical_x: i32Left edge in the global logical coordinate space.
logical_y: i32Top edge in the global logical coordinate space.
logical_w: i32Logical width from xdg-output (0 until received; see Output::logical_size).
logical_h: i32Logical height from xdg-output (0 until received; see Output::logical_size).
phys_width: i32Width of the current mode, in physical pixels (pre-transform).
phys_height: i32Height of the current mode, in physical pixels (pre-transform).
scale: i32Integer buffer scale (wl_output; may be coarser than the real scale).
transform: TransformOutput transform (rotation/flip); swaps logical width/height for 90/270.
have_xdg: boolWhether xdg-output supplied authoritative logical geometry.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for Output
impl !UnwindSafe for Output
impl Freeze for Output
impl Send for Output
impl Sync for Output
impl Unpin for Output
impl UnsafeUnpin for Output
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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>
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)
&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)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.