PistonDevelopers/conrod

An easy-to-use, 2D GUI library written entirely in Rust.

Rust

3,335

2,297 commits

updated Jan 17, 2022

See the code

README

NOTICE: Original maintainer stepping down

I'll no longer be maintaining conrod for the reasons discussed here. If you're looking for a similar yet nicer replacement GUI library, I recommend egui. If you're interested in taking over maintenance, please express your interest here.


Conrod Actions Status Crates.io

An easy-to-use, 2D GUI library written entirely in Rust.

Guide

  1. What is Conrod?
  2. Getting Started
  3. Hello World
  4. Using and Customising Themes
    • What is a Theme?
    • Custom Themes
    • Serializing Themes
  5. Designing Custom Widgets (using the Widget trait)
    • The Widget trait
    • The widget_style! macro
    • The builder_methods! macro
    • Making a Button widget
  6. Custom Graphics and Window Backends
    • Demonstration of Backend Implementation (using glium and glutin)
  7. Internals
    • The Ui's Widget Graph
    • Ui::set_widgets - How does it work?
  8. FAQ

The Guide is a work-in-progress. If a section is not linked, it is likely not yet implemented.

Crates

CrateBadgesDescription
conrod_coreCrates.io docs.rsThe fundamentals for any conrod project.
conrod_deriveCrates.io docs.rsProvides the WidgetCommon and WidgetStyle derive macros.
conrod_winitCrates.io docs.rsSimplifies using conrod_core with winit
conrod_gfxCrates.io docs.rsSimplifies using conrod_core with the gfx ecosystem
conrod_wgpuCrates.io docs.rsSimplifies using conrod_core with wgpu
conrod_gliumCrates.io docs.rsSimplifies using conrod_core with glium
conrod_pistonCrates.io docs.rsSimplifies using conrod_core with piston
conrod_vulkanoCrates.io docs.rsSimplifies using conrod_core with vulkano

Current State

We're just starting to reach a stable-ish API pattern! There will still be some large changes, however these are more likely to be new features than API overhauls.

To get a clearer idea of where we're at see the issues and in particular, the 1.0.0 milestone.

Contributing

Want to help out? See Piston's how to contribute guide.

License

Licensed under either of

at your option.

Contributions

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Example Assets

gui
rust

PistonDevelopers/conrod

An easy-to-use, 2D GUI library written entirely in Rust.

Rust

3,335

2,297 commits

updated Jan 17, 2022

See the code

README

NOTICE: Original maintainer stepping down

I'll no longer be maintaining conrod for the reasons discussed here. If you're looking for a similar yet nicer replacement GUI library, I recommend egui. If you're interested in taking over maintenance, please express your interest here.


Conrod Actions Status Crates.io

An easy-to-use, 2D GUI library written entirely in Rust.

Guide

  1. What is Conrod?
  2. Getting Started
  3. Hello World
  4. Using and Customising Themes
    • What is a Theme?
    • Custom Themes
    • Serializing Themes
  5. Designing Custom Widgets (using the Widget trait)
    • The Widget trait
    • The widget_style! macro
    • The builder_methods! macro
    • Making a Button widget
  6. Custom Graphics and Window Backends
    • Demonstration of Backend Implementation (using glium and glutin)
  7. Internals
    • The Ui's Widget Graph
    • Ui::set_widgets - How does it work?
  8. FAQ

The Guide is a work-in-progress. If a section is not linked, it is likely not yet implemented.

Crates

CrateBadgesDescription
conrod_coreCrates.io docs.rsThe fundamentals for any conrod project.
conrod_deriveCrates.io docs.rsProvides the WidgetCommon and WidgetStyle derive macros.
conrod_winitCrates.io docs.rsSimplifies using conrod_core with winit
conrod_gfxCrates.io docs.rsSimplifies using conrod_core with the gfx ecosystem
conrod_wgpuCrates.io docs.rsSimplifies using conrod_core with wgpu
conrod_gliumCrates.io docs.rsSimplifies using conrod_core with glium
conrod_pistonCrates.io docs.rsSimplifies using conrod_core with piston
conrod_vulkanoCrates.io docs.rsSimplifies using conrod_core with vulkano

Current State

We're just starting to reach a stable-ish API pattern! There will still be some large changes, however these are more likely to be new features than API overhauls.

To get a clearer idea of where we're at see the issues and in particular, the 1.0.0 milestone.

Contributing

Want to help out? See Piston's how to contribute guide.

License

Licensed under either of

at your option.

Contributions

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Example Assets

gui
rust

Project health

Overall

3.4/10

Maintained

0/10

Code review

3/10
OpenSSF Scorecard

crates.io

Latest release

0.62.1 · Aug 3, 2020

Releases this year

0
1 known vulnerability

Significant stargazers

(top 24 of 55)

George Zahariev

439 followers · starred Apr 2016

yazgoo

52 followers · starred Nov 2020

Chayim Refael Friedman

55 followers · starred Jun 2021

Douman

137 followers · starred Jul 2015