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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
// This file is auto-generated by rute_gen. DO NOT EDIT.
use rute_ffi_base::*;

#[allow(unused_imports)]
use auto::color_ffi::RUColor;
#[allow(unused_imports)]
use auto::paint_device_ffi::*;
#[allow(unused_imports)]
use auto::paint_engine_ffi::RUPaintEngine;
#[allow(unused_imports)]
use auto::pixel_format_ffi::RUPixelFormat;
#[allow(unused_imports)]
use auto::point_ffi::RUPoint;
#[allow(unused_imports)]
use auto::rect_ffi::RURect;
#[allow(unused_imports)]
use auto::size_ffi::RUSize;
#[allow(unused_imports)]
use std::os::raw::c_void;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct RUImageFuncs {
    pub destroy: extern "C" fn(self_c: *const RUBase),
    pub swap: extern "C" fn(self_c: *const RUBase, other: *const RUBase),
    pub is_null: extern "C" fn(self_c: *const RUBase) -> bool,
    pub dev_type: extern "C" fn(self_c: *const RUBase) -> i32,
    pub detach: extern "C" fn(self_c: *const RUBase),
    pub is_detached: extern "C" fn(self_c: *const RUBase) -> bool,
    pub copy: extern "C" fn(self_c: *const RUBase, rect: *const RUBase) -> RUImage,
    pub copy_2: extern "C" fn(self_c: *const RUBase, x: i32, y: i32, w: i32, h: i32) -> RUImage,
    pub format: extern "C" fn(self_c: *const RUBase) -> i32,
    pub convert_to_format: extern "C" fn(self_c: *const RUBase, f: i32, flags: i32) -> RUImage,
    pub convert_to_format_2: extern "C" fn(self_c: *const RUBase, f: i32, flags: i32) -> RUImage,
    pub reinterpret_as_format: extern "C" fn(self_c: *const RUBase, f: i32) -> bool,
    pub width: extern "C" fn(self_c: *const RUBase) -> i32,
    pub height: extern "C" fn(self_c: *const RUBase) -> i32,
    pub size: extern "C" fn(self_c: *const RUBase) -> RUSize,
    pub rect: extern "C" fn(self_c: *const RUBase) -> RURect,
    pub depth: extern "C" fn(self_c: *const RUBase) -> i32,
    pub color_count: extern "C" fn(self_c: *const RUBase) -> i32,
    pub bit_plane_count: extern "C" fn(self_c: *const RUBase) -> i32,
    pub set_color_count: extern "C" fn(self_c: *const RUBase, arg0: i32),
    pub all_gray: extern "C" fn(self_c: *const RUBase) -> bool,
    pub is_grayscale: extern "C" fn(self_c: *const RUBase) -> bool,
    pub byte_count: extern "C" fn(self_c: *const RUBase) -> i32,
    pub bytes_per_line: extern "C" fn(self_c: *const RUBase) -> i32,
    pub valid: extern "C" fn(self_c: *const RUBase, x: i32, y: i32) -> bool,
    pub valid_2: extern "C" fn(self_c: *const RUBase, pt: *const RUBase) -> bool,
    pub pixel_index: extern "C" fn(self_c: *const RUBase, x: i32, y: i32) -> i32,
    pub pixel_index_2: extern "C" fn(self_c: *const RUBase, pt: *const RUBase) -> i32,
    pub set_pixel: extern "C" fn(self_c: *const RUBase, x: i32, y: i32, index_or_rgb: u32),
    pub set_pixel_2: extern "C" fn(self_c: *const RUBase, pt: *const RUBase, index_or_rgb: u32),
    pub pixel_color: extern "C" fn(self_c: *const RUBase, x: i32, y: i32) -> RUColor,
    pub pixel_color_2: extern "C" fn(self_c: *const RUBase, pt: *const RUBase) -> RUColor,
    pub set_pixel_color: extern "C" fn(self_c: *const RUBase, x: i32, y: i32, c: *const RUBase),
    pub set_pixel_color_2:
        extern "C" fn(self_c: *const RUBase, pt: *const RUBase, c: *const RUBase),
    pub device_pixel_ratio: extern "C" fn(self_c: *const RUBase) -> f32,
    pub set_device_pixel_ratio: extern "C" fn(self_c: *const RUBase, scale_factor: f32),
    pub fill: extern "C" fn(self_c: *const RUBase, pixel: u32),
    pub fill_2: extern "C" fn(self_c: *const RUBase, color: *const RUBase),
    pub fill_3: extern "C" fn(self_c: *const RUBase, color: i32),
    pub has_alpha_channel: extern "C" fn(self_c: *const RUBase) -> bool,
    pub set_alpha_channel: extern "C" fn(self_c: *const RUBase, alpha_channel: *const RUBase),
    pub alpha_channel: extern "C" fn(self_c: *const RUBase) -> RUImage,
    pub create_alpha_mask: extern "C" fn(self_c: *const RUBase, flags: i32) -> RUImage,
    pub create_heuristic_mask: extern "C" fn(self_c: *const RUBase, clip_tight: bool) -> RUImage,
    pub scaled: extern "C" fn(self_c: *const RUBase, w: i32, h: i32, aspect_mode: i32, mode: i32)
        -> RUImage,
    pub scaled_2:
        extern "C" fn(self_c: *const RUBase, s: *const RUBase, aspect_mode: i32, mode: i32)
            -> RUImage,
    pub scaled_to_width: extern "C" fn(self_c: *const RUBase, w: i32, mode: i32) -> RUImage,
    pub scaled_to_height: extern "C" fn(self_c: *const RUBase, h: i32, mode: i32) -> RUImage,
    pub mirrored:
        extern "C" fn(self_c: *const RUBase, horizontally: bool, vertically: bool) -> RUImage,
    pub mirrored_2:
        extern "C" fn(self_c: *const RUBase, horizontally: bool, vertically: bool) -> RUImage,
    pub rgb_swapped: extern "C" fn(self_c: *const RUBase) -> RUImage,
    pub rgb_swapped_2: extern "C" fn(self_c: *const RUBase) -> RUImage,
    pub invert_pixels: extern "C" fn(self_c: *const RUBase, arg0: i32),
    pub cache_key: extern "C" fn(self_c: *const RUBase) -> i64,
    pub paint_engine: extern "C" fn(self_c: *const RUBase) -> RUPaintEngine,
    pub dots_per_meter_x: extern "C" fn(self_c: *const RUBase) -> i32,
    pub dots_per_meter_y: extern "C" fn(self_c: *const RUBase) -> i32,
    pub set_dots_per_meter_x: extern "C" fn(self_c: *const RUBase, arg0: i32),
    pub set_dots_per_meter_y: extern "C" fn(self_c: *const RUBase, arg0: i32),
    pub offset: extern "C" fn(self_c: *const RUBase) -> RUPoint,
    pub set_offset: extern "C" fn(self_c: *const RUBase, arg0: *const RUBase),
    pub text: extern "C" fn(self_c: *const RUBase, key: *const ::std::os::raw::c_char)
        -> *const ::std::os::raw::c_char,
    pub set_text: extern "C" fn(
        self_c: *const RUBase,
        key: *const ::std::os::raw::c_char,
        value: *const ::std::os::raw::c_char,
    ),
    pub pixel_format: extern "C" fn(self_c: *const RUBase) -> RUPixelFormat,
    pub to_pixel_format: extern "C" fn(self_c: *const RUBase, format: i32) -> RUPixelFormat,
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct RUImageAllFuncs {
    pub paint_device_funcs: *const RUPaintDeviceFuncs,
    pub image_funcs: *const RUImageFuncs,
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct RUImage {
    pub qt_data: *const RUBase,
    pub host_data: *const RUBase,
    pub all_funcs: *const RUImageAllFuncs,
}