Commit Graph

245 Commits

Author SHA1 Message Date
05277a226a fix: do not use @divExact as the exact division cannot be garantueed from the caller
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 1m41s
2024-11-27 15:10:39 +01:00
8d68945100 add(widget/List): initial list widget; used in tabs.zig example
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 1m34s
2024-11-23 22:41:42 +01:00
c0c7b9f925 add(layout/tab): Tab layout implementation
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 9m46s
2024-11-21 23:27:00 +01:00
6cd78d0418 fix: release mode undefined usage (for optionals); bump to 0.14.dev
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 54s
2024-11-19 23:27:12 +01:00
f4adf53067 doc: removed unnecessary comment
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 32s
2024-11-16 19:08:50 +01:00
4ef9e077cb mod(dispatch): use anyopague instead of usize for pointer handling
Some checks failed
Zig Project Action / Lint, Spell-check and test zig project (push) Has been cancelled
2024-11-16 19:08:22 +01:00
7c9038fbda mod(widget/Text): add alignment options for Text Widget
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 36s
Updated exec example which uses centered text.
2024-11-16 18:12:24 +01:00
aeac4bdc83 add(examples): split main.zig into examples which can be executed and reviewed independently
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 50s
2024-11-15 21:02:44 +01:00
58982a53f2 add(widget): Text widget to display static Cell contents 2024-11-15 21:01:50 +01:00
273da37020 add(layout): HContainer and VContainer for arbritrary sized H/V Element placement 2024-11-15 20:37:55 +01:00
0cc0ed10d2 cleanup of obsolete comments and dead code
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 35s
This removes the App.Renderer.Buffered, which was not improving on the
direct renderer, which has a simpler implementation and was keept for
this regard.
2024-11-13 19:14:13 +01:00
5908d6d5e3 fix(lint): correct typo and rename Marging to Margin
Some checks failed
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 32s
2024-11-13 19:06:11 +01:00
9bf146257a add: MIT-LICENSE with README updates
Some checks failed
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 32s
2024-11-13 19:01:53 +01:00
bc1bc757d4 add(layout/Marging): relative margins for Elements
Some checks failed
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 32s
2024-11-13 18:09:54 +01:00
61f6c72bf8 mod(layout/Stacks): add comptime checks for correct Element union typing
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 34s
2024-11-13 16:49:38 +01:00
1e59a7c593 add(Layout/Padding): clear only when necessary
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 36s
2024-11-13 16:10:25 +01:00
270ca9b1be mod(renderer): dynamic clear of size for widgets to improve render performance
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 35s
2024-11-13 15:07:26 +01:00
80459a51b1 doc: update layout and widget interface documentation
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 34s
2024-11-12 23:41:14 +01:00
28817d468a add(zig-interface): dependency to check interface contracts at comptime
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 53s
The described interfaces for `Widget` and `Layout` are now defined and
correspondingly checked at comptime.
2024-11-12 23:13:35 +01:00
07e4819ecd feat(renderer): render cells instead of raw u8 array contents
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 39s
2024-11-12 19:14:19 +01:00
510bf7d885 fix(typos)
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 33s
2024-11-11 17:03:04 +01:00
ed5873de63 feat(Renderer): update interface functions to start supporting buffered rendering
Some checks failed
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 30s
2024-11-11 17:01:59 +01:00
d2d655c829 mod: change interface for rendering of Layouts and Widgets to use a non-const pointer to the renderer instead
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 38s
2024-11-11 13:47:01 +01:00
8b3f863404 mod(app): automatically hide cursor when running fullscreen tui's
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 37s
2024-11-11 13:32:39 +01:00
1544a4d2ff mod(main): adapt example to showcase configuration of Layout.Padding and Layout.Framing
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 37s
2024-11-11 12:30:56 +01:00
430f2866e8 feat(Padding): user configuration for custom padding 2024-11-11 12:30:34 +01:00
1605cd78dc feat(Framing): border, style, title with styling 2024-11-11 12:29:53 +01:00
53fc34ba69 mod(terminal): add writer interface implementation 2024-11-11 12:29:33 +01:00
4c67a86c27 feat(layout): Framing and Padding implementation
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 33s
The implementation of `Layout.Framing` however does not use the renderer
and instead writes directly to the terminal (which it should not and
instead use the renderer). The example has been enhanced with both usage
of `Layout.Framing` and `Layout.Padding` Layouts to showcase the
`Layout` implementations.
2024-11-10 22:21:40 +01:00
6edbbe285c mod(main): create combination example of HStack and VStack usage
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 34s
2024-11-10 19:15:27 +01:00
67a535db6d feat(render): implement direct rendering
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 38s
2024-11-10 19:08:38 +01:00
35a7f9cc02 fix(zterm): export corresponding necessary types
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 36s
2024-11-10 17:07:53 +01:00
1dbdf3b422 mod: restructure Style component
Some checks failed
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 30s
2024-11-10 17:05:07 +01:00
88bc8c5346 mod: restructure terminal structs Key, Position and Size
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 39s
2024-11-10 17:01:19 +01:00
8ae9129403 fix(widget): respect size for RawText and Spacer Widgets
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 36s
2024-11-10 16:02:49 +01:00
a201f2b653 mod: change widget interface Widget.content replaced with Widget.render
Some checks failed
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 29s
The .resize `Event` has been adapted to include an _anchor_, which
provide the full necessary information for each widget where to render
on the screen with what requested size. Each Widget can then dynamically
decide how and what to render (i.e. provide placeholder text in case the
size is too small, etc.).
2024-11-10 15:53:28 +01:00
7872223c24 mod(main): improve ergonomics of example src/main.zig implementation
Some checks failed
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 29s
2024-11-10 15:19:15 +01:00
b314ff7813 mod: replace Layout.content with Layout.render
Some checks failed
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 30s
The App.Renderer is used for the new `Layout.render` method. Each layout
renders itself now with corresponding renderers which might only update
parts of the screen, etc.
2024-11-10 14:34:28 +01:00
b32556720e add(widget/Spacer): empty widget implementation
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 32s
2024-11-10 00:13:47 +01:00
04b6df691e doc: remove unnecessary whitespace and improve wording
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 30s
2024-11-09 23:06:53 +01:00
84882d2991 doc: initial readme documentation
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 29s
2024-11-09 21:47:52 +01:00
4e8487353e fix(typos): correct spelling mistakes
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 52s
2024-11-09 21:34:33 +01:00
c83cf530ce add(test): test execution into zterm test build
Some checks failed
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 28s
2024-11-09 21:29:49 +01:00
6d389bcd4b initial commit
Some checks failed
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 30s
2024-11-09 21:24:42 +01:00
ff58e7ef69 Initial commit 2024-11-09 19:07:10 +01:00