Skip to main content

Module graphics_adapter

Module graphics_adapter 

Source
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.
HeapScreen
A heap-allocated offscreen pixel buffer.
SimpleDisplayAdapter
Adapter backed by a single physical framebuffer (Limine or VirtIO).

Statics§

ADAPTERS 🔒
Global list of registered graphics adapters.

Traits§

DisplayScreen
Trait for an individual display screen (offscreen buffer).
GraphicsAdapter
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.