Commit Graph

39 Commits

Author SHA1 Message Date
yves-biener 4658fccba9 bump to zig 0.14.dev
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 1m33s
2024-11-16 21:00:34 +01:00
yves-biener 90af887d77 fix: destructor should not change pointer to undefined
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 36s
2024-11-16 20:12:02 +01:00
yves-biener ec71e34958 mod: each layout and widget now allocates their own instance in memory using the provided allocator (and destroy's themselfes in the end)
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 36s
2024-11-16 19:56:36 +01:00
yves-biener 4ef9e077cb mod(dispatch): use anyopague instead of usize for pointer handling
Zig Project Action / Lint, Spell-check and test zig project (push) Has been cancelled
2024-11-16 19:08:22 +01:00
yves-biener 7c9038fbda mod(widget/Text): add alignment options for Text Widget
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
yves-biener aeac4bdc83 add(examples): split main.zig into examples which can be executed and reviewed independently
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 50s
2024-11-15 21:02:44 +01:00
yves-biener 58982a53f2 add(widget): Text widget to display static Cell contents 2024-11-15 21:01:50 +01:00
yves-biener 273da37020 add(layout): HContainer and VContainer for arbritrary sized H/V Element placement 2024-11-15 20:37:55 +01:00
yves-biener 0cc0ed10d2 cleanup of obsolete comments and dead code
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
yves-biener 5908d6d5e3 fix(lint): correct typo and rename Marging to Margin
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 32s
2024-11-13 19:06:11 +01:00
yves-biener bc1bc757d4 add(layout/Marging): relative margins for Elements
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 32s
2024-11-13 18:09:54 +01:00
yves-biener 61f6c72bf8 mod(layout/Stacks): add comptime checks for correct Element union typing
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 34s
2024-11-13 16:49:38 +01:00
yves-biener 1e59a7c593 add(Layout/Padding): clear only when necessary
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 36s
2024-11-13 16:10:25 +01:00
yves-biener 270ca9b1be mod(renderer): dynamic clear of size for widgets to improve render performance
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 35s
2024-11-13 15:07:26 +01:00
yves-biener 80459a51b1 doc: update layout and widget interface documentation
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 34s
2024-11-12 23:41:14 +01:00
yves-biener 28817d468a add(zig-interface): dependency to check interface contracts at comptime
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
yves-biener 07e4819ecd feat(renderer): render cells instead of raw u8 array contents
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 39s
2024-11-12 19:14:19 +01:00
yves-biener 510bf7d885 fix(typos)
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 33s
2024-11-11 17:03:04 +01:00
yves-biener ed5873de63 feat(Renderer): update interface functions to start supporting buffered rendering
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 30s
2024-11-11 17:01:59 +01:00
yves-biener d2d655c829 mod: change interface for rendering of Layouts and Widgets to use a non-const pointer to the renderer instead
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 38s
2024-11-11 13:47:01 +01:00
yves-biener 8b3f863404 mod(app): automatically hide cursor when running fullscreen tui's
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 37s
2024-11-11 13:32:39 +01:00
yves-biener 1544a4d2ff mod(main): adapt example to showcase configuration of Layout.Padding and Layout.Framing
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 37s
2024-11-11 12:30:56 +01:00
yves-biener 430f2866e8 feat(Padding): user configuration for custom padding 2024-11-11 12:30:34 +01:00
yves-biener 1605cd78dc feat(Framing): border, style, title with styling 2024-11-11 12:29:53 +01:00
yves-biener 53fc34ba69 mod(terminal): add writer interface implementation 2024-11-11 12:29:33 +01:00
yves-biener 4c67a86c27 feat(layout): Framing and Padding implementation
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
yves-biener 6edbbe285c mod(main): create combination example of HStack and VStack usage
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 34s
2024-11-10 19:15:27 +01:00
yves-biener 67a535db6d feat(render): implement direct rendering
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 38s
2024-11-10 19:08:38 +01:00
yves-biener 35a7f9cc02 fix(zterm): export corresponding necessary types
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 36s
2024-11-10 17:07:53 +01:00
yves-biener 1dbdf3b422 mod: restructure Style component
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 30s
2024-11-10 17:05:07 +01:00
yves-biener 88bc8c5346 mod: restructure terminal structs Key, Position and Size
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 39s
2024-11-10 17:01:19 +01:00
yves-biener 8ae9129403 fix(widget): respect size for RawText and Spacer Widgets
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 36s
2024-11-10 16:02:49 +01:00
yves-biener a201f2b653 mod: change widget interface Widget.content replaced with Widget.render
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
yves-biener 7872223c24 mod(main): improve ergonomics of example src/main.zig implementation
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 29s
2024-11-10 15:19:15 +01:00
yves-biener b314ff7813 mod: replace Layout.content with Layout.render
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
yves-biener b32556720e add(widget/Spacer): empty widget implementation
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 32s
2024-11-10 00:13:47 +01:00
yves-biener 4e8487353e fix(typos): correct spelling mistakes
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 52s
2024-11-09 21:34:33 +01:00
yves-biener c83cf530ce add(test): test execution into zterm test build
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 28s
2024-11-09 21:29:49 +01:00
yves-biener 6d389bcd4b initial commit
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 30s
2024-11-09 21:24:42 +01:00