Documentation

Goals

  • Simple, expressive API
  • No heavy use of macros
  • Cross platform

Overview

agape is a cross platform, CPU-rendered, GUI library. Internally it uses tiny-skia for rendering.

Add to your project

[dependencies]
agape = "0.1.0"

Quick start

use agape::{App, widgets::Text};

fn main() -> Result<(), agape::Error> {
    let text = Text::new("Hello world");

    let mut app = App::new(text);
    app.run()
}

Support

Platform Status
Windows
MacOS
Linux
Android 🚧
IOS 🚧

✅: Fully supported
🚧: Planned

Roadmap

  • text rendering
  • Grids
  • Row and column layouts
  • Input handling
    • Hover events
    • Click events
    • Text input
  • Scrolling

License

This project is dual-licensed under either

  • Apache License, Version 2.0
  • MIT License

at your choice.