#gui #widgets #graphics

fltk-flow

A flow widget wrapping Fl_Flow

8 releases

0.2.0 Mar 31, 2023
0.1.6 Mar 8, 2023
0.1.5 Sep 1, 2022
0.1.4 Dec 31, 2021
0.1.0 Nov 27, 2021

#50 in #widgets

Download history 39/week @ 2023-02-03 25/week @ 2023-02-10 40/week @ 2023-02-17 5/week @ 2023-02-24 28/week @ 2023-03-03 13/week @ 2023-03-10 10/week @ 2023-03-17 4/week @ 2023-03-24 36/week @ 2023-03-31 22/week @ 2023-04-07 17/week @ 2023-04-14 3/week @ 2023-04-21 17/week @ 2023-04-28 24/week @ 2023-05-05 14/week @ 2023-05-12 7/week @ 2023-05-19

62 downloads per month
Used in hulk

MIT license

110KB
657 lines

fltk-flow

A crate wrapping Fl_Flow. This uses a native module written in C++, so it won't work with the fltk-bundled feature.

Example:

#![allow(unused_mut)]

use fltk::{prelude::*, enums::*, *};
use fltk_flow::Flow;

fn main() {
    let a = app::App::default().with_scheme(app::Scheme::Gtk);

    let mut win = window::Window::default().with_size(640, 480);
    let mut flow = Flow::default_fill();
    let btn = button::Button::default().with_size(100, 30).with_label("Button1");
    let inp = input::Input::default().with_size(150, 30);
    let mut sep = frame::Frame::default().with_size(10, 1);
    let area = input::MultilineInput::default().with_size(10, 10);
    let mut sep2 = frame::Frame::default().with_size(10, 1);
    let btn2 = button::Button::default().with_size(100, 30).with_label("Button2");
    flow.end();
    win.end();
    win.resizable(&flow);
    win.show();
    
    sep.set_color(Color::Black);
    sep.set_frame(FrameType::FlatBox);
    sep2.set_color(Color::Black);
    sep2.set_frame(FrameType::FlatBox);

    flow.rule(&btn, "^<");
    flow.rule(&inp, "^<");
    flow.rule(&sep, "=<^");
    flow.rule(&area, "<^");
    flow.rule(&sep2, "=<^");
    flow.rule(&btn2, "v");
    flow.rule(&sep2, "v");
    flow.rule(&area, "=>=v");

    a.run().unwrap();
}

alt_test

Dependencies

~12MB
~280K SLoC