(
&mut self,
event_loop: &ActiveEventLoop,
window_id: WindowId,
event: WindowEvent,
)
| 160 | } |
| 161 | |
| 162 | fn window_event( |
| 163 | &mut self, |
| 164 | event_loop: &ActiveEventLoop, |
| 165 | window_id: WindowId, |
| 166 | event: WindowEvent, |
| 167 | ) { |
| 168 | let RenderState::Active { window, renderer } = &mut self.render_state else { |
| 169 | return; |
| 170 | }; |
| 171 | |
| 172 | if window.id() != window_id { |
| 173 | return; |
| 174 | } |
| 175 | |
| 176 | match event { |
| 177 | WindowEvent::CloseRequested => event_loop.exit(), |
| 178 | WindowEvent::Resized(physical_size) => { |
| 179 | self.width = physical_size.width; |
| 180 | self.height = physical_size.height; |
| 181 | renderer.set_size(self.width, self.height); |
| 182 | self.request_redraw(); |
| 183 | } |
| 184 | WindowEvent::RedrawRequested => match renderer { |
| 185 | Renderer::Skia(r) => { |
| 186 | r.render(|painter| painter.append_scene(self.scene.clone(), Affine::IDENTITY)) |
| 187 | } |
| 188 | Renderer::Gpu(r) => { |
| 189 | r.render(|painter| painter.append_scene(self.scene.clone(), Affine::IDENTITY)) |
| 190 | } |
| 191 | Renderer::Hybrid(r) => { |
| 192 | r.render(|painter| painter.append_scene(self.scene.clone(), Affine::IDENTITY)) |
| 193 | } |
| 194 | Renderer::Cpu(r) => { |
| 195 | r.render(|painter| painter.append_scene(self.scene.clone(), Affine::IDENTITY)) |
| 196 | } |
| 197 | Renderer::CpuSoftbuffer(r) => { |
| 198 | r.render(|painter| painter.append_scene(self.scene.clone(), Affine::IDENTITY)) |
| 199 | } |
| 200 | Renderer::Null(r) => { |
| 201 | r.render(|painter| painter.append_scene(self.scene.clone(), Affine::IDENTITY)) |
| 202 | } |
| 203 | }, |
| 204 | WindowEvent::KeyboardInput { |
| 205 | event: |
| 206 | KeyEvent { |
| 207 | logical_key: Key::Named(NamedKey::Space), |
| 208 | state: ElementState::Pressed, |
| 209 | .. |
| 210 | }, |
| 211 | .. |
| 212 | } => match renderer { |
| 213 | Renderer::Cpu(_) | Renderer::CpuSoftbuffer(_) => { |
| 214 | self.set_backend(VelloHybridWindowRenderer::new(), event_loop); |
| 215 | } |
| 216 | Renderer::Hybrid(_) => { |
| 217 | self.set_backend(VelloWindowRenderer::new(), event_loop); |
| 218 | } |
| 219 | Renderer::Gpu(_) => { |
nothing calls this directly
no test coverage detected