Convert screen coordinates to render coordinates (without offset)
(&self, screen_pos: DVec2, screen_size: DVec2)
| 126 | |
| 127 | /// Convert screen coordinates to render coordinates (without offset) |
| 128 | pub fn screen_to_render(&self, screen_pos: DVec2, screen_size: DVec2) -> DVec2 { |
| 129 | let ndc_x = (screen_pos.x / screen_size.x) * 2.0 - 1.0; |
| 130 | let ndc_y = -((screen_pos.y / screen_size.y) * 2.0 - 1.0); // Flip Y |
| 131 | DVec2::new( |
| 132 | self.effective_position().x + ndc_x * self.half_extents.x, |
| 133 | self.effective_position().y + ndc_y * self.half_extents.y, |
| 134 | ) |
| 135 | } |
| 136 | |
| 137 | /// Set camera bounds without changing the render offset |
| 138 | pub fn set_bounds_preserve_offset( |
no test coverage detected