1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#![allow(non_camel_case_types)]
#![allow(dead_code)]
mod sys;
use sys::*;
use fltk::app;
use fltk::enums::*;
use fltk::group;
use fltk::image::Image;
use fltk::prelude::*;
use fltk::utils::FlString;
use fltk::widget::Widget;
use fltk::window::Window;
use std::{
ffi::{CStr, CString},
mem,
os::raw,
};
use fltk::widget::WidgetTrackerPtr;
#[derive(Debug)]
pub struct Flow {
inner: *mut Fl_Flow,
tracker: WidgetTrackerPtr,
is_derived: bool,
}
fltk::macros::widget::impl_widget_ext!(Flow, Fl_Flow);
fltk::macros::widget::impl_widget_base!(Flow, Fl_Flow);
fltk::macros::group::impl_group_ext!(Flow, Fl_Flow);
impl Flow {
pub fn rule<W: WidgetExt>(&mut self, w: &W, inst: &str) {
unsafe {
let inst = CString::safe_new(inst);
Fl_Flow_rule(self.inner, w.as_widget_ptr() as _, inst.as_ptr());
}
}
}