Blitting & Mouse Input Now Works

An initial version of my GUI API is now complete but not yet ready for detailed screenshots. I may upload some initial output from my new guitest program later.

This kernel-level API is reasonably well designed and should be flexible enough for future extension, but for now only covers the most basic operations of blitting to a screen and receiving associated mouse/touch input (with keyboard input half connected but unfinished for now, i.e. without keymap support).

Further experimentation particularly focused on performance & reliability will determine whether to expand the kernel-level API into a full GUI system or whether to leave it as basic drivers and use a portable graphics server such as Nano-X (the kernel-level interface is designed for both possibilities but windowing is not yet fully implemented in the kernel).

The choice was specifically made to offer a simple and easy to document interface rather than to require opening multiple different devices or configure modes from the program’s end for basic operations, the system is tuned for simple “framebuffer and mouse pointer” operations.

In summary this should be one of the better implementations of a graphics API as far as programmers are concerned, and is very easy to operate & extend with a minimum of fuss required at the program’s end to push pixels to a graphics output and receive events associated with the same screen (whether a physical screen or, later, a windowed abstraction).

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *