Skip to main content

oxide_gui_core/
lib.rs

1//! oxide-gui-core — no_std portable GUI core.
2//!
3//! # Architecture
4//!
5//! ```text
6//!  Your app
7//!    │
8//!    ▼
9//!  Canvas<B>          ← drawing helper; owns a &mut B
10//!    │  uses
11//!    ▼
12//!  Backend (trait)    ← fill_rect / present / poll_event
13//!    │  implemented by
14//!    ├─ oxide-gui-linux :: MinifbBackend   (std, X11/Wayland via minifb)
15//!    └─ oxide-gui-oxideos :: KernelBackend (no_std, OxideOS framebuffer)
16//! ```
17//!
18//! `oxide-gui-core` itself has **zero dependencies** and is `no_std` compatible.
19//! Enable the `alloc` feature if your environment has a heap.
20
21#![no_std]
22
23pub mod color;
24pub mod event;
25pub mod backend;
26pub mod font;
27pub mod canvas;
28
29pub use color::Color;
30pub use event::{Event, Key, MouseButton};
31pub use backend::Backend;
32pub use canvas::Canvas;