fn on_resize()

in native/desktop-linux/src/linux/window.rs [245:267]


    fn on_resize(&mut self, size: &LogicalSize, physical_size: PhysicalSize, shm: &Shm) {
        if let Some(viewport) = &self.viewport {
            debug!("viewport.set_destination({}, {})", size.width.round(), size.height.round());
            viewport.set_destination(size.width.round(), size.height.round());
        } else {
            let surface = self.window.wl_surface();
            assert!(self.current_scale % 1.0 < 0.0001);
            debug!("surface.set_buffer_scale({})", self.current_scale);
            #[allow(clippy::cast_possible_truncation)]
            surface.set_buffer_scale(self.current_scale as i32);
        }

        if let Some(rendering_data) = &mut self.rendering_data {
            match rendering_data {
                RenderingData::Egl(egl_data) => {
                    egl_data.resize(physical_size);
                }
                RenderingData::Software(data) => {
                    data.resize(shm, physical_size);
                }
            }
        }
    }