From 01d121ef87c2efa201091d83025360b99b5dbba6 Mon Sep 17 00:00:00 2001 From: Yves Biener Date: Fri, 14 Feb 2025 22:27:24 +0100 Subject: [PATCH] mod: update README and remove alignment options --- README.md | 56 ++++++++++++++++++++++++++--------------------- src/container.zig | 6 ----- 2 files changed, 31 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index 912b741..0b22e58 100644 --- a/README.md +++ b/README.md @@ -79,18 +79,18 @@ the primary use-case for myself to create this library in the first place. - [x] horizontal - [x] padding - [x] gap - - [ ] alignment - - [ ] center - - [ ] left - - [ ] right - - [ ] sizing - - [ ] width - - [ ] height - - [ ] options - - [ ] fit - - [ ] grow - - [x] fixed - - [x] percent + - [x] alignment (removed - for now at least) + - center + - left + - right + - [x] sizing (removed - for now at least) + - width + - height + - options + - fit + - grow + - fixed + - percent - [ ] Border - [x] sides - [x] corners @@ -108,22 +108,28 @@ cells of the content (and may be overwritten by child elements contents). The border of an element should be around independent of the scrolling of the contents, just like padding. -- *fit*: adjust virtual space of container by the size of its children (i.e. a - container needs to be able to get the necessary size of its children) -- *grow*: use as much space as available (what exactly would be the difference - between this option and *fit*?) -- *fixed*: use exactly as much cells (in the specified direction) - -- *center*: elements should have their anchor be placed accordingly to their - size and the viewport size. -- *left*: the anchor remains at zero (relative to the location of the - container on the screen) -> similar to the current implementation! -- *right*: the anchor is fixed to the right side (i.e. size of the contents - - size of the viewport) - ### Input How is the user input handled in the containers? Should there be active containers? Some input may happen for a specific container (i.e. when using mouse input). How would I handle scrolling for outer and inner elements of a container? + +### Archive + +The alignment and sizing options only make sense if both are available. For +this the current implementation has the viewport size and the content size too +linked. Therefore they have both been removed (at least for now): + + - *fit*: adjust virtual space of container by the size of its children (i.e. a + container needs to be able to get the necessary size of its children) + - *grow*: use as much space as available (what exactly would be the difference + between this option and *fit*?) + - *fixed*: use exactly as much cells (in the specified direction) + + - *center*: elements should have their anchor be placed accordingly to their + size and the viewport size. + - *left*: the anchor remains at zero (relative to the location of the + container on the screen) -> similar to the current implementation! + - *right*: the anchor is fixed to the right side (i.e. size of the contents - + size of the viewport) diff --git a/src/container.zig b/src/container.zig index 2da4948..596a1db 100644 --- a/src/container.zig +++ b/src/container.zig @@ -227,12 +227,6 @@ pub const Layout = packed struct { } = .{}, /// Padding used in between child elements as gaps when laid out gap: u16 = 0, - // TODO: is there a way to make x / y type copied by the compiler at comptime instead? such that this only has to be defined once? - /// Alignment of where the child elements are positioned relative to the parent container when laid out - alignment: packed struct { - x: enum(u2) { center, left, right } = .center, - y: enum(u2) { center, left, right } = .center, - } = .{}, }; pub fn Container(comptime Event: type) type {