Iridescence Embedded Graphic Framework
A Complete Embedded Graphics Framework in Modern C++
Iridescence is a full-stack embedded graphics framework written in C++. It is far more than a low-level drawing library — it is a structured, extensible UI platform designed for serious embedded systems.
At its core, Iridescence provides:
- A high-performance renderer
- A robust view manager
- A comprehensive library of reusable UI components
The framework includes a rich set of built-in views such as:
- Text labels
- Editable text fields
- Buttons
- Image views
- Switches
- Sliders
- Selectors
- Lists
- Context menus
- Dialog views
- On-screen keyboard
- And more
Fully Programmatic UI Architecture
All graphical user interfaces in Iridescence are defined entirely in C++ code. There is no external GUI designer or code generator.
This design philosophy provides:
- Complete control over layout and behavior
- Deterministic structure without hidden tooling layers
- Reduced system complexity
- Minimal moving parts
- A smaller conceptual surface area to learn
For embedded systems — where determinism, debuggability, and maintainability matter — programmatic UI definition eliminates the friction introduced by external design pipelines.
Modular by Design
The framework is composed of independent, loosely coupled modules:
-
Renderer – Responsible for drawing and hardware abstraction
-
View Manager – Handles view hierarchy, layout, events, and lifecycle
-
Common View Library – A comprehensive set of reusable UI components
Creating custom views is straightforward: derive from an existing view class and extend it with additional behavior. The inheritance model is clean and predictable, making the system highly extensible without sacrificing clarity.
Built for Real Embedded Development
Iridescence includes powerful features that streamline development:
- C++ closures for expressive event handling
- LiveData — a safe and deterministic mechanism for passing data to the graphics thread
- A complete, ready-to-use build system
- Elimination of thousands of lines of boilerplate setup code
You can move directly to building your application logic instead of spending time wiring infrastructure.
Engineered for Control and Simplicity
Iridescence is designed for developers who want:
- Strong architectural control
- Predictable behavior
- Clean C++ abstractions
- A UI framework that integrates naturally into embedded firmware