pub fn map_output<P: Into<Point<i32, Logical>>>(&mut self, output: &Output, scale: f64, location: P) {
        let mut state = output_state(self.id, output);
        *state = OutputState {
            location: location.into(),
            render_scale: scale,
            // keep surfaces, we still need to inform them of leaving,
            // if they don't overlap anymore during refresh.
            surfaces: state.surfaces.drain(..).collect::<Vec<_>>(),
            // resets last_seen and old_damage, if remapped
            ..Default::default()
        };
        if !self.outputs.contains(output) {
            self.outputs.push(output.clone());
        }
    }
/// Maps an [`Output`] inside the space.
///
/// Can be safely called on an already mapped
/// [`Output`] to update its scale or location.
///
/// The scale is the what is rendered for the given output
/// and may be fractional. It is independent from the integer scale
/// reported to clients by the output.
///
/// *Note:* Remapping an output does reset it's damage memory.
Maps an [`Output`] inside the space.
Can be safely called on an already mapped
[`Output`] to update its scale or location.

The scale is the what is rendered for the given output
and may be fractional. It is independent from the integer scale
reported to clients by the output.

Remapping an output does reset it's damage memory.
Maps an [ ` Output ` ] inside the space . Can be safely called on an already mapped [ ` Output ` ] to update its scale or location . The scale is the what is rendered for the given output and may be fractional . It is independent from the integer scale reported to clients by the output . Remapping an output does reset it ' s damage memory .
pub fn map_output<P: Into<Point<i32, Logical>>>(&mut self, output: &Output, scale: f64, location: P) {
        let mut state = output_state(self.id, output);
        *state = OutputState {
            location: location.into(),
            render_scale: scale,
            // keep surfaces, we still need to inform them of leaving,
            // if they don't overlap anymore during refresh.
            surfaces: state.surfaces.drain(..).collect::<Vec<_>>(),
            // resets last_seen and old_damage, if remapped
            ..Default::default()
        };
        if !self.outputs.contains(output) {
            self.outputs.push(output.clone());
        }
    }
pub fn map_output < P : Into < Point < i32 , Logical > > > ( & mut self , output : & Output , scale : f64 , location : P ) { let mut state = output_state ( self . id , output ) ; * state = OutputState { location : location . into ( ) , render_scale : scale , // keep surfaces, we still need to inform them of leaving, // if they don't overlap anymore during refresh. surfaces : state . surfaces . drain ( .. ) . collect :: < Vec < _ > > ( ) , // resets last_seen and old_damage, if remapped .. Default :: default ( ) } ; if ! self . outputs . contains ( output ) { self . outputs . push ( output . clone ( ) ) ; } }
Maps an [`Output`] inside the space.
Maps an [ ` Output ` ] inside the space .
&mut self
output
&Output
scale
f64
location
P
&mut self
output
&Output
scale
f64
location
P