From 29d736aecc5db0deb67053931e5b1cf03a9defc3 Mon Sep 17 00:00:00 2001 From: Mitya Selivanov Date: Sun, 12 Jan 2025 12:13:56 +0100 Subject: f32 colors; g_ prefix --- examples/graph.c | 81 +++++++++++++++++++------------------------------------- 1 file changed, 27 insertions(+), 54 deletions(-) mode change 100755 => 100644 examples/graph.c (limited to 'examples/graph.c') diff --git a/examples/graph.c b/examples/graph.c old mode 100755 new mode 100644 index 6ad5fdc..f03cc93 --- a/examples/graph.c +++ b/examples/graph.c @@ -1,30 +1,3 @@ -#if 0 /* -#/ ================================================================ -#/ -#/ graph.c -#/ -#/ ================================================================ -#/ -#/ Self-compilation shell script -#/ -SRC=${0##*./} -BIN=${SRC%.*} -gcc \ - -Wall -Wextra -Werror -pedantic \ - -Wno-old-style-declaration \ - -Wno-missing-braces \ - -Wno-unused-variable \ - -Wno-unused-but-set-variable \ - -Wno-unused-parameter \ - -Wno-overlength-strings \ - -O3 \ - -fsanitize=undefined,address,leak \ - -lX11 -lm -lasound \ - -o $BIN $SRC && \ - ./$BIN $@ && rm $BIN -exit $? # */ -#endif - #include "../graphics.c" enum { @@ -80,12 +53,12 @@ void draw_node(i64 node_index) { Node n = world.nodes[node_index]; - u32 color = 0; // black color + vec3_f32 color = {0}; // black color if (n.highlight) - color = 0xff00ff; // pink color + color = (vec3_f32) { 1.f, .0f, 1.f }; // pink color if (n.hover) - color = 0x007f00; // green color + color = (vec3_f32) { 0.f, .5f, 0.f }; // green color fill_ellipse( OP_SET, // set pixels @@ -105,12 +78,12 @@ void draw_edge(i64 edge_index) { Node n0 = world.nodes[e.src]; Node n1 = world.nodes[e.dst]; - u32 color = 0x7f7f7f; // grey color + vec3_f32 color = { .5f, .5f, .5f }; // grey color if (e.highlight) - color = 0xff00ff; // pink color + color = (vec3_f32) { 1.f, .0f, 1.f }; // pink color if (e.hover) - color = 0x007f00; // green color + color = (vec3_f32) { 0.f, .5f, 0.f }; // green color fill_line( OP_SET, // set pixels @@ -146,8 +119,8 @@ void update_node(i64 node_index) { n.y - n.radius, n.radius * 2, n.radius * 2, - platform.cursor_x, - platform.cursor_y + g_platform.cursor_x, + g_platform.cursor_y ); } @@ -165,8 +138,8 @@ void update_edge(i64 edge_index) { n1.x, n1.y, e.width, - platform.cursor_x, - platform.cursor_y + g_platform.cursor_x, + g_platform.cursor_y ); } @@ -421,7 +394,7 @@ void update_and_render_frame(void) { update_edge(i); } - if (platform.key_pressed[KEY_DELETE]) { + if (g_platform.key_pressed[KEY_DELETE]) { for (i64 i = 0; i < MAX_NUM_EDGES; ++i) if (world.edges[i].enabled && world.edges[i].hover) remove_edge(i); @@ -433,7 +406,7 @@ void update_and_render_frame(void) { path_changed = 1; } - if (platform.key_pressed['1']) { + if (g_platform.key_pressed['1']) { for (i64 i = 0; i < MAX_NUM_NODES; ++i) if (world.nodes[i].enabled && world.nodes[i].hover) { path_src = i; @@ -442,7 +415,7 @@ void update_and_render_frame(void) { } } - if (platform.key_pressed['2']) + if (g_platform.key_pressed['2']) for (i64 i = 0; i < MAX_NUM_NODES; ++i) if (world.nodes[i].enabled && world.nodes[i].hover) { path_dst = i; @@ -455,13 +428,13 @@ void update_and_render_frame(void) { path_changed = 0; } - if (platform.key_pressed[BUTTON_LEFT]) { + if (g_platform.key_pressed[BUTTON_LEFT]) { for (i64 i = 0; i < MAX_NUM_NODES; ++i) if (world.nodes[i].enabled && world.nodes[i].hover) { drag_on = 1; drag_node = i; - drag_x0 = platform.cursor_x; - drag_y0 = platform.cursor_y; + drag_x0 = g_platform.cursor_x; + drag_y0 = g_platform.cursor_y; for (i64 j = 0; j < MAX_NUM_NODES; ++j) { world.nodes[j].drag_x = world.nodes[j].x; world.nodes[j].drag_y = world.nodes[j].y; @@ -470,10 +443,10 @@ void update_and_render_frame(void) { } if (!drag_on) - add_node(platform.cursor_x, platform.cursor_y); + add_node(g_platform.cursor_x, g_platform.cursor_y); } - if (platform.key_pressed[BUTTON_RIGHT]) + if (g_platform.key_pressed[BUTTON_RIGHT]) for (i64 i = 0; i < MAX_NUM_NODES; ++i) if (world.nodes[i].enabled && world.nodes[i].hover) { adding_edge = 1; @@ -489,7 +462,7 @@ void update_and_render_frame(void) { break; } - if (adding_edge && !platform.key_down[BUTTON_RIGHT]) { + if (adding_edge && !g_platform.key_down[BUTTON_RIGHT]) { adding_edge = 0; add_edge(adding_src, adding_dst); path_changed = 1; @@ -497,8 +470,8 @@ void update_and_render_frame(void) { if (drag_on) { if (check_node_index(drag_node)) { - f64 dx = platform.cursor_x - drag_x0; - f64 dy = platform.cursor_y - drag_y0; + f64 dx = g_platform.cursor_x - drag_x0; + f64 dy = g_platform.cursor_y - drag_y0; world.nodes[drag_node].x = world.nodes[drag_node].drag_x + dx; world.nodes[drag_node].y = world.nodes[drag_node].drag_y + dy; @@ -525,26 +498,26 @@ void update_and_render_frame(void) { path_changed = 1; } - if (!platform.key_down[BUTTON_LEFT]) + if (!g_platform.key_down[BUTTON_LEFT]) drag_on = 0; } // Render - fill_rectangle(OP_SET, 0xa0b0c0, 0, 0, platform.frame_width, platform.frame_height); + fill_rectangle(OP_SET, (vec3_f32) { .7f, .8f, .9f }, 0, 0, g_platform.frame_width, g_platform.frame_height); if (adding_edge) { f64 x0 = world.nodes[adding_src].x; f64 y0 = world.nodes[adding_src].y; - f64 x1 = platform.cursor_x; - f64 y1 = platform.cursor_y; + f64 x1 = g_platform.cursor_x; + f64 y1 = g_platform.cursor_y; if (adding_src != adding_dst) { x1 = world.nodes[adding_dst].x; y1 = world.nodes[adding_dst].y; } - fill_line(OP_SET, 0x7f007f, x0, y0, x1, y1, 30); + fill_line(OP_SET, (vec3_f32) { .5f, 0.f, .5f }, x0, y0, x1, y1, 30); } draw_graph(); @@ -556,7 +529,7 @@ i32 main(i32 argc, c8 **argv) { (void) argc; (void) argv; - platform = (Platform) { + g_platform = (Platform) { .title = "Graph", .frame_width = 960, .frame_height = 720, -- cgit v1.2.3