diff options
| -rw-r--r-- | main.c | 17 | ||||
| -rw-r--r-- | ui.c | 16 |
2 files changed, 32 insertions, 1 deletions
@@ -73,6 +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 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); @@ -172,6 +173,8 @@ main_window(mu_Context *ctx, UI *ui) { comp_select(ctx, ui); + comp_img(ctx); + mu_end_window(ctx); } @@ -392,6 +395,20 @@ comp_select(mu_Context *ctx, UI *ui) { } static void +comp_img(mu_Context *ctx) { + mu_Rect r; + int 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_set_next(ctx, r, 0); + mu_draw_icon(ctx, 0, r, (mu_Color) {0, 0, 0, 0}); +} + +static void output_row(mu_Context *ctx, UI *ui, const char *label, w_Select *unit, w_Number outputs[]) { int i; @@ -5,6 +5,7 @@ #include <string.h> #include "microui.h" +#include "renderer.h" #include "unit.h" #include "compressor.h" #include "widget.h" @@ -40,6 +41,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); @@ -48,7 +50,7 @@ static void compute_mass_flow_rate(UI *ui, int idx); static void compute_mass_flow_rate_corrected(UI *ui, int idx); -/* Returns non-zero on error. */ +/* Returns non-zero on error. The renderer must already be initialized. */ int init_ui(UI *ui) { ui->npoints = 1; @@ -76,6 +78,11 @@ init_ui(UI *ui) { return 1; } + if (init_comp_img(ui) != 0) { + free_ui(ui); + return 1; + } + compute(ui, 0); return 0; @@ -244,6 +251,13 @@ init_comps(UI *ui) { return 0; } +static int +init_comp_img(UI *ui) { + const Compressor *comp; + comp = &ui->comps[ui->comp_select.idx]; + return r_push_icon(comp->imgfile); +} + void set_displacement(UI *ui) { int idx, i; |