diff options
| author | Sam Anthony <sam@samanthony.xyz> | 2025-04-29 12:41:36 -0400 |
|---|---|---|
| committer | Sam Anthony <sam@samanthony.xyz> | 2025-04-29 12:41:36 -0400 |
| commit | a9a75f182ad82cf54ca62a5c1e2d1cebc310c850 (patch) | |
| tree | bba869b0ec3218bd24a4ef3bb24a519f49fc1408 | |
| parent | bb356388f2b4f140d68c991737348eeb5a226496 (diff) | |
| download | volute-a9a75f182ad82cf54ca62a5c1e2d1cebc310c850.zip | |
fix flickering image
| -rw-r--r-- | main.c | 24 |
1 files changed, 16 insertions, 8 deletions
@@ -73,7 +73,7 @@ static void volume_flow_rate_row(mu_Context *ctx, UI *ui); static void mass_flow_rate_row(mu_Context *ctx, UI *ui); static void mass_flow_rate_corrected_row(mu_Context *ctx, UI *ui); static void comp_select(mu_Context *ctx, UI *ui); -static void comp_img(mu_Context *ctx); +static void comp_img(mu_Context *ctx, UI *ui); static void output_row(mu_Context *ctx, UI *ui, const char *label, w_Select *unit, w_Number outputs[]); static void hpad(mu_Context *ctx, int w); static void vpad(mu_Context *ctx, int h); @@ -173,7 +173,7 @@ main_window(mu_Context *ctx, UI *ui) { comp_select(ctx, ui); - comp_img(ctx); + comp_img(ctx, ui); mu_end_window(ctx); } @@ -395,16 +395,24 @@ comp_select(mu_Context *ctx, UI *ui) { } static void -comp_img(mu_Context *ctx) { +comp_img(mu_Context *ctx, UI *ui) { mu_Rect r; - int w, h; + const char *data; + int id, w, h; - mu_layout_row(ctx, 1, (int[]) {-1}, -1); - r = mu_layout_next(ctx); r_get_window_size(&w, &h); - r.w = w - r.x; - r.h = h - r.y; + mu_layout_row(ctx, 1, &w, h); + + data = ui->comps[ui->comp_select.idx].imgfile; + id = mu_get_id(ctx, &data, sizeof(data)); + + r = mu_layout_next(ctx); + r.w = w - r.x - ctx->style->spacing; + r.h = h - r.y - ctx->style->spacing; mu_layout_set_next(ctx, r, 0); + + mu_update_control(ctx, id, r, 0); + mu_draw_icon(ctx, 0, r, (mu_Color) {0, 0, 0, 0}); } |