/* automatically generated by rust-bindgen 0.71.1 */

extern "C" {
    pub fn Fl_set_color_int(c: ::core::ffi::c_uint);
}
extern "C" {
    pub fn Fl_set_color_rgb(
        r: ::core::ffi::c_uchar,
        g: ::core::ffi::c_uchar,
        b: ::core::ffi::c_uchar,
    );
}
extern "C" {
    pub fn Fl_get_color() -> ::core::ffi::c_uint;
}
extern "C" {
    pub fn Fl_push_clip(
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
        w: ::core::ffi::c_int,
        h: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_push_no_clip();
}
extern "C" {
    pub fn Fl_pop_clip();
}
extern "C" {
    pub fn Fl_not_clipped(
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
        w: ::core::ffi::c_int,
        h: ::core::ffi::c_int,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_clip_box(
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
        w: ::core::ffi::c_int,
        h: ::core::ffi::c_int,
        X: *mut ::core::ffi::c_int,
        Y: *mut ::core::ffi::c_int,
        W: *mut ::core::ffi::c_int,
        H: *mut ::core::ffi::c_int,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_restore_clip();
}
extern "C" {
    pub fn Fl_set_clip_region(r: *mut ::core::ffi::c_void);
}
extern "C" {
    pub fn Fl_clip_region() -> *mut ::core::ffi::c_void;
}
extern "C" {
    pub fn Fl_point(x: ::core::ffi::c_int, y: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_line_style(
        style: ::core::ffi::c_int,
        width: ::core::ffi::c_int,
        dashes: *mut ::core::ffi::c_char,
    );
}
extern "C" {
    pub fn Fl_rect(
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
        w: ::core::ffi::c_int,
        h: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_focus_rect(
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
        w: ::core::ffi::c_int,
        h: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_rect_with_color(
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
        w: ::core::ffi::c_int,
        h: ::core::ffi::c_int,
        c: ::core::ffi::c_uint,
    );
}
extern "C" {
    pub fn Fl_rectf(
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
        w: ::core::ffi::c_int,
        h: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_rectf_with_color(
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
        w: ::core::ffi::c_int,
        h: ::core::ffi::c_int,
        c: ::core::ffi::c_uint,
    );
}
extern "C" {
    pub fn Fl_rectf_with_rgb(
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
        w: ::core::ffi::c_int,
        h: ::core::ffi::c_int,
        r: ::core::ffi::c_uchar,
        g: ::core::ffi::c_uchar,
        b: ::core::ffi::c_uchar,
    );
}
extern "C" {
    pub fn Fl_line(
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
        x1: ::core::ffi::c_int,
        y1: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_line2(
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
        x1: ::core::ffi::c_int,
        y1: ::core::ffi::c_int,
        x2: ::core::ffi::c_int,
        y2: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_loop(
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
        x1: ::core::ffi::c_int,
        y1: ::core::ffi::c_int,
        x2: ::core::ffi::c_int,
        y2: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_loop2(
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
        x1: ::core::ffi::c_int,
        y1: ::core::ffi::c_int,
        x2: ::core::ffi::c_int,
        y2: ::core::ffi::c_int,
        x3: ::core::ffi::c_int,
        y3: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_polygon(
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
        x1: ::core::ffi::c_int,
        y1: ::core::ffi::c_int,
        x2: ::core::ffi::c_int,
        y2: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_polygon2(
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
        x1: ::core::ffi::c_int,
        y1: ::core::ffi::c_int,
        x2: ::core::ffi::c_int,
        y2: ::core::ffi::c_int,
        x3: ::core::ffi::c_int,
        y3: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_xyline(x: ::core::ffi::c_int, y: ::core::ffi::c_int, x1: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_xyline2(
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
        x1: ::core::ffi::c_int,
        y2: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_xyline3(
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
        x1: ::core::ffi::c_int,
        y2: ::core::ffi::c_int,
        x3: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_yxline(x: ::core::ffi::c_int, y: ::core::ffi::c_int, y1: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_yxline2(
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
        y1: ::core::ffi::c_int,
        x2: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_yxline3(
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
        y1: ::core::ffi::c_int,
        x2: ::core::ffi::c_int,
        y3: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_arc(
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
        w: ::core::ffi::c_int,
        h: ::core::ffi::c_int,
        a1: f64,
        a2: f64,
    );
}
extern "C" {
    pub fn Fl_pie(
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
        w: ::core::ffi::c_int,
        h: ::core::ffi::c_int,
        a1: f64,
        a2: f64,
    );
}
extern "C" {
    pub fn Fl_push_matrix();
}
extern "C" {
    pub fn Fl_pop_matrix();
}
extern "C" {
    pub fn Fl_scale(x: f64, y: f64);
}
extern "C" {
    pub fn Fl_scale2(x: f64);
}
extern "C" {
    pub fn Fl_translate(x: f64, y: f64);
}
extern "C" {
    pub fn Fl_rotate(d: f64);
}
extern "C" {
    pub fn Fl_mult_matrix(a: f64, b: f64, c: f64, d: f64, x: f64, y: f64);
}
extern "C" {
    pub fn Fl_begin_points();
}
extern "C" {
    pub fn Fl_begin_line();
}
extern "C" {
    pub fn Fl_begin_loop();
}
extern "C" {
    pub fn Fl_begin_polygon();
}
extern "C" {
    pub fn Fl_vertex(x: f64, y: f64);
}
extern "C" {
    pub fn Fl_curve(X0: f64, Y0: f64, X1: f64, Y1: f64, X2: f64, Y2: f64, X3: f64, Y3: f64);
}
extern "C" {
    pub fn Fl_arc2(x: f64, y: f64, r: f64, start: f64, end: f64);
}
extern "C" {
    pub fn Fl_circle(x: f64, y: f64, r: f64);
}
extern "C" {
    pub fn Fl_draw_circle(
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
        d: ::core::ffi::c_int,
        c: ::core::ffi::c_uint,
    );
}
extern "C" {
    pub fn Fl_end_points();
}
extern "C" {
    pub fn Fl_end_line();
}
extern "C" {
    pub fn Fl_end_loop();
}
extern "C" {
    pub fn Fl_end_polygon();
}
extern "C" {
    pub fn Fl_begin_complex_polygon();
}
extern "C" {
    pub fn Fl_gap();
}
extern "C" {
    pub fn Fl_end_complex_polygon();
}
extern "C" {
    pub fn Fl_transform_x(x: f64, y: f64) -> f64;
}
extern "C" {
    pub fn Fl_transform_y(x: f64, y: f64) -> f64;
}
extern "C" {
    pub fn Fl_transform_dx(x: f64, y: f64) -> f64;
}
extern "C" {
    pub fn Fl_transform_dy(x: f64, y: f64) -> f64;
}
extern "C" {
    pub fn Fl_transformed_vertex(xf: f64, yf: f64);
}
extern "C" {
    pub fn Fl_end_offscreen();
}
extern "C" {
    pub fn Fl_set_draw_font(face: ::core::ffi::c_int, fsize: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_font() -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_size() -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_height() -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_set_height(font: ::core::ffi::c_int, size: ::core::ffi::c_int) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_descent() -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_width(txt: *const ::core::ffi::c_char) -> f64;
}
extern "C" {
    pub fn Fl_width2(txt: *const ::core::ffi::c_char, n: ::core::ffi::c_int) -> f64;
}
extern "C" {
    pub fn Fl_width3(c: ::core::ffi::c_uint) -> f64;
}
extern "C" {
    pub fn Fl_text_extents(
        arg1: *const ::core::ffi::c_char,
        dx: *mut ::core::ffi::c_int,
        dy: *mut ::core::ffi::c_int,
        w: *mut ::core::ffi::c_int,
        h: *mut ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_text_extents2(
        t: *const ::core::ffi::c_char,
        n: ::core::ffi::c_int,
        dx: *mut ::core::ffi::c_int,
        dy: *mut ::core::ffi::c_int,
        w: *mut ::core::ffi::c_int,
        h: *mut ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_latin1_to_local(
        t: *const ::core::ffi::c_char,
        n: ::core::ffi::c_int,
    ) -> *const ::core::ffi::c_char;
}
extern "C" {
    pub fn Fl_local_to_latin1(
        t: *const ::core::ffi::c_char,
        n: ::core::ffi::c_int,
    ) -> *const ::core::ffi::c_char;
}
extern "C" {
    pub fn Fl_mac_roman_to_local(
        t: *const ::core::ffi::c_char,
        n: ::core::ffi::c_int,
    ) -> *const ::core::ffi::c_char;
}
extern "C" {
    pub fn Fl_local_to_mac_roman(
        t: *const ::core::ffi::c_char,
        n: ::core::ffi::c_int,
    ) -> *const ::core::ffi::c_char;
}
extern "C" {
    pub fn Fl_draw(str_: *const ::core::ffi::c_char, x: ::core::ffi::c_int, y: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_draw2(
        angle: ::core::ffi::c_int,
        str_: *const ::core::ffi::c_char,
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_draw3(
        str_: *const ::core::ffi::c_char,
        n: ::core::ffi::c_int,
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_draw4(
        angle: ::core::ffi::c_int,
        str_: *const ::core::ffi::c_char,
        n: ::core::ffi::c_int,
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_rtl_draw(
        str_: *const ::core::ffi::c_char,
        n: ::core::ffi::c_int,
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_measure(
        str_: *const ::core::ffi::c_char,
        x: *mut ::core::ffi::c_int,
        y: *mut ::core::ffi::c_int,
        draw_symbols: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_draw5(
        str_: *const ::core::ffi::c_char,
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
        w: ::core::ffi::c_int,
        h: ::core::ffi::c_int,
        align: ::core::ffi::c_int,
        img: *mut *mut ::core::ffi::c_void,
        draw_symbols: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_frame(
        s: *const ::core::ffi::c_char,
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
        w: ::core::ffi::c_int,
        h: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_frame2(
        s: *const ::core::ffi::c_char,
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
        w: ::core::ffi::c_int,
        h: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_draw_box(
        box_type: ::core::ffi::c_int,
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
        w: ::core::ffi::c_int,
        h: ::core::ffi::c_int,
        arg1: ::core::ffi::c_uint,
    );
}
extern "C" {
    pub fn Fl_draw_image(
        buf: *const ::core::ffi::c_uchar,
        X: ::core::ffi::c_int,
        Y: ::core::ffi::c_int,
        W: ::core::ffi::c_int,
        H: ::core::ffi::c_int,
        D: ::core::ffi::c_int,
        L: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_draw_image_mono(
        buf: *const ::core::ffi::c_uchar,
        X: ::core::ffi::c_int,
        Y: ::core::ffi::c_int,
        W: ::core::ffi::c_int,
        H: ::core::ffi::c_int,
        D: ::core::ffi::c_int,
        L: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_can_do_alpha_blending() -> ::core::ffi::c_char;
}
extern "C" {
    pub fn Fl_read_image(
        p: *mut ::core::ffi::c_uchar,
        X: ::core::ffi::c_int,
        Y: ::core::ffi::c_int,
        W: ::core::ffi::c_int,
        H: ::core::ffi::c_int,
        alpha: ::core::ffi::c_int,
    ) -> *mut ::core::ffi::c_uchar;
}
extern "C" {
    pub fn Fl_capture_window_part(
        win: *mut ::core::ffi::c_void,
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
        w: ::core::ffi::c_int,
        h: ::core::ffi::c_int,
    ) -> *mut ::core::ffi::c_uchar;
}
extern "C" {
    pub fn Fl_draw_pixmap(
        data: *const *const ::core::ffi::c_char,
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
        bg: ::core::ffi::c_int,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_draw_pixmap2(
        data: *const *mut ::core::ffi::c_char,
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
        bg: ::core::ffi::c_int,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_measure_pixmap(
        data: *const *mut ::core::ffi::c_char,
        w: *mut ::core::ffi::c_int,
        h: *mut ::core::ffi::c_int,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_measure_pixmap2(
        cdata: *const *const ::core::ffi::c_char,
        w: *mut ::core::ffi::c_int,
        h: *mut ::core::ffi::c_int,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_shortcut_label(shortcut: ::core::ffi::c_uint) -> *const ::core::ffi::c_char;
}
extern "C" {
    pub fn Fl_shortcut_label2(
        shortcut: ::core::ffi::c_uint,
        eom: *mut *const ::core::ffi::c_char,
    ) -> *const ::core::ffi::c_char;
}
extern "C" {
    pub fn Fl_old_shortcut(s: *const ::core::ffi::c_char) -> ::core::ffi::c_uint;
}
extern "C" {
    pub fn Fl_overlay_rect(
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
        w: ::core::ffi::c_int,
        h: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_overlay_clear();
}
extern "C" {
    pub fn Fl_set_cursor(cursor: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_set_cursor2(
        cursor: ::core::ffi::c_int,
        fg: ::core::ffi::c_int,
        bg: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_expand_text(
        from: *const ::core::ffi::c_char,
        buf: *mut ::core::ffi::c_char,
        maxbuf: ::core::ffi::c_int,
        maxw: f64,
        n: *mut ::core::ffi::c_int,
        width: *mut f64,
        wrap: ::core::ffi::c_int,
        draw_symbols: ::core::ffi::c_int,
    ) -> *const ::core::ffi::c_char;
}
extern "C" {
    pub fn Fl_set_status(
        X: ::core::ffi::c_int,
        Y: ::core::ffi::c_int,
        W: ::core::ffi::c_int,
        H: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_set_spot(
        font: ::core::ffi::c_int,
        size: ::core::ffi::c_int,
        X: ::core::ffi::c_int,
        Y: ::core::ffi::c_int,
        W: ::core::ffi::c_int,
        H: ::core::ffi::c_int,
        win: *mut ::core::ffi::c_void,
    );
}
extern "C" {
    pub fn Fl_reset_spot();
}
extern "C" {
    pub fn Fl_show_colormap(old_col: ::core::ffi::c_uint) -> ::core::ffi::c_uint;
}
extern "C" {
    pub fn Fl_copy_offscreen(
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
        w: ::core::ffi::c_int,
        h: ::core::ffi::c_int,
        pixmap: *mut ::core::ffi::c_void,
        srcx: ::core::ffi::c_int,
        srcy: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_create_offscreen(
        w: ::core::ffi::c_int,
        h: ::core::ffi::c_int,
    ) -> *mut ::core::ffi::c_void;
}
extern "C" {
    pub fn Fl_begin_offscreen(b: *mut ::core::ffi::c_void);
}
extern "C" {
    pub fn Fl_delete_offscreen(bitmap: *mut ::core::ffi::c_void);
}
extern "C" {
    pub fn Fl_rescale_offscreen(ctx: *mut *mut ::core::ffi::c_void);
}
extern "C" {
    pub fn Fl_draw_text2(
        str_: *const ::core::ffi::c_char,
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
        w: ::core::ffi::c_int,
        h: ::core::ffi::c_int,
        align: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_draw_check(
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
        w: ::core::ffi::c_int,
        h: ::core::ffi::c_int,
        col: ::core::ffi::c_uint,
    );
}
extern "C" {
    pub fn Fl_add_symbol(
        name: *const ::core::ffi::c_char,
        drawit: ::core::option::Option<unsafe extern "C" fn(arg1: ::core::ffi::c_uint)>,
        scalable: ::core::ffi::c_int,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_rounded_rect(
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
        w: ::core::ffi::c_int,
        h: ::core::ffi::c_int,
        r: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_rounded_rectf(
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
        w: ::core::ffi::c_int,
        h: ::core::ffi::c_int,
        r: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_override_scale() -> f32;
}
extern "C" {
    pub fn Fl_restore_scale(s: f32);
}
