Commit graph

88 commits

Author SHA1 Message Date
bunnie
4c1933414c fix off-by-one error in clip rect definition 2025-05-23 10:54:55 +08:00
bunnie
e2379821e6 republish xous-rs to fix cargo test 2025-05-11 15:36:17 +08:00
bunnie
8a4959056b bump version for xous crate update - commit so we can publish crates 2025-05-11 14:45:24 +08:00
bunnie
eb7a861def Merge branch 'pddb-feat-down' of github.com:betrusted-io/xous-core into pddb-feat-down 2025-04-29 22:31:40 +08:00
bunnie
18de29f7a7 improve compatibility of api signatures 2025-04-29 22:27:59 +08:00
bunnie
bad5259f43 base64 should be an optional dependency in std
otherwise the loader breaks
2025-04-29 03:32: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
ae5ff3addd add strings for bip39 entry in small screen mode 2025-04-29 03:02:09 +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
9512defd2d add base64 dep for showing bip39 seeds 2025-04-29 03:00:44 +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
bunnie
63a9a2b0a0 implement notification models for small screens 2025-03-04 19:06:41 +08:00
bunnie
1e9e02435b add missing model boilerplate
a lot of routines were left blank in the initial port to get
through the core graphics primitives porting. This commit
fills in those missing bits in a fashion that optimizes the
modals for drawing on small displays.
2025-03-04 19:05:41 +08:00
bunnie
3c5975715d kind of hack to make font rendering work on oled displays
so, there is a fundamental abstraction mismatch in the blitstr
library. In Precursor, I created a rule that you can't draw text
on black backgrounds without some special permissions in highly
trusted contexts.

For baosec, this restriction is removed because the whole OS
can run inside a single chip (i.e. we have eliminated most
easy RAM modification attacks, requires probing/glitching; but
as a trade-off, we don't have as much RAM so we can't afford the
extra abstractions).

The compromise is for OLED-type platforms where inverse drawing
is very common to save power, all text ops are assumed to be XOR
operations (so you're always flipping pixels instead of drawing
at a defined color).
2025-03-04 19:02:45 +08:00
bunnie
15f41a5f5b object list API elements 2025-03-04 19:01:47 +08:00
bunnie
5d4d009e64 add object list draw routine
this can accelerate drawing of complicated objects, such as
QR codes, that are composed of many rectangles.

there are some warts...in theory, this should be able to seralize
arbitrary-sized lists, but there must be some bug somewhere
that is preventing it from happening. For now, the list length
is clipped to the capacity of a page of memory.
2025-03-04 19:00:33 +08:00
bunnie
8602af4d18 add modals adapter code
initial take just lifted directly from the gam version;
layout details needs adapting for small screen still
2025-03-04 02:07:17 +08:00
bunnie
c67cb7666c fixup feature dependencies 2025-03-04 01:26:03 +08:00
bunnie
da5c215477 fix type defaults for trait
part of the i16->isize transition
2025-03-03 02:12:57 +08:00
bunnie
433d632926 add a clear, modals & text bounds api calls
the text bounds api call is needed in v2 because there is no gam
to mediate this call

clear allows for a fast clear operation that may have hardware
dependent consequences

acquire/release of modals mode is added to the graphics server
as well to implement a feature previously handled by the gam
2025-03-03 02:11:23 +08:00
bunnie
b1ce74faa0 add handler for unspecified clipping areas in v2 targets 2025-03-03 02:10:50 +08:00
bunnie
2957cce789 add some v2 graphics api adapters and opcodes 2025-03-03 02:10:24 +08:00
bunnie
02bc28be4a
Merge branch 'main' into cram-dev 2025-02-28 17:44:58 +08:00
bunnie
b6ed2c7398 fix cursor overlay in sh1107 display mode 2025-02-28 17:30:17 +08:00
bunnie
317bc6a9fd related to previous commit 2025-02-28 16:33:14 +08:00
bunnie
48009c710a regenerate logo according to new framebuffer layout 2025-02-27 21:35:10 +08:00
bunnie
f3fccf9135 fix unnecessary mutability in trait 2025-02-27 03:12:41 +08:00
bunnie
6e26db411a
Merge branch 'main' into cram-dev 2025-02-26 14:57:55 +08:00