drmkit-cursor
Cursor themes, and the cursors in them.
Theme indexes the XCursor themes installed on a machine and resolves a
cursor name -- following each theme's Inherits= chain and the alias table
that maps modern names onto whatever legacy name a theme happens to ship --
to a file on disk. It reads no pixels, which keeps it cheap and testable
without a display.
Cursor is the other half: it reads one of those files into frames,
hotspots and timing. A cursor file is untrusted input, so the parser bounds
every length against the bytes actually present before allocating anything
-- see the xcursor module for why that is not delegated to a crate.
Part of drmkit, a Rust port of drm-cxx. API documentation is on docs.rs.
License
MIT, matching drm-cxx.