diff options
| author | Louis Burda <quent.burda@gmail.com> | 2023-02-13 01:52:23 +0100 |
|---|---|---|
| committer | Louis Burda <quent.burda@gmail.com> | 2023-02-13 01:52:23 +0100 |
| commit | bfc06901ee84ad52febf3fe67a89f789e16fc5b8 (patch) | |
| tree | 512c69918e67c5197e0241332df277cd724d89ed | |
| parent | 7020e07405e693da9e40ed33b38a71f354d4708c (diff) | |
| download | bingram-bfc06901ee84ad52febf3fe67a89f789e16fc5b8.tar.gz bingram-bfc06901ee84ad52febf3fe67a89f789e16fc5b8.zip | |
Fix zoom centering
| -rw-r--r-- | bingram.c | 16 |
1 files changed, 14 insertions, 2 deletions
@@ -150,6 +150,19 @@ update_trigram_colors(void) memset(trigram_colors, 0, sizeof(Color) * 256 * 256 * 256); } +void +center_zoom(void) +{ + if (show_bar) { + zoom_x = -1.F * bar_width / zoom + - (1.F * (window_width - bar_width) + / zoom - data_width) / 2.F; + } else { + zoom_x = -(1.F * window_width / zoom - data_width) / 2.F; + } + zoom_y = -(1.F * window_height / zoom - data_height) / 2.F; +} + bool key_press_hold(int key) { @@ -224,8 +237,7 @@ vis(void) } if (IsKeyPressed(KEY_G)) zoom = 2; - zoom_x = (data_width - 1.F * window_width / zoom) / 2.F; - zoom_y = (data_height - 1.F * window_height / zoom) / 2.F; + center_zoom(); ImageResize(&window_image, window_width, window_height); if (window_init_frames) window_init_frames -= 1; |
