Crate adi

source ·
Expand description

Lightweight platform-agnostic device interface abstraction layer for creating apps and video games.

Aldaron’s Device Interface aims to be the new SDL in some aspects, but isn’t specifically targeting video games. This library also aims to replace cross-platform GUI toolkits like GTK. Ultimately, though, it’s cooler than both combined, and way smaller! Since those libraries are 3-letter acronyms, this library must also be: ADI!

Getting Started

Rather than having a bunch of separately maintained projects like SDL, everything is together in ADI. By default, everything is built (all of the device interfaces). This usually is not what you want, so this is how you should specify ADI in your Cargo.toml if you only want the screen API:

[dependencies.adi]
version = "0.13"
default-features = false
features = ["screen"]
path = "../adi"

Thanks to Cargo, that’s a lot easier than finding all of the SDL libraries! Conveniently, the features have the same name as the modules in this documentation, to make it even easier! Have fun!

Re-exports

pub extern crate barg;

Modules

Human Interface Device API (input API). This HID interface is designed for easy portability.
Microphone interface API.
Screen interface API.
Speaker interface API.

Macros

Create the main function.
Macro to load models from files for the window.
Macro to load textures from files for the window.

Traits

An Application’s Context.

Functions

Enter the app.
Exit the app.