Expand description
Graphics adapter abstraction for multi-display support.
Modeled after Redox OS driver-graphics crate but adapted for
Strat9-OS kernel scheme architecture.
§Architecture
┌─────────────────────────────────────────────────┐
│ GraphicsScheme │
│ /dev/display/0.0 /dev/display/0.1 ... │
├─────────────────────────────────────────────────┤
│ GraphicsAdapter impl │
│ display_count() → N displays │
│ display_size(id) → (w, h) │
│ create_framebuffer(w, h) → DisplayScreen │
│ update_plane(id, screen, damage) │
├─────────────────────────────────────────────────┤
│ DisplayScreen (offscreen buffer) │
│ sync() → copy to onscreen │
└─────────────────────────────────────────────────┘Structs§
- Damage
- Dirty region for partial screen updates.
- Heap
Screen - A heap-allocated offscreen pixel buffer.
- Simple
Display Adapter - Adapter backed by a single physical framebuffer (Limine or VirtIO).
Statics§
- ADAPTERS 🔒
- Global list of registered graphics adapters.
Traits§
- Display
Screen - Trait for an individual display screen (offscreen buffer).
- Graphics
Adapter - Trait for a graphics adapter managing one or more displays.
Functions§
- get_
adapter_ for_ display - Get the adapter and local display ID for a global display index.
- register_
adapter - Register a graphics adapter.
- total_
display_ count - Total display count across all adapters.