From 8ce4990f69b6ce1f85a3a29774f7b07d68030e55 Mon Sep 17 00:00:00 2001 From: Sam Anthony Date: Mon, 28 Apr 2025 23:09:28 -0400 Subject: load compressor image --- ui.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'ui.c') diff --git a/ui.c b/ui.c index 9dfbf87..5c2afd5 100644 --- a/ui.c +++ b/ui.c @@ -4,6 +4,9 @@ #include #include +#include +#include + #include "microui.h" #include "unit.h" #include "compressor.h" @@ -40,6 +43,7 @@ static void init_volume_flow_rate(UI *ui); static void init_mass_flow_rate(UI *ui); static void init_mass_flow_rate_corrected(UI *ui); static int init_comps(UI *ui); +static int init_comp_img(UI *ui); static void compute_pressure_ratio(UI *ui, int idx); static void compute_comp_outlet_temperature(UI *ui, int idx); static void compute_manifold_temperature(UI *ui, int idx); @@ -76,6 +80,11 @@ init_ui(UI *ui) { return 1; } + if (init_comp_img(ui) != 0) { + free_ui(ui); + return 1; + } + compute(ui, 0); return 0; @@ -85,6 +94,7 @@ void free_ui(UI *ui) { w_free_select_compressor(&ui->comp_select); free(ui->comps); + SDL_FreeSurface(ui->comp_img); } static void @@ -244,6 +254,19 @@ init_comps(UI *ui) { return 0; } +static int +init_comp_img(UI *ui) { + const Compressor *comp; + + comp = &ui->comps[ui->comp_select.idx]; + ui->comp_img = IMG_Load(comp->imgfile); + if (ui->comp_img == NULL) { + weprintf("failed to load %s", comp->imgfile); + return 1; + } + return 0; +} + void set_displacement(UI *ui) { int idx, i; -- cgit v1.2.3