From ee48872cc8dac3654b54058e0a4e665da1e534d6 Mon Sep 17 00:00:00 2001 From: anon Date: Fri, 3 Jan 2025 16:20:48 +0100 Subject: [PATCH] working demo --- .gitignore | 1 + documentation/reference.jpg | Bin 0 -> 144006 bytes examples/ncurses_columns.c | 51 +++++ examples/raylib_diablo_like.c | 60 +++++ rect_layouts.h | 404 ++++++++++++++++++++++++++++++++++ 5 files changed, 516 insertions(+) create mode 100644 .gitignore create mode 100644 documentation/reference.jpg create mode 100644 examples/ncurses_columns.c create mode 100644 examples/raylib_diablo_like.c create mode 100644 rect_layouts.h diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f47cb20 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.out diff --git a/documentation/reference.jpg b/documentation/reference.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d85dd13e38fa498b5d41b9a3c35c986075efb526 GIT binary patch literal 144006 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 +#include +#include "rect_layouts.h" + +WINDOW * windows[5] = { NULL, NULL, NULL, NULL, NULL }; + +void do_resize(void) { + rect_t parent = center(get_screen_rect(), scale(get_screen_rect(), 0.8)); + for (int i = 0; i < 5; i++) { + delwin(windows[i]); + // NOTE: we are actually redundantly recalculating, + // both for scaling and in the expansion of UNPACK; + // a temp var should be deployed; + // now, this is generally bad and should be avoided, + // however it *does work* and developer comfort is a top priority + windows[i] = newwin(UNPACK(next(rfloor(scalex(parent, 0.2)), i))); + refresh(); + } + + clear(); + wrefresh(stdscr); +} + +signed main(void) { + initscr(); + noecho(); + curs_set(0); + halfdelay(1); + + do_resize(); + + while(1) { + switch (wgetch(stdscr)) { + case KEY_RESIZE: do_resize(); + } + + for (int i = 0; i < 5; i++) { + int maxy, maxx; + getmaxyx(windows[i], maxy, maxx); + for (int h = 0; h < (maxy * maxx); h++) { + waddch(windows[i], '0' + i); + } + box(windows[i], ACS_VLINE, ACS_HLINE); + wrefresh(windows[i]); + } + } + + endwin(); + return 0; +} diff --git a/examples/raylib_diablo_like.c b/examples/raylib_diablo_like.c new file mode 100644 index 0000000..561aac0 --- /dev/null +++ b/examples/raylib_diablo_like.c @@ -0,0 +1,60 @@ +// @BAKE gcc $@ -o $*.out -I../ -lraylib -lGL -lm -lpthread -ldl -lrt -lX11 +#include +#include "rect_layouts.h" + +rect_t hotbar; +rect_t healt; +rect_t manna; +rect_t inventory; +rect_t inventory_inner; +rect_t inventory_slot; + +void do_resize(void) { + hotbar = ride(after(get_screen_rect(), 1), scaley(get_screen_rect(), 0.17f)); + healt = ride(after(get_screen_rect(), 1), scale(get_unit_rect(), hotbar.height * 1.2f)); + manna = paper(hotbar, healt); + inventory = stretchy(hotbar, paper(get_screen_rect(), scalex(get_screen_rect(), 0.5f))); + inventory_inner = buoyance(inventory, scale(inventory, 0.8f)); + inventory_slot = rock(inventory_inner, hang(inventory_inner, scale(get_unit_rect(), inventory_inner.width / 9))); +} + +signed main(void) { + SetConfigFlags(FLAG_WINDOW_RESIZABLE); + InitWindow(600, 600, ""); + + do_resize(); + + while (!WindowShouldClose()) { + if (IsWindowResized()) { + do_resize(); + } + + BeginDrawing(); + DrawRectangleRec(get_screen_rect(), RAYWHITE); + DrawRectangleRec(inventory, BLACK); + DrawRectangleRec(inventory_inner, GRAY); + + for (int i = 0; i < 6; i++) { + for (int h = 0; h < 9; h++) { + DrawRectangleRec( + after(next(inventory_slot, h), i), + (Color) { + (unsigned char)(0 + ((i + h) * 10)), + (unsigned char)(0 + ((i + h) * 10)), + (unsigned char)(0 + ((i + h) * 10)), + 255, + } + ); + } + } + + DrawRectangleRec(hotbar, GRAY); + DrawRectangleRec(healt, RED); + DrawRectangleRec(manna, BLUE); + EndDrawing(); + } + + CloseWindow(); + + return 0; +} diff --git a/rect_layouts.h b/rect_layouts.h new file mode 100644 index 0000000..9811393 --- /dev/null +++ b/rect_layouts.h @@ -0,0 +1,404 @@ +#ifndef RECT_LAYOUTS_H +#define RECT_LAYOUTS_H +/* This header file defines with intuitive rectangle transformations. + * + * The intended purpose is to ease defining single screen interfaces. + * Layout engines are great, but very complex to implement and master. + * Static layouts on the otherhand tend to get very ugly, verbose and bug prone. + * The idea is to have a very minimalistic abstraction layer, + * with easy to visualize operations. + * This solves readability and typo-ing x to y, while being widely usable, + * adaptable or even reimplementable within just a few minutes. + * + * No doubt someone somewhere has adapted a similar approach before, + * however to the best of my knowledge this is the first attempt + * to normalize it into a library. + * In case I'm wrong, please throw me and email. + */ + +// TODO: further macro hell x, y, width and height so they can be user overwritten too +// TODO: stretch(x|y) naming is meh +// TODO: theres a logical inconsistency between ride-hang and rock-paper; either justify it or normalize it + + +// ### --------------- ### +// ### SPECIALIZATIONS ### +// ### --------------- ### +/* This has to go on top, because macros. Please read on. + */ + +#ifdef RAYLIB_H +# define rect_t Rectangle +static inline +rect_t get_screen_rect(void) { + return (rect_t) { + .x = 0, + .y = 0, + .width = (float)GetScreenWidth(), + .height = (float)GetScreenHeight(), + }; +} +#endif + + +// ### ------- ### +// ### General ### +// ### ------- ### + +/* Our internal rectangle representation. + * Feel free to overwrite it with whatever suits you, + * just #define alias it to `rect_t`. + */ +#ifndef rect_t +typedef struct rect_t { + float x, y, width, height; +} rect_t; +#endif + +#ifdef __NCURSES_H +# define UNPACK(r) (int)r.height, (int)r.width, (int)r.y, (int)r.x +static inline +rect_t get_screen_rect(void) { + return (rect_t) { + .x = 0, + .y = 0, + .width = (float)COLS, + .height = (float)LINES, + }; +} +#endif + +// tl;dr +static inline rect_t rfloor(rect_t r); +static inline rect_t get_unit_rect(void); +static inline rect_t scaley(rect_t a, float f); +static inline rect_t scalex(rect_t a, float f); +static inline rect_t scale(rect_t a, float f); +static inline rect_t balance(rect_t dest, rect_t source); +static inline rect_t buoyance(rect_t dest, rect_t source); +static inline rect_t center(rect_t dest, rect_t source); +static inline rect_t hang(rect_t dest, rect_t source); +static inline rect_t ride(rect_t dest, rect_t source); +static inline rect_t rock(rect_t dest, rect_t source); +static inline rect_t paper(rect_t dest, rect_t source); +static inline rect_t next(rect_t source, int n); +static inline rect_t after(rect_t source, int n); +static inline rect_t stretchy(rect_t dest, rect_t source); +static inline rect_t stretchx(rect_t dest, rect_t source); + + + +/* Floor every field of a rect. + * Useful if next() or after() create visible gaps. + * NOTE: we are not actually floaring so we dont depend on , + * for our ends and purposes it should just werk™ + */ +static inline +rect_t rfloor(rect_t r) { + return (rect_t) { + .x = (long long)r.x, + .y = (long long)r.y, + .width = (long long)r.width, + .height = (long long)r.height, + }; +} + + +/* Return the easiest rect to transform. + * Coordinates (0, 0) are easy to shift. + * Size 1x1 is easy to scale. + * + * +-+ + * +-+ + */ +static inline +rect_t get_unit_rect(void) { + return (rect_t) { + .x = 0, + .y = 0, + .width = 1, + .height = 1, + }; +} + + +/* Modify the width by a factor. + * + * +-+ __\ +---+ + * +-+ / +---+ + */ +static inline +rect_t scalex(rect_t a, float f) { + return (rect_t) { + .x = a.x, + .y = a.y, + .width = a.width * f, + .height = a.height, + }; +} + + +/* Modify the height by a factor. + * + * +-+ __\ +-+ + * +-+ / | | + * +-+ + */ +static inline +rect_t scaley(rect_t a, float f) { + return (rect_t) { + .x = a.x, + .y = a.y, + .width = a.width, + .height = a.height * f, + }; +} + + +/* Modify the height and width by a factor. + * Exists because its judged to be a common operation. + * + * +-+ __\ +---+ + * +-+ / | | + * +---+ + */ +static inline +rect_t scale(rect_t a, float f) { + return (rect_t) { + .x = a.x, + .y = a.y, + .width = a.width * f, + .height = a.height * f, + }; +} + +/* Align to the middle horiontally + * + * +---+---+---+ + * | : | + * +---+ | + * | | | + * | | | + * +---+ | + * | : | + * +---+---+---+ + */ +static inline +rect_t balance(rect_t dest, rect_t source) { + return (rect_t) { + .x = dest.x + ((dest.width - source.width) / 2), + .y = source.y, + .width = source.width, + .height = source.height, + }; +} + +/* Align to the middle vertically + * + * +---+---+---+ + * | | | | + * | - | | - | + * | +---+ | + * | | + * | | + * | | + * +---+---+---+ + */ +static inline +rect_t buoyance(rect_t dest, rect_t source) { + return (rect_t) { + .x = source.x, + .y = dest.y + ((dest.height - source.height) / 2), + .width = source.width, + .height = source.height, + }; +} + + +/* Blance and Buoyance. Align to the middle vertically and horizontally. + * Exists because its judged to be a common operation. + * + * +-----------+ + * | : | + * | +---+ | + * | - | | - | + * | | | | + * | +---+ | + * | : | + * +-----------+ + */ +static inline +rect_t center(rect_t dest, rect_t source) { + return balance(dest, buoyance(dest, source)); +} + + +/* Dangles from the top. + * + * +---+-------+ + * | | | + * | | | + * +---+ | + * | | + * | | + * | | + * +-----------+ + */ +static inline +rect_t hang(rect_t dest, rect_t source) { + return (rect_t) { + .x = source.x, + .y = dest.y, + .width = source.width, + .height = source.height, + }; +} + + +/* Places on the top. + * + * +---+ + * | | + * | | + * +---+-------+ + * | | + * | | + * | | + * | | + * | | + * | | + * +-----------+ + */ +static inline +rect_t ride(rect_t dest, rect_t source) { + return (rect_t) { + .x = source.x, + .y = dest.y - source.height, + .width = source.width, + .height = source.height, + }; +} + + +/* Moves to the left. + * NOTE: this is a reference to the political compas, for easy memorization. + * + * +---+-------+ + * | | | + * | | | + * +---+ | + * | | + * | | + * | | + * +-----------+ + */ +static inline +rect_t rock(rect_t dest, rect_t source) { + return (rect_t) { + .x = dest.x, + .y = source.y, + .width = source.width, + .height = source.height, + }; +} + + +/* Moves to the right. + * NOTE: this is a reference to the political compas, for easy memorization. + * + * +-------+---+ + * | | | + * | | | + * | +---+ + * | | + * | | + * | | + * +-----------+ + */ +static inline +rect_t paper(rect_t dest, rect_t source) { + return (rect_t) { + .x = (dest.x + dest.width) - source.width, + .y = source.y, + .width = source.width, + .height = source.height, + }; +} + + +/* Gets the N-th horiontal neighbour. + * + * +---+---+ + * | | | + * | | | + * +---+---+ + */ +static inline +rect_t next(rect_t source, int n) { + return (rect_t) { + .x = source.x + (source.width * n), + .y = source.y, + .width = source.width, + .height = source.height, + }; +} + +/* Gets the N-th vectical neighbour. + * + * +---+ + * | | + * | | + * +---+ + * | | + * | | + * +---+ + */ +static inline +rect_t after(rect_t source, int n) { + return (rect_t) { + .x = source.x, + .y = source.y + (source.height * n), + .width = source.width, + .height = source.height, + }; +} + +static inline +rect_t stretchy(rect_t dest, rect_t source) { + return (dest.y > source.y) ? + (rect_t) { + .x = source.x, + .y = source.y, + .width = source.width, + .height = dest.y - source.y, + } + : + (rect_t) { + .x = source.x, + .y = dest.y + dest.height, + .width = source.width, + .height = source.height + (source.y - (dest.y + dest.height)), + } + ; +} + +static inline +rect_t stretchx(rect_t dest, rect_t source) { + return (dest.x > source.x) ? + (rect_t) { + .x = source.x, + .y = source.y, + .width = dest.x - source.x, + .height = source.height, + } + : + (rect_t) { + .x = dest.x + dest.width, + .y = source.y, + .width = source.width + (source.x - (dest.x + dest.width)), + .height = source.height, + } + ; +} + +#endif