Commit Graph

60 Commits

Author SHA1 Message Date
yves-biener c83ceff925 fix(typo): correct function name
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 1m40s
2025-01-30 16:28:36 +01:00
yves-biener 1ea410354f fix(View): correct typo
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 51s
2025-01-15 11:02:32 +01:00
yves-biener e9be9a1c35 add(View): enable and disable interface functions
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 38s
2025-01-15 11:00:11 +01:00
yves-biener f4a01f227e fix: renderer default size value and example usage
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 41s
2025-01-14 17:17:24 +01:00
yves-biener 2efbb5feb1 mod(renderer): store absolut screen size for view change to report current screen size accordingly
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 1m21s
2025-01-14 17:08:19 +01:00
yves-biener 3048b59e84 add(view): View type for composing view modules
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 22s
2025-01-14 01:14:55 +01:00
yves-biener 817056cf8b fix(style): apply merging only if it differs from the default values
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 42s
2025-01-07 13:08:13 +01:00
yves-biener 0015bac9ff add(style): merge function to merge styles from different styles together
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 1m43s
Merging may overwrite changes of the current style with the other style
if that style differs from the default value.
2025-01-07 12:56:52 +01:00
yves-biener c2c3f41ff3 mod(memory): do not create items on the stack instead using the provided allocator
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 4m26s
2025-01-06 21:56:04 +01:00
yves-biener 04e1ca087f dep: bump zg dependency
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 51s
2024-12-27 12:04:04 +01:00
yves-biener 2ef59ca9ea add(widget/Input): widget for user inputs
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 1m22s
Accepts optional label and placeholders which are rendered accordingly.
The widget only is interactable if it is active. Hence it needs further
control from the outside scope where it is used (likely a corresponding
layout). This also applies to the inputed value, which needs to be
received from the within the owning layout to be used for further
processing (i.e. in custom user events, etc.).
2024-12-27 11:34:51 +01:00
yves-biener 3a989321fc feat(event): add focus in/out event to SystemEvents
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 3m54s
feat(app): add minimal size argument for App.start

Read more corresponding inputs from stdin and convert them correctly
(i.e. in band window resizing), further keys (arrow keys, F-keys, etc.).
Respect the provided minimal size for the application which posts an
error message in case the size is smaller than the requested minimal
size.
2024-12-25 12:53:39 +01:00
yves-biener f7cd61d619 mod: reduce the amount of unnecessary re-renderings
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 1m8s
2024-12-08 21:38:19 +01:00
yves-biener 3947c2b5af mod: make terminal.zig public
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 1m33s
2024-12-05 18:59:42 +01:00
yves-biener bbb360e417 fix(renderer): avoid inter overflow when rendering multiline strings
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 2m10s
2024-12-03 17:43:06 +01:00
yves-biener 05277a226a fix: do not use @divExact as the exact division cannot be garantueed from the caller
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 1m41s
2024-11-27 15:10:39 +01:00
yves-biener 8d68945100 add(widget/List): initial list widget; used in tabs.zig example
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 1m34s
2024-11-23 22:41:42 +01:00
yves-biener c0c7b9f925 add(layout/tab): Tab layout implementation
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 9m46s
2024-11-21 23:27:00 +01:00
yves-biener 6cd78d0418 fix: release mode undefined usage (for optionals); bump to 0.14.dev
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 54s
2024-11-19 23:27:12 +01:00
yves-biener f4adf53067 doc: removed unnecessary comment
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 32s
2024-11-16 19:08:50 +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 9bf146257a add: MIT-LICENSE with README updates
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 32s
2024-11-13 19:01:53 +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