boing

Crates.ioboing
lib.rsboing
version0.7.0
sourcesrc
created_at2022-05-02 21:16:09.650136
updated_at2023-02-11 04:01:56.630829
descriptionA safe wrapper over libui-ng-sys
homepage
repositoryhttps://github.com/norepimorphism/boing
max_upload_size
id579362
size89,295
ani (norepimorphism)

documentation

README

"boing" in monospaced lime-green text.

crates.io docs MPL 2.0 licensed

A safe wrapper over libui-ng-sys.

Background

libui is a C library that provides a neutral interface to native GUI technologies (e.g., windows, widgets) on major OSes. libui-ng is the "next generation" of libui, developed and maintained separately. libui-ng-sys provides Rust bindings to libui-ng, and boing is a safe yet fairly unopinionated layer on top of libui-ng-sys.

Design & Limitations

See DESIGN.md and LIMITATIONS.md.

Usage

Add the boing crate from crates.io to your Cargo.toml:

[dependencies]
boing = "0.7"

To get started, see the boing API documentation at docs.rs.

Cargo Features

Feature Default? Description
image Yes Enables integration with the image crate.
raw-window-handle Yes Enables integration with the raw-window-handle crate.

Project Progress

Being in the 0.x.x version range, boing is unstable software. See PROGRESS.md for progress towards implementing all libui-ng features. For a list of issues blocking 1.0.0, see issue #2.

Acknowledgements

Thanks to CryosX for contributing the macOS screenshots.

See also the libui-ng-sys acknowledgements.

Windows Screenshots

A screenshot of the example application "libui Control Gallery" with Windows 11 widgets, focused on a tab labeled "Basic Controls". A screenshot of the example application "libui Control Gallery" with Windows 11 widgets, focused on a tab labeled "Numbers and Lists". A screenshot of the example application "libui Control Gallery" with Windows 11 widgets, focused on a tab labeled "Data Choosers".

Linux Screenshots

A screenshot of the example application "libui Control Gallery" with Gtk3 widgets, focused on a tab labeled "Basic Controls". A screenshot of the example application "libui Control Gallery" with Gtk3 widgets, focused on a tab labeled "Numbers and Lists". A screenshot of the example application "libui Control Gallery" with Gtk3 widgets, focused on a tab labeled "Data Choosers".

macOS Screenshots

A screenshot of the example application "libui Control Gallery" with macOS widgets, focused on a tab labeled "Basic Controls". A screenshot of the example application "libui Control Gallery" with macOS widgets, focused on a tab labeled "Numbers and Lists".

Commit count: 140

cargo fmt