use std::cell::Cell;
use std::rc::Rc;
#[allow(unused_imports)]
use std::marker::PhantomData;
#[allow(unused_imports)]
use std::os::raw::c_void;
#[allow(unused_imports)]
use std::mem::transmute;
#[allow(unused_imports)]
use std::ffi::{CStr, CString};
use rute_ffi_base::*;
#[allow(unused_imports)]
use auto::*;
#[derive(Clone)]
pub struct Painter<'a> {
#[doc(hidden)]
pub data: Rc<Cell<Option<*const RUBase>>>,
#[doc(hidden)]
pub all_funcs: *const RUPainterAllFuncs,
#[doc(hidden)]
pub owned: bool,
#[doc(hidden)]
pub _marker: PhantomData<::std::cell::Cell<&'a ()>>,
}
impl<'a> Painter<'a> {
pub fn new() -> Painter<'a> {
let data = Rc::new(Cell::new(None));
let ffi_data = unsafe {
((*rute_ffi_get()).create_painter)(
::std::ptr::null(),
transmute(rute_object_delete_callback as usize),
Rc::into_raw(data.clone()) as *const c_void,
)
};
data.set(Some(ffi_data.qt_data));
Painter {
data,
all_funcs: ffi_data.all_funcs,
owned: true,
_marker: PhantomData,
}
}
#[allow(dead_code)]
pub(crate) fn new_from_rc(ffi_data: RUPainter) -> Painter<'a> {
Painter {
data: unsafe { Rc::from_raw(ffi_data.host_data as *const Cell<Option<*const RUBase>>) },
all_funcs: ffi_data.all_funcs,
owned: false,
_marker: PhantomData,
}
}
#[allow(dead_code)]
pub(crate) fn new_from_owned(ffi_data: RUPainter) -> Painter<'a> {
Painter {
data: Rc::new(Cell::new(Some(ffi_data.qt_data as *const RUBase))),
all_funcs: ffi_data.all_funcs,
owned: true,
_marker: PhantomData,
}
}
#[allow(dead_code)]
pub(crate) fn new_from_temporary(ffi_data: RUPainter) -> Painter<'a> {
Painter {
data: Rc::new(Cell::new(Some(ffi_data.qt_data as *const RUBase))),
all_funcs: ffi_data.all_funcs,
owned: false,
_marker: PhantomData,
}
}
pub fn device(&self) -> Option<PaintDevice> {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
let ret_val = ((*funcs).device)(obj_data);
if ret_val.qt_data == ::std::ptr::null() {
return None;
}
let t = ret_val;
let ret_val;
if t.host_data != ::std::ptr::null() {
ret_val = PaintDevice::new_from_rc(t);
} else {
ret_val = PaintDevice::new_from_owned(t);
}
Some(ret_val)
}
}
pub fn begin<P: PaintDeviceTrait<'a>>(&self, arg0: &P) -> bool {
let (obj_arg0_1, _funcs) = arg0.get_paint_device_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
let ret_val = ((*funcs).begin)(obj_data, obj_arg0_1);
ret_val
}
}
pub fn end(&self) -> bool {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
let ret_val = ((*funcs).end)(obj_data);
ret_val
}
}
pub fn is_active(&self) -> bool {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
let ret_val = ((*funcs).is_active)(obj_data);
ret_val
}
}
pub fn init_from<P: PaintDeviceTrait<'a>>(&self, device: &P) -> &Self {
let (obj_device_1, _funcs) = device.get_paint_device_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).init_from)(obj_data, obj_device_1);
}
self
}
pub fn set_composition_mode(&self, mode: CompositionMode) -> &Self {
let enum_mode_1 = mode as u32;
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).set_composition_mode)(obj_data, enum_mode_1);
}
self
}
pub fn composition_mode(&self) -> CompositionMode {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
let ret_val = ((*funcs).composition_mode)(obj_data);
let ret_val = { transmute::<u32, CompositionMode>(ret_val) };
ret_val
}
}
pub fn font(&self) -> Option<Font> {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
let ret_val = ((*funcs).font)(obj_data);
if ret_val.qt_data == ::std::ptr::null() {
return None;
}
let t = ret_val;
let ret_val;
if t.host_data != ::std::ptr::null() {
ret_val = Font::new_from_rc(t);
} else {
ret_val = Font::new_from_owned(t);
}
Some(ret_val)
}
}
pub fn set_font<F: FontTrait<'a>>(&self, f: &F) -> &Self {
let (obj_f_1, _funcs) = f.get_font_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).set_font)(obj_data, obj_f_1);
}
self
}
pub fn set_pen<C: ColorTrait<'a>>(&self, color: &C) -> &Self {
let (obj_color_1, _funcs) = color.get_color_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).set_pen)(obj_data, obj_color_1);
}
self
}
pub fn set_pen_2<P: PenTrait<'a>>(&self, pen: &P) -> &Self {
let (obj_pen_1, _funcs) = pen.get_pen_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).set_pen_2)(obj_data, obj_pen_1);
}
self
}
pub fn set_pen_3(&self, style: PenStyle) -> &Self {
let enum_style_1 = style as u32;
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).set_pen_3)(obj_data, enum_style_1);
}
self
}
pub fn pen(&self) -> Option<Pen> {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
let ret_val = ((*funcs).pen)(obj_data);
if ret_val.qt_data == ::std::ptr::null() {
return None;
}
let t = ret_val;
let ret_val;
if t.host_data != ::std::ptr::null() {
ret_val = Pen::new_from_rc(t);
} else {
ret_val = Pen::new_from_owned(t);
}
Some(ret_val)
}
}
pub fn set_brush<B: BrushTrait<'a>>(&self, brush: &B) -> &Self {
let (obj_brush_1, _funcs) = brush.get_brush_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).set_brush)(obj_data, obj_brush_1);
}
self
}
pub fn set_brush_2(&self, style: BrushStyle) -> &Self {
let enum_style_1 = style as u32;
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).set_brush_2)(obj_data, enum_style_1);
}
self
}
pub fn brush(&self) -> Option<Brush> {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
let ret_val = ((*funcs).brush)(obj_data);
if ret_val.qt_data == ::std::ptr::null() {
return None;
}
let t = ret_val;
let ret_val;
if t.host_data != ::std::ptr::null() {
ret_val = Brush::new_from_rc(t);
} else {
ret_val = Brush::new_from_owned(t);
}
Some(ret_val)
}
}
pub fn set_background_mode(&self, mode: BGMode) -> &Self {
let enum_mode_1 = mode as u32;
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).set_background_mode)(obj_data, enum_mode_1);
}
self
}
pub fn background_mode(&self) -> BGMode {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
let ret_val = ((*funcs).background_mode)(obj_data);
let ret_val = { transmute::<u32, BGMode>(ret_val) };
ret_val
}
}
pub fn brush_origin(&self) -> Point {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
let ret_val = ((*funcs).brush_origin)(obj_data);
let t = ret_val;
let ret_val;
if t.host_data != ::std::ptr::null() {
ret_val = Point::new_from_rc(t);
} else {
ret_val = Point::new_from_owned(t);
}
ret_val
}
}
pub fn set_brush_origin(&self, x: i32, y: i32) -> &Self {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).set_brush_origin)(obj_data, x, y);
}
self
}
pub fn set_brush_origin_2<P: PointTrait<'a>>(&self, arg0: &P) -> &Self {
let (obj_arg0_1, _funcs) = arg0.get_point_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).set_brush_origin_2)(obj_data, obj_arg0_1);
}
self
}
pub fn set_brush_origin_3<P: PointFTrait<'a>>(&self, arg0: &P) -> &Self {
let (obj_arg0_1, _funcs) = arg0.get_point_f_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).set_brush_origin_3)(obj_data, obj_arg0_1);
}
self
}
pub fn set_background<B: BrushTrait<'a>>(&self, bg: &B) -> &Self {
let (obj_bg_1, _funcs) = bg.get_brush_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).set_background)(obj_data, obj_bg_1);
}
self
}
pub fn background(&self) -> Option<Brush> {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
let ret_val = ((*funcs).background)(obj_data);
if ret_val.qt_data == ::std::ptr::null() {
return None;
}
let t = ret_val;
let ret_val;
if t.host_data != ::std::ptr::null() {
ret_val = Brush::new_from_rc(t);
} else {
ret_val = Brush::new_from_owned(t);
}
Some(ret_val)
}
}
pub fn opacity(&self) -> f32 {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
let ret_val = ((*funcs).opacity)(obj_data);
ret_val
}
}
pub fn set_opacity(&self, opacity: f32) -> &Self {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).set_opacity)(obj_data, opacity);
}
self
}
pub fn clip_region(&self) -> Region {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
let ret_val = ((*funcs).clip_region)(obj_data);
let t = ret_val;
let ret_val;
if t.host_data != ::std::ptr::null() {
ret_val = Region::new_from_rc(t);
} else {
ret_val = Region::new_from_owned(t);
}
ret_val
}
}
pub fn set_clip_rect<R: RectFTrait<'a>>(&self, arg0: &R, op: ClipOperation) -> &Self {
let (obj_arg0_1, _funcs) = arg0.get_rect_f_obj_funcs();
let enum_op_2 = op as u32;
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).set_clip_rect)(obj_data, obj_arg0_1, enum_op_2);
}
self
}
pub fn set_clip_rect_2<R: RectTrait<'a>>(&self, arg0: &R, op: ClipOperation) -> &Self {
let (obj_arg0_1, _funcs) = arg0.get_rect_obj_funcs();
let enum_op_2 = op as u32;
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).set_clip_rect_2)(obj_data, obj_arg0_1, enum_op_2);
}
self
}
pub fn set_clip_rect_3(&self, x: i32, y: i32, w: i32, h: i32, op: ClipOperation) -> &Self {
let enum_op_5 = op as u32;
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).set_clip_rect_3)(obj_data, x, y, w, h, enum_op_5);
}
self
}
pub fn set_clip_region<R: RegionTrait<'a>>(&self, arg0: &R, op: ClipOperation) -> &Self {
let (obj_arg0_1, _funcs) = arg0.get_region_obj_funcs();
let enum_op_2 = op as u32;
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).set_clip_region)(obj_data, obj_arg0_1, enum_op_2);
}
self
}
pub fn set_clipping(&self, enable: bool) -> &Self {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).set_clipping)(obj_data, enable);
}
self
}
pub fn has_clipping(&self) -> bool {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
let ret_val = ((*funcs).has_clipping)(obj_data);
ret_val
}
}
pub fn clip_bounding_rect(&self) -> RectF {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
let ret_val = ((*funcs).clip_bounding_rect)(obj_data);
let t = ret_val;
let ret_val;
if t.host_data != ::std::ptr::null() {
ret_val = RectF::new_from_rc(t);
} else {
ret_val = RectF::new_from_owned(t);
}
ret_val
}
}
pub fn save(&self) -> &Self {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).save)(obj_data);
}
self
}
pub fn restore(&self) -> &Self {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).restore)(obj_data);
}
self
}
pub fn set_transform<T: TransformTrait<'a>>(&self, transform: &T, combine: bool) -> &Self {
let (obj_transform_1, _funcs) = transform.get_transform_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).set_transform)(obj_data, obj_transform_1, combine);
}
self
}
pub fn device_transform(&self) -> Option<Transform> {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
let ret_val = ((*funcs).device_transform)(obj_data);
if ret_val.qt_data == ::std::ptr::null() {
return None;
}
let t = ret_val;
let ret_val;
if t.host_data != ::std::ptr::null() {
ret_val = Transform::new_from_rc(t);
} else {
ret_val = Transform::new_from_owned(t);
}
Some(ret_val)
}
}
pub fn reset_transform(&self) -> &Self {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).reset_transform)(obj_data);
}
self
}
pub fn set_world_transform<T: TransformTrait<'a>>(&self, matrix: &T, combine: bool) -> &Self {
let (obj_matrix_1, _funcs) = matrix.get_transform_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).set_world_transform)(obj_data, obj_matrix_1, combine);
}
self
}
pub fn world_transform(&self) -> Option<Transform> {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
let ret_val = ((*funcs).world_transform)(obj_data);
if ret_val.qt_data == ::std::ptr::null() {
return None;
}
let t = ret_val;
let ret_val;
if t.host_data != ::std::ptr::null() {
ret_val = Transform::new_from_rc(t);
} else {
ret_val = Transform::new_from_owned(t);
}
Some(ret_val)
}
}
pub fn combined_transform(&self) -> Transform {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
let ret_val = ((*funcs).combined_transform)(obj_data);
let t = ret_val;
let ret_val;
if t.host_data != ::std::ptr::null() {
ret_val = Transform::new_from_rc(t);
} else {
ret_val = Transform::new_from_owned(t);
}
ret_val
}
}
pub fn scale(&self, sx: f32, sy: f32) -> &Self {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).scale)(obj_data, sx, sy);
}
self
}
pub fn shear(&self, sh: f32, sv: f32) -> &Self {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).shear)(obj_data, sh, sv);
}
self
}
pub fn rotate(&self, a: f32) -> &Self {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).rotate)(obj_data, a);
}
self
}
pub fn window(&self) -> Rect {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
let ret_val = ((*funcs).window)(obj_data);
let t = ret_val;
let ret_val;
if t.host_data != ::std::ptr::null() {
ret_val = Rect::new_from_rc(t);
} else {
ret_val = Rect::new_from_owned(t);
}
ret_val
}
}
pub fn set_window<R: RectTrait<'a>>(&self, window: &R) -> &Self {
let (obj_window_1, _funcs) = window.get_rect_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).set_window)(obj_data, obj_window_1);
}
self
}
pub fn set_window_2(&self, x: i32, y: i32, w: i32, h: i32) -> &Self {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).set_window_2)(obj_data, x, y, w, h);
}
self
}
pub fn viewport(&self) -> Rect {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
let ret_val = ((*funcs).viewport)(obj_data);
let t = ret_val;
let ret_val;
if t.host_data != ::std::ptr::null() {
ret_val = Rect::new_from_rc(t);
} else {
ret_val = Rect::new_from_owned(t);
}
ret_val
}
}
pub fn set_viewport<R: RectTrait<'a>>(&self, viewport: &R) -> &Self {
let (obj_viewport_1, _funcs) = viewport.get_rect_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).set_viewport)(obj_data, obj_viewport_1);
}
self
}
pub fn set_viewport_2(&self, x: i32, y: i32, w: i32, h: i32) -> &Self {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).set_viewport_2)(obj_data, x, y, w, h);
}
self
}
pub fn set_view_transform_enabled(&self, enable: bool) -> &Self {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).set_view_transform_enabled)(obj_data, enable);
}
self
}
pub fn view_transform_enabled(&self) -> bool {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
let ret_val = ((*funcs).view_transform_enabled)(obj_data);
ret_val
}
}
pub fn draw_point<P: PointFTrait<'a>>(&self, pt: &P) -> &Self {
let (obj_pt_1, _funcs) = pt.get_point_f_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_point)(obj_data, obj_pt_1);
}
self
}
pub fn draw_point_2<P: PointTrait<'a>>(&self, p: &P) -> &Self {
let (obj_p_1, _funcs) = p.get_point_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_point_2)(obj_data, obj_p_1);
}
self
}
pub fn draw_point_3(&self, x: i32, y: i32) -> &Self {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_point_3)(obj_data, x, y);
}
self
}
pub fn draw_points<P: PointFTrait<'a>>(&self, points: &P, point_count: i32) -> &Self {
let (obj_points_1, _funcs) = points.get_point_f_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_points)(obj_data, obj_points_1, point_count);
}
self
}
pub fn draw_points_2<P: PolygonFTrait<'a>>(&self, points: &P) -> &Self {
let (obj_points_1, _funcs) = points.get_polygon_f_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_points_2)(obj_data, obj_points_1);
}
self
}
pub fn draw_points_3<P: PointTrait<'a>>(&self, points: &P, point_count: i32) -> &Self {
let (obj_points_1, _funcs) = points.get_point_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_points_3)(obj_data, obj_points_1, point_count);
}
self
}
pub fn draw_points_4<P: PolygonTrait<'a>>(&self, points: &P) -> &Self {
let (obj_points_1, _funcs) = points.get_polygon_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_points_4)(obj_data, obj_points_1);
}
self
}
pub fn draw_line<L: LineFTrait<'a>>(&self, line: &L) -> &Self {
let (obj_line_1, _funcs) = line.get_line_f_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_line)(obj_data, obj_line_1);
}
self
}
pub fn draw_line_2<L: LineTrait<'a>>(&self, line: &L) -> &Self {
let (obj_line_1, _funcs) = line.get_line_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_line_2)(obj_data, obj_line_1);
}
self
}
pub fn draw_line_3(&self, x1: i32, y1: i32, x2: i32, y2: i32) -> &Self {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_line_3)(obj_data, x1, y1, x2, y2);
}
self
}
pub fn draw_line_4<P: PointTrait<'a>>(&self, p1: &P, p2: &P) -> &Self {
let (obj_p1_1, _funcs) = p1.get_point_obj_funcs();
let (obj_p2_2, _funcs) = p2.get_point_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_line_4)(obj_data, obj_p1_1, obj_p2_2);
}
self
}
pub fn draw_line_5<P: PointFTrait<'a>>(&self, p1: &P, p2: &P) -> &Self {
let (obj_p1_1, _funcs) = p1.get_point_f_obj_funcs();
let (obj_p2_2, _funcs) = p2.get_point_f_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_line_5)(obj_data, obj_p1_1, obj_p2_2);
}
self
}
pub fn draw_lines<L: LineFTrait<'a>>(&self, lines: &L, line_count: i32) -> &Self {
let (obj_lines_1, _funcs) = lines.get_line_f_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_lines)(obj_data, obj_lines_1, line_count);
}
self
}
pub fn draw_lines_3<P: PointFTrait<'a>>(&self, point_pairs: &P, line_count: i32) -> &Self {
let (obj_point_pairs_1, _funcs) = point_pairs.get_point_f_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_lines_3)(obj_data, obj_point_pairs_1, line_count);
}
self
}
pub fn draw_lines_7<P: PointTrait<'a>>(&self, point_pairs: &P, line_count: i32) -> &Self {
let (obj_point_pairs_1, _funcs) = point_pairs.get_point_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_lines_7)(obj_data, obj_point_pairs_1, line_count);
}
self
}
pub fn draw_rect<R: RectFTrait<'a>>(&self, rect: &R) -> &Self {
let (obj_rect_1, _funcs) = rect.get_rect_f_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_rect)(obj_data, obj_rect_1);
}
self
}
pub fn draw_rect_2(&self, x1: i32, y1: i32, w: i32, h: i32) -> &Self {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_rect_2)(obj_data, x1, y1, w, h);
}
self
}
pub fn draw_rect_3<R: RectTrait<'a>>(&self, rect: &R) -> &Self {
let (obj_rect_1, _funcs) = rect.get_rect_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_rect_3)(obj_data, obj_rect_1);
}
self
}
pub fn draw_rects<R: RectFTrait<'a>>(&self, rects: &R, rect_count: i32) -> &Self {
let (obj_rects_1, _funcs) = rects.get_rect_f_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_rects)(obj_data, obj_rects_1, rect_count);
}
self
}
pub fn draw_rects_3<R: RectTrait<'a>>(&self, rects: &R, rect_count: i32) -> &Self {
let (obj_rects_1, _funcs) = rects.get_rect_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_rects_3)(obj_data, obj_rects_1, rect_count);
}
self
}
pub fn draw_ellipse<R: RectFTrait<'a>>(&self, r: &R) -> &Self {
let (obj_r_1, _funcs) = r.get_rect_f_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_ellipse)(obj_data, obj_r_1);
}
self
}
pub fn draw_ellipse_2<R: RectTrait<'a>>(&self, r: &R) -> &Self {
let (obj_r_1, _funcs) = r.get_rect_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_ellipse_2)(obj_data, obj_r_1);
}
self
}
pub fn draw_ellipse_3(&self, x: i32, y: i32, w: i32, h: i32) -> &Self {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_ellipse_3)(obj_data, x, y, w, h);
}
self
}
pub fn draw_ellipse_4<P: PointFTrait<'a>>(&self, center: &P, rx: f32, ry: f32) -> &Self {
let (obj_center_1, _funcs) = center.get_point_f_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_ellipse_4)(obj_data, obj_center_1, rx, ry);
}
self
}
pub fn draw_ellipse_5<P: PointTrait<'a>>(&self, center: &P, rx: i32, ry: i32) -> &Self {
let (obj_center_1, _funcs) = center.get_point_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_ellipse_5)(obj_data, obj_center_1, rx, ry);
}
self
}
pub fn draw_polyline<P: PointFTrait<'a>>(&self, points: &P, point_count: i32) -> &Self {
let (obj_points_1, _funcs) = points.get_point_f_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_polyline)(obj_data, obj_points_1, point_count);
}
self
}
pub fn draw_polyline_2<P: PolygonFTrait<'a>>(&self, polyline: &P) -> &Self {
let (obj_polyline_1, _funcs) = polyline.get_polygon_f_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_polyline_2)(obj_data, obj_polyline_1);
}
self
}
pub fn draw_polyline_3<P: PointTrait<'a>>(&self, points: &P, point_count: i32) -> &Self {
let (obj_points_1, _funcs) = points.get_point_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_polyline_3)(obj_data, obj_points_1, point_count);
}
self
}
pub fn draw_polyline_4<P: PolygonTrait<'a>>(&self, polygon: &P) -> &Self {
let (obj_polygon_1, _funcs) = polygon.get_polygon_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_polyline_4)(obj_data, obj_polygon_1);
}
self
}
pub fn draw_polygon<P: PointFTrait<'a>>(
&self,
points: &P,
point_count: i32,
fill_rule: FillRule,
) -> &Self {
let (obj_points_1, _funcs) = points.get_point_f_obj_funcs();
let enum_fill_rule_3 = fill_rule as u32;
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_polygon)(obj_data, obj_points_1, point_count, enum_fill_rule_3);
}
self
}
pub fn draw_polygon_2<P: PolygonFTrait<'a>>(&self, polygon: &P, fill_rule: FillRule) -> &Self {
let (obj_polygon_1, _funcs) = polygon.get_polygon_f_obj_funcs();
let enum_fill_rule_2 = fill_rule as u32;
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_polygon_2)(obj_data, obj_polygon_1, enum_fill_rule_2);
}
self
}
pub fn draw_polygon_3<P: PointTrait<'a>>(
&self,
points: &P,
point_count: i32,
fill_rule: FillRule,
) -> &Self {
let (obj_points_1, _funcs) = points.get_point_obj_funcs();
let enum_fill_rule_3 = fill_rule as u32;
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_polygon_3)(obj_data, obj_points_1, point_count, enum_fill_rule_3);
}
self
}
pub fn draw_polygon_4<P: PolygonTrait<'a>>(&self, polygon: &P, fill_rule: FillRule) -> &Self {
let (obj_polygon_1, _funcs) = polygon.get_polygon_obj_funcs();
let enum_fill_rule_2 = fill_rule as u32;
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_polygon_4)(obj_data, obj_polygon_1, enum_fill_rule_2);
}
self
}
pub fn draw_convex_polygon<P: PointFTrait<'a>>(&self, points: &P, point_count: i32) -> &Self {
let (obj_points_1, _funcs) = points.get_point_f_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_convex_polygon)(obj_data, obj_points_1, point_count);
}
self
}
pub fn draw_convex_polygon_2<P: PolygonFTrait<'a>>(&self, polygon: &P) -> &Self {
let (obj_polygon_1, _funcs) = polygon.get_polygon_f_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_convex_polygon_2)(obj_data, obj_polygon_1);
}
self
}
pub fn draw_convex_polygon_3<P: PointTrait<'a>>(&self, points: &P, point_count: i32) -> &Self {
let (obj_points_1, _funcs) = points.get_point_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_convex_polygon_3)(obj_data, obj_points_1, point_count);
}
self
}
pub fn draw_convex_polygon_4<P: PolygonTrait<'a>>(&self, polygon: &P) -> &Self {
let (obj_polygon_1, _funcs) = polygon.get_polygon_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_convex_polygon_4)(obj_data, obj_polygon_1);
}
self
}
pub fn draw_arc<R: RectFTrait<'a>>(&self, rect: &R, a: i32, alen: i32) -> &Self {
let (obj_rect_1, _funcs) = rect.get_rect_f_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_arc)(obj_data, obj_rect_1, a, alen);
}
self
}
pub fn draw_arc_2<R: RectTrait<'a>>(&self, arg0: &R, a: i32, alen: i32) -> &Self {
let (obj_arg0_1, _funcs) = arg0.get_rect_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_arc_2)(obj_data, obj_arg0_1, a, alen);
}
self
}
pub fn draw_arc_3(&self, x: i32, y: i32, w: i32, h: i32, a: i32, alen: i32) -> &Self {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_arc_3)(obj_data, x, y, w, h, a, alen);
}
self
}
pub fn draw_pie<R: RectFTrait<'a>>(&self, rect: &R, a: i32, alen: i32) -> &Self {
let (obj_rect_1, _funcs) = rect.get_rect_f_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_pie)(obj_data, obj_rect_1, a, alen);
}
self
}
pub fn draw_pie_2(&self, x: i32, y: i32, w: i32, h: i32, a: i32, alen: i32) -> &Self {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_pie_2)(obj_data, x, y, w, h, a, alen);
}
self
}
pub fn draw_pie_3<R: RectTrait<'a>>(&self, arg0: &R, a: i32, alen: i32) -> &Self {
let (obj_arg0_1, _funcs) = arg0.get_rect_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_pie_3)(obj_data, obj_arg0_1, a, alen);
}
self
}
pub fn draw_chord<R: RectFTrait<'a>>(&self, rect: &R, a: i32, alen: i32) -> &Self {
let (obj_rect_1, _funcs) = rect.get_rect_f_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_chord)(obj_data, obj_rect_1, a, alen);
}
self
}
pub fn draw_chord_2(&self, x: i32, y: i32, w: i32, h: i32, a: i32, alen: i32) -> &Self {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_chord_2)(obj_data, x, y, w, h, a, alen);
}
self
}
pub fn draw_chord_3<R: RectTrait<'a>>(&self, arg0: &R, a: i32, alen: i32) -> &Self {
let (obj_arg0_1, _funcs) = arg0.get_rect_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_chord_3)(obj_data, obj_arg0_1, a, alen);
}
self
}
pub fn draw_rounded_rect<R: RectFTrait<'a>>(
&self,
rect: &R,
x_radius: f32,
y_radius: f32,
mode: SizeMode,
) -> &Self {
let (obj_rect_1, _funcs) = rect.get_rect_f_obj_funcs();
let enum_mode_4 = mode as u32;
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_rounded_rect)(obj_data, obj_rect_1, x_radius, y_radius, enum_mode_4);
}
self
}
pub fn draw_rounded_rect_2(
&self,
x: i32,
y: i32,
w: i32,
h: i32,
x_radius: f32,
y_radius: f32,
mode: SizeMode,
) -> &Self {
let enum_mode_7 = mode as u32;
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_rounded_rect_2)(obj_data, x, y, w, h, x_radius, y_radius, enum_mode_7);
}
self
}
pub fn draw_rounded_rect_3<R: RectTrait<'a>>(
&self,
rect: &R,
x_radius: f32,
y_radius: f32,
mode: SizeMode,
) -> &Self {
let (obj_rect_1, _funcs) = rect.get_rect_obj_funcs();
let enum_mode_4 = mode as u32;
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_rounded_rect_3)(obj_data, obj_rect_1, x_radius, y_radius, enum_mode_4);
}
self
}
pub fn draw_round_rect<R: RectFTrait<'a>>(&self, r: &R, xround: i32, yround: i32) -> &Self {
let (obj_r_1, _funcs) = r.get_rect_f_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_round_rect)(obj_data, obj_r_1, xround, yround);
}
self
}
pub fn draw_round_rect_2(&self, x: i32, y: i32, w: i32, h: i32, arg0: i32, arg1: i32) -> &Self {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_round_rect_2)(obj_data, x, y, w, h, arg0, arg1);
}
self
}
pub fn draw_round_rect_3<R: RectTrait<'a>>(&self, r: &R, xround: i32, yround: i32) -> &Self {
let (obj_r_1, _funcs) = r.get_rect_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_round_rect_3)(obj_data, obj_r_1, xround, yround);
}
self
}
pub fn draw_tiled_pixmap<P: PixmapTrait<'a>, Q: PointFTrait<'a>, R: RectFTrait<'a>>(
&self,
rect: &R,
pm: &P,
offset: &Q,
) -> &Self {
let (obj_rect_1, _funcs) = rect.get_rect_f_obj_funcs();
let (obj_pm_2, _funcs) = pm.get_pixmap_obj_funcs();
let (obj_offset_3, _funcs) = offset.get_point_f_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_tiled_pixmap)(obj_data, obj_rect_1, obj_pm_2, obj_offset_3);
}
self
}
pub fn draw_tiled_pixmap_2<P: PixmapTrait<'a>>(
&self,
x: i32,
y: i32,
w: i32,
h: i32,
arg0: &P,
sx: i32,
sy: i32,
) -> &Self {
let (obj_arg0_5, _funcs) = arg0.get_pixmap_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_tiled_pixmap_2)(obj_data, x, y, w, h, obj_arg0_5, sx, sy);
}
self
}
pub fn draw_tiled_pixmap_3<P: PixmapTrait<'a>, Q: PointTrait<'a>, R: RectTrait<'a>>(
&self,
arg0: &R,
arg1: &P,
arg2: &Q,
) -> &Self {
let (obj_arg0_1, _funcs) = arg0.get_rect_obj_funcs();
let (obj_arg1_2, _funcs) = arg1.get_pixmap_obj_funcs();
let (obj_arg2_3, _funcs) = arg2.get_point_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_tiled_pixmap_3)(obj_data, obj_arg0_1, obj_arg1_2, obj_arg2_3);
}
self
}
pub fn draw_pixmap<P: PixmapTrait<'a>, R: RectFTrait<'a>>(
&self,
target_rect: &R,
pixmap: &P,
source_rect: &R,
) -> &Self {
let (obj_target_rect_1, _funcs) = target_rect.get_rect_f_obj_funcs();
let (obj_pixmap_2, _funcs) = pixmap.get_pixmap_obj_funcs();
let (obj_source_rect_3, _funcs) = source_rect.get_rect_f_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_pixmap)(obj_data, obj_target_rect_1, obj_pixmap_2, obj_source_rect_3);
}
self
}
pub fn draw_pixmap_2<P: PixmapTrait<'a>, R: RectTrait<'a>>(
&self,
target_rect: &R,
pixmap: &P,
source_rect: &R,
) -> &Self {
let (obj_target_rect_1, _funcs) = target_rect.get_rect_obj_funcs();
let (obj_pixmap_2, _funcs) = pixmap.get_pixmap_obj_funcs();
let (obj_source_rect_3, _funcs) = source_rect.get_rect_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_pixmap_2)(obj_data, obj_target_rect_1, obj_pixmap_2, obj_source_rect_3);
}
self
}
pub fn draw_pixmap_3<P: PixmapTrait<'a>>(
&self,
x: i32,
y: i32,
w: i32,
h: i32,
pm: &P,
sx: i32,
sy: i32,
sw: i32,
sh: i32,
) -> &Self {
let (obj_pm_5, _funcs) = pm.get_pixmap_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_pixmap_3)(obj_data, x, y, w, h, obj_pm_5, sx, sy, sw, sh);
}
self
}
pub fn draw_pixmap_4<P: PixmapTrait<'a>>(
&self,
x: i32,
y: i32,
pm: &P,
sx: i32,
sy: i32,
sw: i32,
sh: i32,
) -> &Self {
let (obj_pm_3, _funcs) = pm.get_pixmap_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_pixmap_4)(obj_data, x, y, obj_pm_3, sx, sy, sw, sh);
}
self
}
pub fn draw_pixmap_5<Q: PixmapTrait<'a>, P: PointFTrait<'a>, R: RectFTrait<'a>>(
&self,
p: &P,
pm: &Q,
sr: &R,
) -> &Self {
let (obj_p_1, _funcs) = p.get_point_f_obj_funcs();
let (obj_pm_2, _funcs) = pm.get_pixmap_obj_funcs();
let (obj_sr_3, _funcs) = sr.get_rect_f_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_pixmap_5)(obj_data, obj_p_1, obj_pm_2, obj_sr_3);
}
self
}
pub fn draw_pixmap_6<Q: PixmapTrait<'a>, P: PointTrait<'a>, R: RectTrait<'a>>(
&self,
p: &P,
pm: &Q,
sr: &R,
) -> &Self {
let (obj_p_1, _funcs) = p.get_point_obj_funcs();
let (obj_pm_2, _funcs) = pm.get_pixmap_obj_funcs();
let (obj_sr_3, _funcs) = sr.get_rect_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_pixmap_6)(obj_data, obj_p_1, obj_pm_2, obj_sr_3);
}
self
}
pub fn draw_pixmap_7<Q: PixmapTrait<'a>, P: PointFTrait<'a>>(&self, p: &P, pm: &Q) -> &Self {
let (obj_p_1, _funcs) = p.get_point_f_obj_funcs();
let (obj_pm_2, _funcs) = pm.get_pixmap_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_pixmap_7)(obj_data, obj_p_1, obj_pm_2);
}
self
}
pub fn draw_pixmap_8<Q: PixmapTrait<'a>, P: PointTrait<'a>>(&self, p: &P, pm: &Q) -> &Self {
let (obj_p_1, _funcs) = p.get_point_obj_funcs();
let (obj_pm_2, _funcs) = pm.get_pixmap_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_pixmap_8)(obj_data, obj_p_1, obj_pm_2);
}
self
}
pub fn draw_pixmap_9<P: PixmapTrait<'a>>(&self, x: i32, y: i32, pm: &P) -> &Self {
let (obj_pm_3, _funcs) = pm.get_pixmap_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_pixmap_9)(obj_data, x, y, obj_pm_3);
}
self
}
pub fn draw_pixmap_10<P: PixmapTrait<'a>, R: RectTrait<'a>>(&self, r: &R, pm: &P) -> &Self {
let (obj_r_1, _funcs) = r.get_rect_obj_funcs();
let (obj_pm_2, _funcs) = pm.get_pixmap_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_pixmap_10)(obj_data, obj_r_1, obj_pm_2);
}
self
}
pub fn draw_pixmap_11<P: PixmapTrait<'a>>(
&self,
x: i32,
y: i32,
w: i32,
h: i32,
pm: &P,
) -> &Self {
let (obj_pm_5, _funcs) = pm.get_pixmap_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_pixmap_11)(obj_data, x, y, w, h, obj_pm_5);
}
self
}
pub fn draw_image<I: ImageTrait<'a>, R: RectFTrait<'a>>(
&self,
target_rect: &R,
image: &I,
source_rect: &R,
flags: ImageConversionFlags,
) -> &Self {
let (obj_target_rect_1, _funcs) = target_rect.get_rect_f_obj_funcs();
let (obj_image_2, _funcs) = image.get_image_obj_funcs();
let (obj_source_rect_3, _funcs) = source_rect.get_rect_f_obj_funcs();
let enum_flags_4 = flags.bits();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_image)(
obj_data,
obj_target_rect_1,
obj_image_2,
obj_source_rect_3,
enum_flags_4,
);
}
self
}
pub fn draw_image_2<I: ImageTrait<'a>, R: RectTrait<'a>>(
&self,
target_rect: &R,
image: &I,
source_rect: &R,
flags: ImageConversionFlags,
) -> &Self {
let (obj_target_rect_1, _funcs) = target_rect.get_rect_obj_funcs();
let (obj_image_2, _funcs) = image.get_image_obj_funcs();
let (obj_source_rect_3, _funcs) = source_rect.get_rect_obj_funcs();
let enum_flags_4 = flags.bits();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_image_2)(
obj_data,
obj_target_rect_1,
obj_image_2,
obj_source_rect_3,
enum_flags_4,
);
}
self
}
pub fn draw_image_3<I: ImageTrait<'a>, P: PointFTrait<'a>, R: RectFTrait<'a>>(
&self,
p: &P,
image: &I,
sr: &R,
flags: ImageConversionFlags,
) -> &Self {
let (obj_p_1, _funcs) = p.get_point_f_obj_funcs();
let (obj_image_2, _funcs) = image.get_image_obj_funcs();
let (obj_sr_3, _funcs) = sr.get_rect_f_obj_funcs();
let enum_flags_4 = flags.bits();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_image_3)(obj_data, obj_p_1, obj_image_2, obj_sr_3, enum_flags_4);
}
self
}
pub fn draw_image_4<I: ImageTrait<'a>, P: PointTrait<'a>, R: RectTrait<'a>>(
&self,
p: &P,
image: &I,
sr: &R,
flags: ImageConversionFlags,
) -> &Self {
let (obj_p_1, _funcs) = p.get_point_obj_funcs();
let (obj_image_2, _funcs) = image.get_image_obj_funcs();
let (obj_sr_3, _funcs) = sr.get_rect_obj_funcs();
let enum_flags_4 = flags.bits();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_image_4)(obj_data, obj_p_1, obj_image_2, obj_sr_3, enum_flags_4);
}
self
}
pub fn draw_image_5<I: ImageTrait<'a>, R: RectFTrait<'a>>(&self, r: &R, image: &I) -> &Self {
let (obj_r_1, _funcs) = r.get_rect_f_obj_funcs();
let (obj_image_2, _funcs) = image.get_image_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_image_5)(obj_data, obj_r_1, obj_image_2);
}
self
}
pub fn draw_image_6<I: ImageTrait<'a>, R: RectTrait<'a>>(&self, r: &R, image: &I) -> &Self {
let (obj_r_1, _funcs) = r.get_rect_obj_funcs();
let (obj_image_2, _funcs) = image.get_image_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_image_6)(obj_data, obj_r_1, obj_image_2);
}
self
}
pub fn draw_image_7<I: ImageTrait<'a>, P: PointFTrait<'a>>(&self, p: &P, image: &I) -> &Self {
let (obj_p_1, _funcs) = p.get_point_f_obj_funcs();
let (obj_image_2, _funcs) = image.get_image_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_image_7)(obj_data, obj_p_1, obj_image_2);
}
self
}
pub fn draw_image_8<I: ImageTrait<'a>, P: PointTrait<'a>>(&self, p: &P, image: &I) -> &Self {
let (obj_p_1, _funcs) = p.get_point_obj_funcs();
let (obj_image_2, _funcs) = image.get_image_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_image_8)(obj_data, obj_p_1, obj_image_2);
}
self
}
pub fn draw_image_9<I: ImageTrait<'a>>(
&self,
x: i32,
y: i32,
image: &I,
sx: i32,
sy: i32,
sw: i32,
sh: i32,
flags: ImageConversionFlags,
) -> &Self {
let (obj_image_3, _funcs) = image.get_image_obj_funcs();
let enum_flags_8 = flags.bits();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_image_9)(obj_data, x, y, obj_image_3, sx, sy, sw, sh, enum_flags_8);
}
self
}
pub fn set_layout_direction(&self, direction: LayoutDirection) -> &Self {
let enum_direction_1 = direction as u32;
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).set_layout_direction)(obj_data, enum_direction_1);
}
self
}
pub fn layout_direction(&self) -> LayoutDirection {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
let ret_val = ((*funcs).layout_direction)(obj_data);
let ret_val = { transmute::<u32, LayoutDirection>(ret_val) };
ret_val
}
}
pub fn draw_text<P: PointFTrait<'a>>(&self, p: &P, s: &str) -> &Self {
let (obj_p_1, _funcs) = p.get_point_f_obj_funcs();
let str_in_s_2 = CString::new(s).unwrap();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_text)(obj_data, obj_p_1, str_in_s_2.as_ptr());
}
self
}
pub fn draw_text_2<P: PointTrait<'a>>(&self, p: &P, s: &str) -> &Self {
let (obj_p_1, _funcs) = p.get_point_obj_funcs();
let str_in_s_2 = CString::new(s).unwrap();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_text_2)(obj_data, obj_p_1, str_in_s_2.as_ptr());
}
self
}
pub fn draw_text_3(&self, x: i32, y: i32, s: &str) -> &Self {
let str_in_s_3 = CString::new(s).unwrap();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_text_3)(obj_data, x, y, str_in_s_3.as_ptr());
}
self
}
pub fn draw_text_4<P: PointFTrait<'a>>(
&self,
p: &P,
str: &str,
tf: i32,
justification_padding: i32,
) -> &Self {
let (obj_p_1, _funcs) = p.get_point_f_obj_funcs();
let str_in_str_2 = CString::new(str).unwrap();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_text_4)(
obj_data,
obj_p_1,
str_in_str_2.as_ptr(),
tf,
justification_padding,
);
}
self
}
pub fn draw_text_5<R: RectFTrait<'a>>(&self, r: &R, flags: i32, text: &str, br: &R) -> &Self {
let (obj_r_1, _funcs) = r.get_rect_f_obj_funcs();
let str_in_text_3 = CString::new(text).unwrap();
let (obj_br_4, _funcs) = br.get_rect_f_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_text_5)(obj_data, obj_r_1, flags, str_in_text_3.as_ptr(), obj_br_4);
}
self
}
pub fn draw_text_6<R: RectTrait<'a>>(&self, r: &R, flags: i32, text: &str, br: &R) -> &Self {
let (obj_r_1, _funcs) = r.get_rect_obj_funcs();
let str_in_text_3 = CString::new(text).unwrap();
let (obj_br_4, _funcs) = br.get_rect_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_text_6)(obj_data, obj_r_1, flags, str_in_text_3.as_ptr(), obj_br_4);
}
self
}
pub fn draw_text_7<R: RectTrait<'a>>(
&self,
x: i32,
y: i32,
w: i32,
h: i32,
flags: i32,
text: &str,
br: &R,
) -> &Self {
let str_in_text_6 = CString::new(text).unwrap();
let (obj_br_7, _funcs) = br.get_rect_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).draw_text_7)(
obj_data,
x,
y,
w,
h,
flags,
str_in_text_6.as_ptr(),
obj_br_7,
);
}
self
}
pub fn bounding_rect<R: RectFTrait<'a>>(&self, rect: &R, flags: i32, text: &str) -> RectF {
let (obj_rect_1, _funcs) = rect.get_rect_f_obj_funcs();
let str_in_text_3 = CString::new(text).unwrap();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
let ret_val =
((*funcs).bounding_rect)(obj_data, obj_rect_1, flags, str_in_text_3.as_ptr());
let t = ret_val;
let ret_val;
if t.host_data != ::std::ptr::null() {
ret_val = RectF::new_from_rc(t);
} else {
ret_val = RectF::new_from_owned(t);
}
ret_val
}
}
pub fn bounding_rect_2<R: RectTrait<'a>>(&self, rect: &R, flags: i32, text: &str) -> Rect {
let (obj_rect_1, _funcs) = rect.get_rect_obj_funcs();
let str_in_text_3 = CString::new(text).unwrap();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
let ret_val =
((*funcs).bounding_rect_2)(obj_data, obj_rect_1, flags, str_in_text_3.as_ptr());
let t = ret_val;
let ret_val;
if t.host_data != ::std::ptr::null() {
ret_val = Rect::new_from_rc(t);
} else {
ret_val = Rect::new_from_owned(t);
}
ret_val
}
}
pub fn bounding_rect_3(&self, x: i32, y: i32, w: i32, h: i32, flags: i32, text: &str) -> Rect {
let str_in_text_6 = CString::new(text).unwrap();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
let ret_val =
((*funcs).bounding_rect_3)(obj_data, x, y, w, h, flags, str_in_text_6.as_ptr());
let t = ret_val;
let ret_val;
if t.host_data != ::std::ptr::null() {
ret_val = Rect::new_from_rc(t);
} else {
ret_val = Rect::new_from_owned(t);
}
ret_val
}
}
pub fn fill_rect<B: BrushTrait<'a>, R: RectFTrait<'a>>(&self, arg0: &R, arg1: &B) -> &Self {
let (obj_arg0_1, _funcs) = arg0.get_rect_f_obj_funcs();
let (obj_arg1_2, _funcs) = arg1.get_brush_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).fill_rect)(obj_data, obj_arg0_1, obj_arg1_2);
}
self
}
pub fn fill_rect_2<B: BrushTrait<'a>>(
&self,
x: i32,
y: i32,
w: i32,
h: i32,
arg0: &B,
) -> &Self {
let (obj_arg0_5, _funcs) = arg0.get_brush_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).fill_rect_2)(obj_data, x, y, w, h, obj_arg0_5);
}
self
}
pub fn fill_rect_3<B: BrushTrait<'a>, R: RectTrait<'a>>(&self, arg0: &R, arg1: &B) -> &Self {
let (obj_arg0_1, _funcs) = arg0.get_rect_obj_funcs();
let (obj_arg1_2, _funcs) = arg1.get_brush_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).fill_rect_3)(obj_data, obj_arg0_1, obj_arg1_2);
}
self
}
pub fn fill_rect_4<C: ColorTrait<'a>, R: RectFTrait<'a>>(&self, arg0: &R, color: &C) -> &Self {
let (obj_arg0_1, _funcs) = arg0.get_rect_f_obj_funcs();
let (obj_color_2, _funcs) = color.get_color_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).fill_rect_4)(obj_data, obj_arg0_1, obj_color_2);
}
self
}
pub fn fill_rect_5<C: ColorTrait<'a>>(
&self,
x: i32,
y: i32,
w: i32,
h: i32,
color: &C,
) -> &Self {
let (obj_color_5, _funcs) = color.get_color_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).fill_rect_5)(obj_data, x, y, w, h, obj_color_5);
}
self
}
pub fn fill_rect_6<C: ColorTrait<'a>, R: RectTrait<'a>>(&self, arg0: &R, color: &C) -> &Self {
let (obj_arg0_1, _funcs) = arg0.get_rect_obj_funcs();
let (obj_color_2, _funcs) = color.get_color_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).fill_rect_6)(obj_data, obj_arg0_1, obj_color_2);
}
self
}
pub fn fill_rect_7(&self, x: i32, y: i32, w: i32, h: i32, c: GlobalColor) -> &Self {
let enum_c_5 = c as u32;
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).fill_rect_7)(obj_data, x, y, w, h, enum_c_5);
}
self
}
pub fn fill_rect_8<R: RectTrait<'a>>(&self, r: &R, c: GlobalColor) -> &Self {
let (obj_r_1, _funcs) = r.get_rect_obj_funcs();
let enum_c_2 = c as u32;
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).fill_rect_8)(obj_data, obj_r_1, enum_c_2);
}
self
}
pub fn fill_rect_9<R: RectFTrait<'a>>(&self, r: &R, c: GlobalColor) -> &Self {
let (obj_r_1, _funcs) = r.get_rect_f_obj_funcs();
let enum_c_2 = c as u32;
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).fill_rect_9)(obj_data, obj_r_1, enum_c_2);
}
self
}
pub fn fill_rect_10(&self, x: i32, y: i32, w: i32, h: i32, style: BrushStyle) -> &Self {
let enum_style_5 = style as u32;
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).fill_rect_10)(obj_data, x, y, w, h, enum_style_5);
}
self
}
pub fn fill_rect_11<R: RectTrait<'a>>(&self, r: &R, style: BrushStyle) -> &Self {
let (obj_r_1, _funcs) = r.get_rect_obj_funcs();
let enum_style_2 = style as u32;
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).fill_rect_11)(obj_data, obj_r_1, enum_style_2);
}
self
}
pub fn fill_rect_12<R: RectFTrait<'a>>(&self, r: &R, style: BrushStyle) -> &Self {
let (obj_r_1, _funcs) = r.get_rect_f_obj_funcs();
let enum_style_2 = style as u32;
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).fill_rect_12)(obj_data, obj_r_1, enum_style_2);
}
self
}
pub fn erase_rect<R: RectFTrait<'a>>(&self, arg0: &R) -> &Self {
let (obj_arg0_1, _funcs) = arg0.get_rect_f_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).erase_rect)(obj_data, obj_arg0_1);
}
self
}
pub fn erase_rect_2(&self, x: i32, y: i32, w: i32, h: i32) -> &Self {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).erase_rect_2)(obj_data, x, y, w, h);
}
self
}
pub fn erase_rect_3<R: RectTrait<'a>>(&self, arg0: &R) -> &Self {
let (obj_arg0_1, _funcs) = arg0.get_rect_obj_funcs();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).erase_rect_3)(obj_data, obj_arg0_1);
}
self
}
pub fn set_render_hint(&self, hint: RenderHint, on: bool) -> &Self {
let enum_hint_1 = hint.bits();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).set_render_hint)(obj_data, enum_hint_1, on);
}
self
}
pub fn set_render_hints(&self, hints: RenderHints, on: bool) -> &Self {
let enum_hints_1 = hints.bits();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).set_render_hints)(obj_data, enum_hints_1, on);
}
self
}
pub fn render_hints(&self) -> RenderHints {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
let ret_val = ((*funcs).render_hints)(obj_data);
let ret_val = RenderHints::from_bits_truncate(ret_val);
ret_val
}
}
pub fn test_render_hint(&self, hint: RenderHint) -> bool {
let enum_hint_1 = hint.bits();
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
let ret_val = ((*funcs).test_render_hint)(obj_data, enum_hint_1);
ret_val
}
}
pub fn paint_engine(&self) -> Option<PaintEngine> {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
let ret_val = ((*funcs).paint_engine)(obj_data);
if ret_val.qt_data == ::std::ptr::null() {
return None;
}
let t = ret_val;
let ret_val;
if t.host_data != ::std::ptr::null() {
ret_val = PaintEngine::new_from_rc(t);
} else {
ret_val = PaintEngine::new_from_owned(t);
}
Some(ret_val)
}
}
pub fn set_redirected<P: PaintDeviceTrait<'a>, Q: PointTrait<'a>>(
device: &P,
replacement: &P,
offset: &Q,
) {
let (obj_device_1, _funcs) = device.get_paint_device_obj_funcs();
let (obj_replacement_2, _funcs) = replacement.get_paint_device_obj_funcs();
let (obj_offset_3, _funcs) = offset.get_point_obj_funcs();
let (obj_data, funcs) = unsafe {
(
::std::ptr::null(),
(*((*rute_ffi_get()).get_painter)(::std::ptr::null()).all_funcs).painter_funcs,
)
};
unsafe {
((*funcs).set_redirected)(obj_data, obj_device_1, obj_replacement_2, obj_offset_3);
}
}
pub fn redirected<P: PaintDeviceTrait<'a>, Q: PointTrait<'a>>(
device: &P,
offset: &Q,
) -> Option<PaintDevice<'a>> {
let (obj_device_1, _funcs) = device.get_paint_device_obj_funcs();
let (obj_offset_2, _funcs) = offset.get_point_obj_funcs();
let (obj_data, funcs) = unsafe {
(
::std::ptr::null(),
(*((*rute_ffi_get()).get_painter)(::std::ptr::null()).all_funcs).painter_funcs,
)
};
unsafe {
let ret_val = ((*funcs).redirected)(obj_data, obj_device_1, obj_offset_2);
if ret_val.qt_data == ::std::ptr::null() {
return None;
}
let t = ret_val;
let ret_val;
if t.host_data != ::std::ptr::null() {
ret_val = PaintDevice::new_from_rc(t);
} else {
ret_val = PaintDevice::new_from_owned(t);
}
Some(ret_val)
}
}
pub fn restore_redirected<P: PaintDeviceTrait<'a>>(device: &P) {
let (obj_device_1, _funcs) = device.get_paint_device_obj_funcs();
let (obj_data, funcs) = unsafe {
(
::std::ptr::null(),
(*((*rute_ffi_get()).get_painter)(::std::ptr::null()).all_funcs).painter_funcs,
)
};
unsafe {
((*funcs).restore_redirected)(obj_data, obj_device_1);
}
}
pub fn begin_native_painting(&self) -> &Self {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).begin_native_painting)(obj_data);
}
self
}
pub fn end_native_painting(&self) -> &Self {
let (obj_data, funcs) = self.get_painter_obj_funcs();
unsafe {
((*funcs).end_native_painting)(obj_data);
}
self
}
pub fn build(&self) -> Self {
self.clone()
}
}
pub trait PainterTrait<'a> {
#[inline]
#[doc(hidden)]
fn get_painter_obj_funcs(&self) -> (*const RUBase, *const RUPainterFuncs);
}
impl<'a> PainterTrait<'a> for Painter<'a> {
#[doc(hidden)]
fn get_painter_obj_funcs(&self) -> (*const RUBase, *const RUPainterFuncs) {
let obj = self.data.get().unwrap();
unsafe { (obj, (*self.all_funcs).painter_funcs) }
}
}
bitflags! {
pub struct RenderHint: u32 {
const Antialiasing = 0x1;
const TextAntialiasing = 0x2;
const SmoothPixmapTransform = 0x4;
const HighQualityAntialiasing = 0x8;
const NonCosmeticDefaultPen = 0x10;
const Qt4CompatiblePainting = 0x20;
}
}
pub type RenderHints = RenderHint;
#[repr(u32)]
pub enum PixmapFragmentHint {
OpaqueHint = 1,
}
#[repr(u32)]
pub enum CompositionMode {
CompositionModeSourceOver = 0,
CompositionModeDestinationOver = 1,
CompositionModeClear = 2,
CompositionModeSource = 3,
CompositionModeDestination = 4,
CompositionModeSourceIn = 5,
CompositionModeDestinationIn = 6,
CompositionModeSourceOut = 7,
CompositionModeDestinationOut = 8,
CompositionModeSourceAtop = 9,
CompositionModeDestinationAtop = 10,
CompositionModeXor = 11,
CompositionModePlus = 12,
CompositionModeMultiply = 13,
CompositionModeScreen = 14,
CompositionModeOverlay = 15,
CompositionModeDarken = 16,
CompositionModeLighten = 17,
CompositionModeColorDodge = 18,
CompositionModeColorBurn = 19,
CompositionModeHardLight = 20,
CompositionModeSoftLight = 21,
CompositionModeDifference = 22,
CompositionModeExclusion = 23,
RasterOpSourceOrDestination = 24,
RasterOpSourceAndDestination = 25,
RasterOpSourceXorDestination = 26,
RasterOpNotSourceAndNotDestination = 27,
RasterOpNotSourceOrNotDestination = 28,
RasterOpNotSourceXorDestination = 29,
RasterOpNotSource = 30,
RasterOpNotSourceAndDestination = 31,
RasterOpSourceAndNotDestination = 32,
RasterOpNotSourceOrDestination = 33,
RasterOpSourceOrNotDestination = 34,
RasterOpClearDestination = 35,
RasterOpSetDestination = 36,
RasterOpNotDestination = 37,
}