use rute_ffi_base::*;
use auto::point_f_ffi::RUPointF;
use auto::polygon_f_ffi::RUPolygonF;
use auto::rect_f_ffi::RURectF;
#[allow(unused_imports)]
use std::os::raw::c_void;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct RUPainterPathFuncs {
pub destroy: extern "C" fn(self_c: *const RUBase),
pub swap: extern "C" fn(self_c: *const RUBase, other: *const RUBase),
pub close_subpath: extern "C" fn(self_c: *const RUBase),
pub move_to: extern "C" fn(self_c: *const RUBase, p: *const RUBase),
pub move_to: extern "C" fn(self_c: *const RUBase, x: f32, y: f32),
pub line_to: extern "C" fn(self_c: *const RUBase, p: *const RUBase),
pub line_to: extern "C" fn(self_c: *const RUBase, x: f32, y: f32),
pub arc_move_to: extern "C" fn(self_c: *const RUBase, rect: *const RUBase, angle: f32),
pub arc_move_to: extern "C" fn(self_c: *const RUBase, x: f32, y: f32, w: f32, h: f32, angle: f32),
pub arc_to: extern "C" fn(self_c: *const RUBase, rect: *const RUBase, start_angle: f32, arc_length: f32),
pub arc_to: extern "C" fn(self_c: *const RUBase, x: f32, y: f32, w: f32, h: f32, start_angle: f32, arc_length: f32),
pub cubic_to: extern "C" fn(self_c: *const RUBase, ctrl_pt1: *const RUBase, ctrl_pt2: *const RUBase, end_pt: *const RUBase),
pub cubic_to: extern "C" fn(self_c: *const RUBase, ctrl_pt1x: f32, ctrl_pt1y: f32, ctrl_pt2x: f32, ctrl_pt2y: f32, end_ptx: f32, end_pty: f32),
pub quad_to: extern "C" fn(self_c: *const RUBase, ctrl_pt: *const RUBase, end_pt: *const RUBase),
pub quad_to: extern "C" fn(self_c: *const RUBase, ctrl_ptx: f32, ctrl_pty: f32, end_ptx: f32, end_pty: f32),
pub current_position: extern "C" fn(self_c: *const RUBase) -> RUPointF,
pub add_rect: extern "C" fn(self_c: *const RUBase, rect: *const RUBase),
pub add_rect: extern "C" fn(self_c: *const RUBase, x: f32, y: f32, w: f32, h: f32),
pub add_ellipse: extern "C" fn(self_c: *const RUBase, rect: *const RUBase),
pub add_ellipse: extern "C" fn(self_c: *const RUBase, x: f32, y: f32, w: f32, h: f32),
pub add_ellipse: extern "C" fn(self_c: *const RUBase, center: *const RUBase, rx: f32, ry: f32),
pub add_polygon: extern "C" fn(self_c: *const RUBase, polygon: *const RUBase),
pub add_text: extern "C" fn(self_c: *const RUBase, point: *const RUBase, f: *const RUBase, text: *const ::std::os::raw::c_char),
pub add_text: extern "C" fn(self_c: *const RUBase, x: f32, y: f32, f: *const RUBase, text: *const ::std::os::raw::c_char),
pub add_path: extern "C" fn(self_c: *const RUBase, path: *const RUBase),
pub add_region: extern "C" fn(self_c: *const RUBase, region: *const RUBase),
pub add_rounded_rect: extern "C" fn(self_c: *const RUBase, rect: *const RUBase, x_radius: f32, y_radius: f32, mode: i32),
pub add_rounded_rect: extern "C" fn(self_c: *const RUBase, x: f32, y: f32, w: f32, h: f32, x_radius: f32, y_radius: f32, mode: i32),
pub add_round_rect: extern "C" fn(self_c: *const RUBase, rect: *const RUBase, x_rnd: i32, y_rnd: i32),
pub add_round_rect: extern "C" fn(self_c: *const RUBase, x: f32, y: f32, w: f32, h: f32, x_rnd: i32, y_rnd: i32),
pub add_round_rect: extern "C" fn(self_c: *const RUBase, rect: *const RUBase, roundness: i32),
pub add_round_rect: extern "C" fn(self_c: *const RUBase, x: f32, y: f32, w: f32, h: f32, roundness: i32),
pub connect_path: extern "C" fn(self_c: *const RUBase, path: *const RUBase),
pub contains: extern "C" fn(self_c: *const RUBase, pt: *const RUBase) -> bool,
pub contains: extern "C" fn(self_c: *const RUBase, rect: *const RUBase) -> bool,
pub intersects: extern "C" fn(self_c: *const RUBase, rect: *const RUBase) -> bool,
pub bounding_rect: extern "C" fn(self_c: *const RUBase) -> RURectF,
pub fill_rule: extern "C" fn(self_c: *const RUBase) -> i32,
pub set_fill_rule: extern "C" fn(self_c: *const RUBase, fill_rule: i32),
pub is_empty: extern "C" fn(self_c: *const RUBase) -> bool,
pub to_reversed: extern "C" fn(self_c: *const RUBase) -> RUPainterPath,
pub to_subpath_polygons: extern "C" fn(self_c: *const RUBase, matrix: *const RUBase) -> RUArray,
pub to_fill_polygons: extern "C" fn(self_c: *const RUBase, matrix: *const RUBase) -> RUArray,
pub to_fill_polygon: extern "C" fn(self_c: *const RUBase, matrix: *const RUBase) -> RUPolygonF,
pub to_subpath_polygons: extern "C" fn(self_c: *const RUBase, matrix: *const RUBase) -> RUArray,
pub to_fill_polygons: extern "C" fn(self_c: *const RUBase, matrix: *const RUBase) -> RUArray,
pub to_fill_polygon: extern "C" fn(self_c: *const RUBase, matrix: *const RUBase) -> RUPolygonF,
pub element_count: extern "C" fn(self_c: *const RUBase) -> i32,
pub element_at: extern "C" fn(self_c: *const RUBase, i: i32) -> i32,
pub set_element_position_at: extern "C" fn(self_c: *const RUBase, i: i32, x: f32, y: f32),
pub length: extern "C" fn(self_c: *const RUBase) -> f32,
pub percent_at_length: extern "C" fn(self_c: *const RUBase, t: f32) -> f32,
pub point_at_percent: extern "C" fn(self_c: *const RUBase, t: f32) -> RUPointF,
pub angle_at_percent: extern "C" fn(self_c: *const RUBase, t: f32) -> f32,
pub slope_at_percent: extern "C" fn(self_c: *const RUBase, t: f32) -> f32,
pub intersects: extern "C" fn(self_c: *const RUBase, p: *const RUBase) -> bool,
pub contains: extern "C" fn(self_c: *const RUBase, p: *const RUBase) -> bool,
pub united: extern "C" fn(self_c: *const RUBase, r: *const RUBase) -> RUPainterPath,
pub intersected: extern "C" fn(self_c: *const RUBase, r: *const RUBase) -> RUPainterPath,
pub simplified: extern "C" fn(self_c: *const RUBase) -> RUPainterPath,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct RUPainterPathAllFuncs {
pub painter_path_funcs: *const RUPainterPathFuncs,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct RUPainterPath {
pub qt_data: *const RUBase,
pub host_data: *const RUBase,
pub all_funcs: *const RUPainterPathAllFuncs,
}