Commit graph

104 commits

Author SHA1 Message Date
bunnie
1db717a63f add put_pixel_unchecked() trait in API
this is for implementing checked, higher-performance loops
like blits.
2026-01-27 22:09:37 +08:00
bunnie
f7c00eb985 fix some rendering artifacts and add todo's on the QR code rendering 2026-01-27 22:04:51 +08:00
bunnie
444d7b310e re-enable keyboard bouncer inside bao-video hosted mode 2025-12-24 13:14:48 +08:00
bunnie
df3529d595 add power down/up opcodes to the gfx layer 2025-12-11 02:21:40 +08:00
bunnie
8269f9f759 update apis to accommodate power savings mode 2025-12-11 02:10:25 +08:00
bunnie
4e0b67878a remove old code 2025-12-07 19:00:29 +08:00
bunnie
ebb7e8dfae refactor QR code notification implementation
Previous implementation sent the QR code as draw commands.
This is inefficient as it would require hundreds of draw
commands to be sent per QR code rendered.

This implementation codes the QR code as a bool and sends
it in a single memory message, and implements a QR code renderer
on the receiver side.

The QR code rendering is also cleaned up so that the QR code is
always centered and takes the full screen, to give the best
conditions for someone scanning the code from another device.
2025-12-07 18:58:33 +08:00
bunnie
852a12645b round out stateful list creation in the ux-api libraries 2025-11-30 21:33:04 +08:00
bunnie
106f7153a1 filter key presses through the video layer
the video layer is the "traffic cop" managing when modals
get focus. This patch creates a feed from the video layer
that listers to subscribe to that filters out key presses
destined for modals.
2025-11-28 18:40:56 +08:00
bunnie
738797754b make widgets respond to the "fire" button 2025-11-28 18:40:33 +08:00
bunnie
720680a931 build a hosted mode dummy for aqcuire qr 2025-11-27 22:10:57 +08:00
bunnie
74134bfac2 add ux-api acquisition features 2025-11-27 16:52:44 +08:00
bunnie
765a36bd3a add option to defer draw updates
this is helpful for composited UIs
2025-11-25 19:07:32 +08:00
bunnie
94964f12a2 reduce debug noise 2025-11-12 17:46:38 +08:00
bunnie
0d1105fb25 fix index selection in menus 2025-11-12 16:26:35 +08:00
bunnie
564374dfd3 cleanup menu implementation warnings and shallow bugs 2025-11-12 15:28:11 +08:00
bunnie
c168c7d720 update ui to use builder pattern 2025-11-12 15:26:17 +08:00
bunnie
785293a440 add menu widget implementation 2025-11-12 13:15:07 +08:00
bunnie
346d7cd4d4 indicate the space for the marquee line on the boot logo 2025-10-01 14:28:45 +08:00
bunnie
03744c2dca ops are no-std stafe 2025-10-01 14:28:13 +08:00
bunnie
1255bf12d9 FLAG DAY: fix all names to harmonize around 'bao1x'
The code base had evolved through several code names, interim
names, company names and chip names that alternatively did or did
not exist.

Baochip is the definitive name of the company, and the Baochip1x
(full part number BAO1X2S4F-WA) is the definitivey part number of
the SoC. For convenience, the part number is shortened to 'bao1x'
in most feature flags and variable references.

This commit fixes all of the odd names and removes some unmaintained
early targets.
2025-09-18 21:25:51 +08:00
bunnie
0b07c58336 compactify the slider layout
this saves some empty vertical space allowing for more info
on the screen while sliders happen
2025-05-23 12:56:32 +08:00
bunnie
f8bbf97724 clean up draw list handling
our implementantation of Buffer can't (currently) dynamically grow
the size of the object to serialize things that are bigger than
a page, so we have to enforce Vec-like objects to have a serialized
size of less than the page limit.

This is a bit of a moving target because it depends on implementation
specific details. A conservative bodge was put in to try and
work around this problem for now.
2025-05-23 12:34:55 +08:00
bunnie
4c1933414c fix off-by-one error in clip rect definition 2025-05-23 10:54:55 +08:00
bunnie
18de29f7a7 improve compatibility of api signatures 2025-04-29 22:27:59 +08:00
bunnie
cb35696200 Merge branch 'main' of github.com:betrusted-io/xous-core into cram-dev 2025-04-29 03:18:57 +08:00
bunnie
26464d4266 fix vertical scrollbar drawing offet bug 2025-04-29 03:10:41 +08:00
bunnie
14740d0cc1 add a numeric-priority mode to the OSK
if the pre-populated field looks numeric, prioritize numbers
over letters for the OSK.
2025-04-29 03:01:29 +08:00
bunnie
0e5410eb36 add more convenience apis 2025-04-29 03:01:10 +08:00
bunnie
9b5510985f initial take at bip39 entry 2025-04-29 03:00:30 +08:00
bunnie
da7efec6a6 add clone operation for gfx 2025-04-28 19:02:27 +08:00
bunnie
e55630fd57 allow for centering of list items
and make OSK entries centered

this makes the list a little nicer to navigate
2025-04-28 19:01:59 +08:00
bunnie
8be197a2b5 initial slider implementation 2025-04-28 19:01:31 +08:00
bunnie
3b0543a5f0 add supporting changes for textentry 2025-04-28 18:19:36 +08:00
bunnie
e690da3f77 add textentry implementation
includes a simple on-screen keyboard element
2025-04-28 18:18:57 +08:00
bunnie
87b4b18210 cleanup an api change in gfx visibility 2025-04-28 15:18:54 +08:00
bunnie
500df9714e an initial take at a checkbox implementation 2025-04-28 15:18:38 +08:00
bunnie
0d3563412e add more APIs to scrolling list widget
these facilitate checkbox implementation
2025-04-28 15:18:10 +08:00
bunnie
c90c449d32 make pane height adjustable
this allows for top/bottom text on modals...
2025-04-28 03:18:07 +08:00
bunnie
1ac5a55d25 cleanup height calculations 2025-04-28 03:17:50 +08:00
bunnie
a40279ef1e remove errant clear 2025-04-28 03:17:27 +08:00
bunnie
10044579aa initial take at radiobuttons 2025-04-28 02:27:41 +08:00
bunnie
39b0fb9e12 remove lifetime from builder pattern
this causes integration issues with the enum_dispatch macro
2025-04-28 02:27:16 +08:00
bunnie
c657d4db54 fix typo 2025-04-28 02:03:23 +08:00
bunnie
ac19def8df add scrollbars 2025-04-28 02:01:24 +08:00
bunnie
e56acbd243 first take at a 2-d scrolling widget 2025-04-28 01:18:25 +08:00
bunnie
1484453100 add scroll widget stub 2025-04-21 00:38:25 +08:00
bunnie
f394ccab42
Merge branch 'main' into cram-dev 2025-03-05 20:56:36 +08:00
bunnie
c49c41699b cleanup warning 2025-03-05 20:54:03 +08:00
bunnie
57a4f24a02 restrict ObjectList to std targets only 2025-03-04 19:11:23 +08:00