SchOS/include/gfx
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Nexoniarz dee3affa3b Boot manager: Niveus window, keys and wells, Instrument Sans, pointer, other systems, working power entries
The F8 menu is redrawn in the Niveus language: a window with three lights,
bevelled keys with a lit edge, wells for panels, anti-aliased corners and a
soft shadow, set in Instrument Sans rasterised into include/gfx/nvfont.h
(tools/python/mknvfont.py, make nvfont). Scale doubles on screens 1400 px tall
or more. Lists taller than the screen scroll.

The keyboard still drives everything, and a mouse, touchpad or tablet does
too: both UEFI pointer protocols are polled, hover moves the highlight, a
click activates. The cursor stays hidden until the pointer has really done
something, since the firmware installs a pointer protocol with or without a
mouse. The 'keep this resolution?' countdown is one ten-second budget however
many times the pointer moves.

Loaders found at well-known paths on any volume (Windows, Ubuntu, Debian,
Fedora, Arch, openSUSE, systemd-boot, rEFInd, other BOOTX64.EFI) are listed
and chain-loaded with LoadImage/StartImage. 'Reboot to firmware' used to halt;
it now sets OsIndications and restarts, and Restart and Shut Down call
ResetSystem.

Checked under QEMU+OVMF: menu, resolution list (incl. 2560x1600 at double
scale), system information, shut down, firmware setup, chain-loading a copy of
the loader from a second disk, and a full boot of the ISO to the login prompt.
Pointer hover and click were checked only with synthetic events: in this setup
a USB mouse or tablet delivered no event to the loader (one USB I/O handle
appeared but no pointer protocol came from it), and why was not established.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EVRhxi9zpdW2uDUN4FVcao
2026-10-26 15:31:39 +01:00
..
display.h include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
fb.h X on the console: /dev/tty0, a palette, and startx that works 2026-10-24 19:44:10 +02:00
font.h include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
gfx.h include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
logo.h include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
nvfont.h Boot manager: Niveus window, keys and wells, Instrument Sans, pointer, other systems, working power entries 2026-10-26 15:31:39 +01:00
qr.h qr: every version, 1 to 40 2026-10-25 00:43:36 +02:00
text.h include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
theme.h include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
ttf.h include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00