fn handle_scale_factor_changed_event()

in src/platform_impl/macos/app_state.rs [200:223]


    fn handle_scale_factor_changed_event(
        &self,
        callback: &mut Box<dyn EventHandler + 'static>,
        ns_window: IdRef,
        suggested_size: LogicalSize<f64>,
        scale_factor: f64,
    ) {
        let mut size = suggested_size.to_physical(scale_factor);
        let new_inner_size = &mut size;
        let event = Event::WindowEvent {
            window_id: WindowId(get_window_id(*ns_window)),
            event: WindowEvent::ScaleFactorChanged {
                scale_factor,
                new_inner_size,
            },
        };

        callback.handle_nonuser_event(event, &mut *self.control_flow.lock().unwrap());

        let physical_size = *new_inner_size;
        let logical_size = physical_size.to_logical(scale_factor);
        let size = NSSize::new(logical_size.width, logical_size.height);
        unsafe { NSWindow::setContentSize_(*ns_window, size) };
    }