yves-biener
c66401d941
testing(container): border separator test cases
...
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 40s
Currently the test case with both a border and separators for two
children is failing to render the separators.
2025-02-25 20:39:18 +01:00
yves-biener
ad4186e1f8
test(container): move test template for zon file creation to wiki
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 46s
2025-02-25 19:04:21 +01:00
yves-biener
8c130a40d7
test(container): correct color
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 1m15s
2025-02-25 18:46:06 +01:00
yves-biener
9d5a661b4e
test(container): render Cell slices test against .zon input
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 1m0s
2025-02-25 18:41:04 +01:00
yves-biener
4234c9ad0c
rem(element): template Element moved into wiki documentation
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 45s
2025-02-25 16:55:11 +01:00
yves-biener
a588e2ef21
add(test): input testing of Key.isAscii
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 1m42s
2025-02-25 16:52:17 +01:00
yves-biener
8519d204f3
fix(lint): correct spelling error
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 1m1s
2025-02-24 17:20:25 +01:00
yves-biener
33262c9638
add(testing): new namespace containing testing capabilities for zterm
...
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 39s
The namespace shall also be used for testing the rendering of
`Container`s and `Element`s (including the `Scrollable` element).
The testing renderer currently is a striped down version of the double
buffered render without the secondary buffer and the flushing to stdout.
The internal `Cell` slice (the *screen*) is used for equality checks.
The testing namespace shall provide a way to describe the expected
`Cell` slices that should be validated against.
2025-02-24 17:14:57 +01:00
yves-biener
5c5c59cbfc
fix(style): render only necessary bytes and change default fg color to .default
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 45s
2025-02-24 17:11:22 +01:00
yves-biener
c022d1d9e2
fix(lint): correct indentation and naming convention for constants
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 1m9s
2025-02-24 17:09:22 +01:00
yves-biener
12497e92f8
fix(lint): correct casing for constants
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 21s
2025-02-24 17:01:55 +01:00
yves-biener
d10f738c75
add(test): cell conversion to ansi enhanced strings
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 45s
2025-02-24 16:54:05 +01:00
yves-biener
7b005ea4b1
add(examples/styles): text and color styling possiblities
...
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 39s
This also contains some minor refactoring to improve the readability
and understandability of the library (i.e. renaming of Style.Attributes
to Style.Emphasis).
2025-02-21 19:13:11 +01:00
yves-biener
16724f6a52
add(example/elements): distinct different scrollable containers
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 46s
2025-02-21 15:58:42 +01:00
yves-biener
b980703350
fix(container): border separator handling
...
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 39s
Due to the assigning back the increased value for the used gap in case
the separator was active, every .resize `Event` would add more to the
gap, leading to ever smaller sub-container's and different sizes after
resizes. This has been fixed to have consistent layouting done by the
`Container` and `Border`.
2025-02-21 12:25:47 +01:00
yves-biener
eb89f7f98b
fix(renderer): reset color after each cell write
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 38s
2025-02-21 12:19:38 +01:00
yves-biener
96375e3b72
mod(build): build configuration for examples
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 54s
2025-02-20 11:16:42 +01:00
yves-biener
cc831a5cdf
fix(element/scrollable): render horizontal directed contents correctly
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 46s
2025-02-19 22:23:32 +01:00
yves-biener
86b3e7d4ed
feat(scrollable): make Container scrollable through Element Scrollable
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 1m35s
2025-02-19 20:32:26 +01:00
yves-biener
f55d71a7cb
mod(mouse): fix input.Mouse.in method
...
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 46s
Pass through mouse events where they actually match the corresponding
`Container`. Adopt mouse event accordingly in `Scrollable` `Element`
trait when passing through the mouse event to the scrollable
`Container`.
2025-02-18 19:09:03 +01:00
yves-biener
f66a870223
ref(input): move mouse.zig and key.zig into public input.zig namespace
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 1m41s
2025-02-18 18:24:09 +01:00
yves-biener
e2f9408850
add(input): mouse support
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 46s
2025-02-17 23:36:27 +01:00
yves-biener
c2080ab40f
ref(ctlseqs): use control sequence file; rename key names
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 46s
2025-02-17 23:08:47 +01:00
yves-biener
a9f48bfb6a
ref(key): make Key struct packed and rename constants
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 2m5s
2025-02-17 21:06:15 +01:00
yves-biener
7891af6c6f
add(element/scrollable): implement content provider
...
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 1m49s
However this is only working for the same size as the parent container
(i.e. same `Size`). The `.resize` event for the `Container` of the
scrollable element needs to be the necessary and/or required size for
the contents (regardless of the screen viewport).
2025-02-17 19:58:25 +01:00
yves-biener
7b690d387b
fix(lint): correct spelling errors
Zig Project Action / Lint, Spell-check and test zig project (pull_request) Successful in 1m9s
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 42s
2025-02-16 16:01:04 +01:00
yves-biener
5c929479b2
add(main): main executable with zig build run support
...
Zig Project Action / Lint, Spell-check and test zig project (pull_request) Failing after 5m10s
The main executable contains a simple `Element` implementation example
showing how interaction through and outside of the event loop can be
implemented to impact the rendered contents.
2025-02-16 15:35:50 +01:00
yves-biener
d8a9e72b67
add(border): seperator line options with corresponding code points
2025-02-16 02:04:53 +01:00
yves-biener
d951906b2b
rem: Scroll from Propierties of Container
...
Updated the corresponding documentation and ideas for how to realize
scrollable contents.
2025-02-15 18:50:36 +01:00
yves-biener
4781e9ce39
add(element): interface for injecting user behavior to containers
...
Some additional refactoring and documentation updates have also been
applied.
2025-02-15 15:56:30 +01:00
yves-biener
5c148e1aa5
fix(cotainer/border): seperator placement without border's and gap
2025-02-15 11:25:20 +01:00
yves-biener
a6aa6e5150
fix(container/border): correct location and rendering of separators between child elements
2025-02-15 11:10:37 +01:00
yves-biener
26d31a38de
ref(container): use only one size for each container
2025-02-15 10:49:48 +01:00
yves-biener
01d121ef87
mod: update README and remove alignment options
2025-02-14 22:27:24 +01:00
yves-biener
abaea968a6
rem(container): sizing options
...
This enables the `Layout` struct to be packed (as well as the
`Properties` struct) which should further reduce the memory footprint.
2025-02-14 22:19:20 +01:00
yves-biener
73a7f740c9
ref(container): move size: Size member from Scroll to Container
2025-02-14 22:03:21 +01:00
yves-biener
c2a03e95c1
fix(container/layout): padding calculation for anchor corrections
2025-02-14 21:59:10 +01:00
yves-biener
8998afd9d6
mod():
2025-02-14 21:49:30 +01:00
yves-biener
4cda202873
fix(renderer): integer overflows
2025-02-14 20:57:48 +01:00
yves-biener
bbe6f4741e
WIP: use viewport to allow sizes of scroll to extend further than renderable screen
2025-02-12 22:33:03 +01:00
yves-biener
ef950809a6
add(container/layout): sizing:fixed option
2025-02-09 12:59:55 +01:00
yves-biener
c72d76470a
mod(container/border): change default configuration
2025-02-08 13:52:01 +01:00
yves-biener
29ae75adf5
add(layout/padding): layout configuration for padding
...
With minor code layout fixes
2025-02-08 13:11:27 +01:00
yves-biener
d326deac97
add(container/rectangle): add content creation
2025-02-07 17:43:16 +01:00
yves-biener
11531e9d4a
mod: remove min_size argument from App.start
2025-02-06 22:19:27 +01:00
yves-biener
8586a05508
mod: fix rendering resizing; layout placement of child elements for vertical and horizontal directions
...
Work in progress for separator configuration of border properties
2025-02-06 20:10:22 +01:00
yves-biener
009d2129b6
mod(container/layout): support gap configuration
2025-02-04 19:06:09 +01:00
yves-biener
9c06ced658
mod(style): styling and color revamp now with fewer characters to print to the terminal
2025-02-04 17:51:28 +01:00
yves-biener
2bfacc0e98
WIP: container rendering for borders + container element rendering
2025-02-03 19:55:33 +01:00
yves-biener
0bf79dc236
mod(container): support layout direction handling for child elements
2025-02-01 11:31:05 +01:00