fltk 0.1.9

Rust bindings for the FLTK GUI library
docs.rs failed to build fltk-0.1.9
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: fltk-1.4.28

fltk-rs

Rust bindings for the FLTK GUI library. Still in alpha.

The FLTK gui crate is a crossplatform lightweight library which can be linked to statically (LGPL) to produce small, self-contained and fast binaries.

Using in a project

Just add the following to your project's Cargo.toml file.

[dependencies]
fltk = "^0.1.8"

An example hello world application:

use fltk::window::*;

fn main() {
    let mut wind = Window::new(100, 100, 400, 300, "Hello from rust");
    wind.show();
    fl::run().unwrap();
}

Please check the examples directory for more examples.

Building

To build, just run:

$ git clone https://github.com/MoAlyousef/fltk-rs
$ cd fltk-rs
$ cargo build

Dependencies

CMake and Ninja need to be installed and in your PATH for a crossplatform build. After that on Windows and Mac OS X, normally no external dependencies are needed. For Linux, X11 development headers need to be installed for development. For Debian-based distribution, that means running:

$ sudo apt-get install libx11-dev libxext-dev libxft-dev libxinerama-dev libxcursor-dev libxrender-dev libxfixes-dev

Examples

To run the examples:

$ cargo run --example editor
$ cargo run --example calculator
$ cargo run --example gallery
$ cargo run --example button
$ cargo run --example hello

alt_test alt_test alt_test alt_test

Currently implemented widgets

Most common widgets are implemented:

  • Button
  • RadioButton
  • ToggleButton
  • RoundButton
  • CheckButton
  • LightButton
  • RepeatButton
  • Native FileDialog
  • Frame (Fl_Box)
  • Window
  • DoubleWindow
  • Group
  • Pack
  • Tabs
  • Scroll
  • Tile
  • TextDisplay
  • TextEditor
  • Input, IntInput, FloatInput, MultilineInput
  • Output, MultilineOutput
  • MenuBar
  • MenuItem
  • Choice (dropdown list)
  • Slider, ValueSlider
  • Dial
  • Counter
  • Scrollbar
  • Roller
  • Images

Todo

  • Complete widget set
  • Better documentation
  • Better testing

Contributions

Contributions are very welcome!