#[non_exhaustive]pub enum Event {
Show 15 variants
Geometry {
x: i32,
y: i32,
physical_width: i32,
physical_height: i32,
subpixel: i32,
make: String,
model: String,
transform: i32,
},
CurrentMode {
mode: KdeOutputDeviceModeV2,
},
Mode {
mode: KdeOutputDeviceModeV2,
},
Done,
Scale {
factor: f64,
},
Edid {
raw: String,
},
Enabled {
enabled: i32,
},
Uuid {
uuid: String,
},
SerialNumber {
serialNumber: String,
},
EisaId {
eisaId: String,
},
Capabilities {
flags: WEnum<Capability>,
},
Overscan {
overscan: u32,
},
VrrPolicy {
vrr_policy: WEnum<VrrPolicy>,
},
RgbRange {
rgb_range: WEnum<RgbRange>,
},
Name {
name: String,
},
}
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Geometry
Fields
geometric properties of the output
The geometry event describes geometric properties of the output. The event is sent when binding to the output object and whenever any of the properties change.
CurrentMode
Fields
mode: KdeOutputDeviceModeV2
current mode
This event describes the mode currently in use for this head. It is only sent if the output is enabled.
Mode
Fields
mode: KdeOutputDeviceModeV2
advertise available output modes and current one
The mode event describes an available mode for the output.
When the client binds to the output_device object, the server sends this event once for every available mode the output_device can be operated by.
There will always be at least one event sent out on initial binding, which represents the current mode.
Later if an output changes, its mode event is sent again for the eventual added modes and lastly the current mode. In other words, the current mode is always represented by the latest event sent with the current flag set.
The size of a mode is given in physical hardware units of the output device. This is not necessarily the same as the output size in the global compositor space. For instance, the output may be scaled, as described in kde_output_device_v2.scale, or transformed, as described in kde_output_device_v2.transform.
Done
sent all information about output
This event is sent after all other properties have been sent on binding to the output object as well as after any other output property change have been applied later on. This allows to see changes to the output properties as atomic, even if multiple events successively announce them.
Scale
output scaling properties
This event contains scaling geometry information that is not in the geometry event. It may be sent after binding the output object or if the output scale changes later. If it is not sent, the client should assume a scale of 1.
A scale larger than 1 means that the compositor will automatically scale surface buffers by this amount when rendering. This is used for high resolution displays where applications rendering at the native resolution would be too small to be legible.
It is intended that scaling aware clients track the current output of a surface, and if it is on a scaled output it should use wl_surface.set_buffer_scale with the scale of the output. That way the compositor can avoid scaling the surface, and the client can supply a higher detail image.
Edid
advertise EDID data for the output
The edid event encapsulates the EDID data for the outputdevice.
The event is sent when binding to the output object. The EDID data may be empty, in which case this event is sent anyway. If the EDID information is empty, you can fall back to the name et al. properties of the outputdevice.
Enabled
output is enabled or disabled
The enabled event notifies whether this output is currently enabled and used for displaying content by the server. The event is sent when binding to the output object and whenever later on an output changes its state by becoming enabled or disabled.
Uuid
A unique id for this outputdevice
The uuid can be used to identify the output. It’s controlled by the server entirely. The server should make sure the uuid is persistent across restarts. An empty uuid is considered invalid.
SerialNumber
Serial Number
Serial ID of the monitor, sent on startup before the first done event.
EisaId
EISA ID
EISA ID of the monitor, sent on startup before the first done event.
Capabilities
Fields
flags: WEnum<Capability>
capability flags
What capabilities this device has, sent on startup before the first done event.
Overscan
overscan
Overscan value of the monitor in percent, sent on startup before the first done event.
VrrPolicy
Variable Refresh Rate Policy
What policy the compositor will employ regarding its use of variable refresh rate.
RgbRange
RGB range
What rgb range the compositor is using for this output
Name
Output’s name
Name of the output, it’s useful to cross-reference to an zxdg_output_v1 and ultimately QScreen
Only available since version 2 of the interface
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for Event
impl Send for Event
impl Sync for Event
impl Unpin for Event
impl !UnwindSafe for Event
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
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.