aboutsummaryrefslogtreecommitdiffstats
path: root/main.c
diff options
context:
space:
mode:
authorSam Anthony <sam@samanthony.xyz>2025-02-28 14:01:48 -0500
committerSam Anthony <sam@samanthony.xyz>2025-02-28 14:01:48 -0500
commite0b42abda8d5d4e6e350ccd15618f7a2f1b14f6c (patch)
tree205e959d255101dae3f29218e32089b07a9fed89 /main.c
parenta5e695b40492346c73b5fa88e2adcd414eb8a54c (diff)
downloadvolute-e0b42abda8d5d4e6e350ccd15618f7a2f1b14f6c.zip
dup/del buttons
Diffstat (limited to 'main.c')
-rw-r--r--main.c32
1 files changed, 29 insertions, 3 deletions
diff --git a/main.c b/main.c
index 7bf62c4..62ef596 100644
--- a/main.c
+++ b/main.c
@@ -6,6 +6,8 @@
#include "microui.h"
#include "renderer.h"
#include "widget.h"
+#include "unit.h"
+#include "engine.h"
#include "ui.h"
@@ -22,9 +24,9 @@ enum window {
};
enum layout {
- LABEL_WIDTH = 50,
- UNIT_WIDTH = 45,
- FIELD_WIDTH = 65,
+ LABEL_WIDTH = 48,
+ UNIT_WIDTH = 48,
+ FIELD_WIDTH = 64,
};
static const mu_Color BLACK = {0, 0, 0, 255};
@@ -58,6 +60,7 @@ static void displacement_row(mu_Context *ctx, UI *ui);
static void rpm_row(mu_Context *ctx, UI *ui);
static void map_row(mu_Context *ctx, UI *ui);
static void ve_row(mu_Context *ctx, UI *ui);
+static void dup_del_row(mu_Context *ctx, UI *ui);
/* Function Definitions. */
@@ -130,6 +133,7 @@ main_window(mu_Context *ctx, UI *ui) {
rpm_row(ctx, ui);
map_row(ctx, ui);
ve_row(ctx, ui);
+ dup_del_row(ctx, ui);
mu_end_window(ctx);
}
@@ -199,3 +203,25 @@ ve_row(mu_Context *ctx, UI *ui) {
}
}
}
+
+static void
+dup_del_row(mu_Context *ctx, UI *ui) {
+ int i;
+
+ mu_layout_row(ctx, 0, NULL, 0);
+ mu_layout_width(ctx, LABEL_WIDTH);
+ mu_label(ctx, "");
+ mu_layout_width(ctx, UNIT_WIDTH);
+ mu_label(ctx, "");
+ mu_layout_width(ctx, (FIELD_WIDTH - ctx->style->spacing)/2);
+ for (i = 0; i < ui->npoints; i++) {
+ mu_push_id(ctx, &i, sizeof(i));
+ if (mu_button(ctx, "Dup")) {
+ insert_point(ui, i);
+ }
+ if (mu_button(ctx, "Del")) {
+ remove_point(ui, i);
+ }
+ mu_pop_id(ctx);
+ }
+}