diff options
| author | HampusM <hampus@hampusmat.com> | 2026-04-24 19:13:51 +0200 |
|---|---|---|
| committer | HampusM <hampus@hampusmat.com> | 2026-04-24 19:13:51 +0200 |
| commit | 746c72950a353f51c74c9adf9a985ad7f9b294a0 (patch) | |
| tree | f421c58c79089a416e86e45ab2447f329b52bdf9 /engine/src/renderer.rs | |
| parent | 06ce858fce9ee624fa2b0b73ff0df0aaf3ce1ce6 (diff) | |
fix(engine): make GL viewport size tied to window surface size
Diffstat (limited to 'engine/src/renderer.rs')
| -rw-r--r-- | engine/src/renderer.rs | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/engine/src/renderer.rs b/engine/src/renderer.rs index 744b41e..9f4ebda 100644 --- a/engine/src/renderer.rs +++ b/engine/src/renderer.rs @@ -224,6 +224,7 @@ pub enum Command { RemoveSurface(SurfaceId), MakeCurrent(SurfaceId), + SetSurfaceSize(SurfaceId, Dimens<u32>), ClearBuffers(BufferClearMask), SwapBuffers(SurfaceId), CreateShaderProgram(ObjectId, ShaderProgram), @@ -250,11 +251,6 @@ pub enum Command RemoveMesh(ObjectId), DrawMesh(ObjectId, DrawMeshOptions), UpdateDrawProperties(DrawProperties, DrawPropertiesUpdateFlags), - SetViewport - { - size: Dimens<u32>, - position: Vec2<u32>, - }, } builder! { @@ -470,10 +466,18 @@ fn handle_window_changed( continue; }; - command_queue.queue.push_front(Command::SetViewport { - position: Vec2 { x: 0, y: 0 }, - size: *evt_match.get_changed_comp().inner_size(), - }); + let window = evt_match.get_changed_comp(); + + tracing::debug!( + window_id=?window.wid(), + window_title=&*window.title, + "Handling potential resize of window" + ); + + command_queue.queue.push_front(Command::SetSurfaceSize( + window_surface_spec.id, + evt_match.get_changed_comp().inner_size().clone(), + )); command_queue .queue |
