From ee105ab5de568d4851be6c0a3901f70166c77d5b Mon Sep 17 00:00:00 2001 From: Allen Webster Date: Sat, 16 May 2026 17:09:52 -0700 Subject: [PATCH] setup resize demo --- build/resize | Bin 0 -> 60128 bytes build_resize.sh | 9 +++++ project.4coder | 4 ++ src/resize.main.c | 97 ++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 110 insertions(+) create mode 100755 build/resize create mode 100755 build_resize.sh create mode 100644 src/resize.main.c diff --git a/build/resize b/build/resize new file mode 100755 index 0000000000000000000000000000000000000000..50d960cb7af3151fa636999d5f69d319a7da99b7 GIT binary patch literal 60128 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 literal 0 HcmV?d00001 diff --git a/build_resize.sh b/build_resize.sh new file mode 100755 index 0000000..34952dd --- /dev/null +++ b/build_resize.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +code="$PWD" +opts="-g -Wno-switch" + +mkdir -p build +cd build +echo resize +clang $opts $code/src/resize.main.c -lncurses -o resize diff --git a/project.4coder b/project.4coder index 54dc483..d46b769 100644 --- a/project.4coder +++ b/project.4coder @@ -30,9 +30,13 @@ commands = { .build_colors = { .out = "*compilation*", .footer_panel = true, .save_dirty_files = true, .win = "build_colors.bat", .linux = "./build_colors.sh", .mac = "./build_colors.sh", }, + + .build_resize = { .out = "*compilation*", .footer_panel = true, .save_dirty_files = true, + .win = "build_resize.bat", .linux = "./build_resize.sh", .mac = "./build_resize.sh", }, }; fkey_command = { .F1 = "build_printinput", .F2 = "build_animate", .F3 = "build_colors", +.F4 = "build_resize", }; diff --git a/src/resize.main.c b/src/resize.main.c new file mode 100644 index 0000000..217a54d --- /dev/null +++ b/src/resize.main.c @@ -0,0 +1,97 @@ +#include "mr4th/mr4th_base.h" +#include + +#include "mr4th/mr4th_base.c" + +int main(){ + // initializes ncurses + initscr(); + + // settings + noecho(); + cbreak(); + + // get size + int window_x = 0; + int window_y = 0; + getmaxyx(stdscr, window_y, window_x); + + + { + clear(); + + // size & corners + move(0, 0); + printw("SIZE: %d, %d", window_x, window_y); + if (window_y > 2){ + mvaddch(window_y - 1, 0, '#'); + mvaddch(window_y - 1, window_x - 1, '#'); + } + mvaddch(0, window_x - 1, '#'); + + refresh(); + } + + // program + int y_counter = 0; + for (;;){ + int c = getch(); + + // apply resize + if (c == KEY_RESIZE){ + getmaxyx(stdscr, window_y, window_x); + } + + clear(); + + // size & corners + move(0, 0); + printw("SIZE: %d, %d", window_x, window_y); + if (window_y > 2){ + mvaddch(window_y - 1, 0, '#'); + mvaddch(window_y - 1, window_x - 1, '#'); + } + mvaddch(0, window_x - 1, '#'); + + // (27 '^[' ESC) + move(1, 0); + if (c == 27){ + printw("ESC "); + + // read escape bytes + nodelay(stdscr, 1); + int bcount = 0; + char b[10]; + for (;;){ + char bx = getch(); + if (bx == ERR){ + break; + } + if (bcount < 10){ + b[bcount] = bx; + } + bcount += 1; + } + nodelay(stdscr, 0); + + // print escape + int bcount_clamped = Min(10, bcount); + for (int i = 0; i < bcount_clamped; i += 1){ + printw("%u ", b[i]); + } + if (bcount_clamped < bcount){ + printw("... (%u more), ", bcount - bcount_clamped); + } + } + else{ + printw("'%c' [%u]", c, c); + } + + refresh(); + } + + // end ncurses + endwin(); + + return(0); +}