1#![allow(non_upper_case_globals)]
2#![allow(non_camel_case_types)]
3#![allow(non_snake_case)]
4
5pub const PIXMAN_MAX_INDEXED: u32 = 256;
6
7pub const PIXMAN_TYPE_OTHER: u32 = 0;
8pub const PIXMAN_TYPE_A: u32 = 1;
9pub const PIXMAN_TYPE_ARGB: u32 = 2;
10pub const PIXMAN_TYPE_ABGR: u32 = 3;
11pub const PIXMAN_TYPE_COLOR: u32 = 4;
12pub const PIXMAN_TYPE_GRAY: u32 = 5;
13pub const PIXMAN_TYPE_YUY2: u32 = 6;
14pub const PIXMAN_TYPE_YV12: u32 = 7;
15pub const PIXMAN_TYPE_BGRA: u32 = 8;
16pub const PIXMAN_TYPE_RGBA: u32 = 9;
17pub const PIXMAN_TYPE_ARGB_SRGB: u32 = 10;
18pub const PIXMAN_TYPE_RGBA_FLOAT: u32 = 11;
19
20pub const pixman_repeat_t_PIXMAN_REPEAT_NONE: pixman_repeat_t = 0;
21pub const pixman_repeat_t_PIXMAN_REPEAT_NORMAL: pixman_repeat_t = 1;
22pub const pixman_repeat_t_PIXMAN_REPEAT_PAD: pixman_repeat_t = 2;
23pub const pixman_repeat_t_PIXMAN_REPEAT_REFLECT: pixman_repeat_t = 3;
24
25pub const pixman_dither_t_PIXMAN_DITHER_NONE: pixman_dither_t = 0;
26pub const pixman_dither_t_PIXMAN_DITHER_FAST: pixman_dither_t = 1;
27pub const pixman_dither_t_PIXMAN_DITHER_GOOD: pixman_dither_t = 2;
28pub const pixman_dither_t_PIXMAN_DITHER_BEST: pixman_dither_t = 3;
29pub const pixman_dither_t_PIXMAN_DITHER_ORDERED_BAYER_8: pixman_dither_t = 4;
30pub const pixman_dither_t_PIXMAN_DITHER_ORDERED_BLUE_NOISE_64: pixman_dither_t = 5;
31
32pub const pixman_filter_t_PIXMAN_FILTER_FAST: pixman_filter_t = 0;
33pub const pixman_filter_t_PIXMAN_FILTER_GOOD: pixman_filter_t = 1;
34pub const pixman_filter_t_PIXMAN_FILTER_BEST: pixman_filter_t = 2;
35pub const pixman_filter_t_PIXMAN_FILTER_NEAREST: pixman_filter_t = 3;
36pub const pixman_filter_t_PIXMAN_FILTER_BILINEAR: pixman_filter_t = 4;
37pub const pixman_filter_t_PIXMAN_FILTER_CONVOLUTION: pixman_filter_t = 5;
38pub const pixman_filter_t_PIXMAN_FILTER_SEPARABLE_CONVOLUTION: pixman_filter_t = 6;
39
40pub const pixman_op_t_PIXMAN_OP_CLEAR: pixman_op_t = 0;
41pub const pixman_op_t_PIXMAN_OP_SRC: pixman_op_t = 1;
42pub const pixman_op_t_PIXMAN_OP_DST: pixman_op_t = 2;
43pub const pixman_op_t_PIXMAN_OP_OVER: pixman_op_t = 3;
44pub const pixman_op_t_PIXMAN_OP_OVER_REVERSE: pixman_op_t = 4;
45pub const pixman_op_t_PIXMAN_OP_IN: pixman_op_t = 5;
46pub const pixman_op_t_PIXMAN_OP_IN_REVERSE: pixman_op_t = 6;
47pub const pixman_op_t_PIXMAN_OP_OUT: pixman_op_t = 7;
48pub const pixman_op_t_PIXMAN_OP_OUT_REVERSE: pixman_op_t = 8;
49pub const pixman_op_t_PIXMAN_OP_ATOP: pixman_op_t = 9;
50pub const pixman_op_t_PIXMAN_OP_ATOP_REVERSE: pixman_op_t = 10;
51pub const pixman_op_t_PIXMAN_OP_XOR: pixman_op_t = 11;
52pub const pixman_op_t_PIXMAN_OP_ADD: pixman_op_t = 12;
53pub const pixman_op_t_PIXMAN_OP_SATURATE: pixman_op_t = 13;
54pub const pixman_op_t_PIXMAN_OP_DISJOINT_CLEAR: pixman_op_t = 16;
55pub const pixman_op_t_PIXMAN_OP_DISJOINT_SRC: pixman_op_t = 17;
56pub const pixman_op_t_PIXMAN_OP_DISJOINT_DST: pixman_op_t = 18;
57pub const pixman_op_t_PIXMAN_OP_DISJOINT_OVER: pixman_op_t = 19;
58pub const pixman_op_t_PIXMAN_OP_DISJOINT_OVER_REVERSE: pixman_op_t = 20;
59pub const pixman_op_t_PIXMAN_OP_DISJOINT_IN: pixman_op_t = 21;
60pub const pixman_op_t_PIXMAN_OP_DISJOINT_IN_REVERSE: pixman_op_t = 22;
61pub const pixman_op_t_PIXMAN_OP_DISJOINT_OUT: pixman_op_t = 23;
62pub const pixman_op_t_PIXMAN_OP_DISJOINT_OUT_REVERSE: pixman_op_t = 24;
63pub const pixman_op_t_PIXMAN_OP_DISJOINT_ATOP: pixman_op_t = 25;
64pub const pixman_op_t_PIXMAN_OP_DISJOINT_ATOP_REVERSE: pixman_op_t = 26;
65pub const pixman_op_t_PIXMAN_OP_DISJOINT_XOR: pixman_op_t = 27;
66pub const pixman_op_t_PIXMAN_OP_CONJOINT_CLEAR: pixman_op_t = 32;
67pub const pixman_op_t_PIXMAN_OP_CONJOINT_SRC: pixman_op_t = 33;
68pub const pixman_op_t_PIXMAN_OP_CONJOINT_DST: pixman_op_t = 34;
69pub const pixman_op_t_PIXMAN_OP_CONJOINT_OVER: pixman_op_t = 35;
70pub const pixman_op_t_PIXMAN_OP_CONJOINT_OVER_REVERSE: pixman_op_t = 36;
71pub const pixman_op_t_PIXMAN_OP_CONJOINT_IN: pixman_op_t = 37;
72pub const pixman_op_t_PIXMAN_OP_CONJOINT_IN_REVERSE: pixman_op_t = 38;
73pub const pixman_op_t_PIXMAN_OP_CONJOINT_OUT: pixman_op_t = 39;
74pub const pixman_op_t_PIXMAN_OP_CONJOINT_OUT_REVERSE: pixman_op_t = 40;
75pub const pixman_op_t_PIXMAN_OP_CONJOINT_ATOP: pixman_op_t = 41;
76pub const pixman_op_t_PIXMAN_OP_CONJOINT_ATOP_REVERSE: pixman_op_t = 42;
77pub const pixman_op_t_PIXMAN_OP_CONJOINT_XOR: pixman_op_t = 43;
78pub const pixman_op_t_PIXMAN_OP_MULTIPLY: pixman_op_t = 48;
79pub const pixman_op_t_PIXMAN_OP_SCREEN: pixman_op_t = 49;
80pub const pixman_op_t_PIXMAN_OP_OVERLAY: pixman_op_t = 50;
81pub const pixman_op_t_PIXMAN_OP_DARKEN: pixman_op_t = 51;
82pub const pixman_op_t_PIXMAN_OP_LIGHTEN: pixman_op_t = 52;
83pub const pixman_op_t_PIXMAN_OP_COLOR_DODGE: pixman_op_t = 53;
84pub const pixman_op_t_PIXMAN_OP_COLOR_BURN: pixman_op_t = 54;
85pub const pixman_op_t_PIXMAN_OP_HARD_LIGHT: pixman_op_t = 55;
86pub const pixman_op_t_PIXMAN_OP_SOFT_LIGHT: pixman_op_t = 56;
87pub const pixman_op_t_PIXMAN_OP_DIFFERENCE: pixman_op_t = 57;
88pub const pixman_op_t_PIXMAN_OP_EXCLUSION: pixman_op_t = 58;
89pub const pixman_op_t_PIXMAN_OP_HSL_HUE: pixman_op_t = 59;
90pub const pixman_op_t_PIXMAN_OP_HSL_SATURATION: pixman_op_t = 60;
91pub const pixman_op_t_PIXMAN_OP_HSL_COLOR: pixman_op_t = 61;
92pub const pixman_op_t_PIXMAN_OP_HSL_LUMINOSITY: pixman_op_t = 62;
93
94pub const pixman_region_overlap_t_PIXMAN_REGION_OUT: pixman_region_overlap_t = 0;
95pub const pixman_region_overlap_t_PIXMAN_REGION_IN: pixman_region_overlap_t = 1;
96pub const pixman_region_overlap_t_PIXMAN_REGION_PART: pixman_region_overlap_t = 2;
97
98pub const pixman_format_code_t_PIXMAN_rgba_float: pixman_format_code_t = 281756740;
99pub const pixman_format_code_t_PIXMAN_rgb_float: pixman_format_code_t = 214631492;
100pub const pixman_format_code_t_PIXMAN_a8r8g8b8: pixman_format_code_t = 537036936;
101pub const pixman_format_code_t_PIXMAN_x8r8g8b8: pixman_format_code_t = 537004168;
102pub const pixman_format_code_t_PIXMAN_a8b8g8r8: pixman_format_code_t = 537102472;
103pub const pixman_format_code_t_PIXMAN_x8b8g8r8: pixman_format_code_t = 537069704;
104pub const pixman_format_code_t_PIXMAN_b8g8r8a8: pixman_format_code_t = 537430152;
105pub const pixman_format_code_t_PIXMAN_b8g8r8x8: pixman_format_code_t = 537397384;
106pub const pixman_format_code_t_PIXMAN_r8g8b8a8: pixman_format_code_t = 537495688;
107pub const pixman_format_code_t_PIXMAN_r8g8b8x8: pixman_format_code_t = 537462920;
108pub const pixman_format_code_t_PIXMAN_x14r6g6b6: pixman_format_code_t = 537003622;
109pub const pixman_format_code_t_PIXMAN_x2r10g10b10: pixman_format_code_t = 537004714;
110pub const pixman_format_code_t_PIXMAN_a2r10g10b10: pixman_format_code_t = 537012906;
111pub const pixman_format_code_t_PIXMAN_x2b10g10r10: pixman_format_code_t = 537070250;
112pub const pixman_format_code_t_PIXMAN_a2b10g10r10: pixman_format_code_t = 537078442;
113pub const pixman_format_code_t_PIXMAN_a8r8g8b8_sRGB: pixman_format_code_t = 537561224;
114pub const pixman_format_code_t_PIXMAN_r8g8b8: pixman_format_code_t = 402786440;
115pub const pixman_format_code_t_PIXMAN_b8g8r8: pixman_format_code_t = 402851976;
116pub const pixman_format_code_t_PIXMAN_r5g6b5: pixman_format_code_t = 268567909;
117pub const pixman_format_code_t_PIXMAN_b5g6r5: pixman_format_code_t = 268633445;
118pub const pixman_format_code_t_PIXMAN_a1r5g5b5: pixman_format_code_t = 268571989;
119pub const pixman_format_code_t_PIXMAN_x1r5g5b5: pixman_format_code_t = 268567893;
120pub const pixman_format_code_t_PIXMAN_a1b5g5r5: pixman_format_code_t = 268637525;
121pub const pixman_format_code_t_PIXMAN_x1b5g5r5: pixman_format_code_t = 268633429;
122pub const pixman_format_code_t_PIXMAN_a4r4g4b4: pixman_format_code_t = 268584004;
123pub const pixman_format_code_t_PIXMAN_x4r4g4b4: pixman_format_code_t = 268567620;
124pub const pixman_format_code_t_PIXMAN_a4b4g4r4: pixman_format_code_t = 268649540;
125pub const pixman_format_code_t_PIXMAN_x4b4g4r4: pixman_format_code_t = 268633156;
126pub const pixman_format_code_t_PIXMAN_a8: pixman_format_code_t = 134316032;
127pub const pixman_format_code_t_PIXMAN_r3g3b2: pixman_format_code_t = 134349618;
128pub const pixman_format_code_t_PIXMAN_b2g3r3: pixman_format_code_t = 134415154;
129pub const pixman_format_code_t_PIXMAN_a2r2g2b2: pixman_format_code_t = 134357538;
130pub const pixman_format_code_t_PIXMAN_a2b2g2r2: pixman_format_code_t = 134423074;
131pub const pixman_format_code_t_PIXMAN_c8: pixman_format_code_t = 134479872;
132pub const pixman_format_code_t_PIXMAN_g8: pixman_format_code_t = 134545408;
133pub const pixman_format_code_t_PIXMAN_x4a4: pixman_format_code_t = 134299648;
134pub const pixman_format_code_t_PIXMAN_x4c4: pixman_format_code_t = 134479872;
135pub const pixman_format_code_t_PIXMAN_x4g4: pixman_format_code_t = 134545408;
136pub const pixman_format_code_t_PIXMAN_a4: pixman_format_code_t = 67190784;
137pub const pixman_format_code_t_PIXMAN_r1g2b1: pixman_format_code_t = 67240225;
138pub const pixman_format_code_t_PIXMAN_b1g2r1: pixman_format_code_t = 67305761;
139pub const pixman_format_code_t_PIXMAN_a1r1g1b1: pixman_format_code_t = 67244305;
140pub const pixman_format_code_t_PIXMAN_a1b1g1r1: pixman_format_code_t = 67309841;
141pub const pixman_format_code_t_PIXMAN_c4: pixman_format_code_t = 67371008;
142pub const pixman_format_code_t_PIXMAN_g4: pixman_format_code_t = 67436544;
143pub const pixman_format_code_t_PIXMAN_a1: pixman_format_code_t = 16846848;
144pub const pixman_format_code_t_PIXMAN_g1: pixman_format_code_t = 17104896;
145pub const pixman_format_code_t_PIXMAN_yuy2: pixman_format_code_t = 268828672;
146pub const pixman_format_code_t_PIXMAN_yv12: pixman_format_code_t = 201785344;
147
148pub const pixman_kernel_t_PIXMAN_KERNEL_IMPULSE: pixman_kernel_t = 0;
149pub const pixman_kernel_t_PIXMAN_KERNEL_BOX: pixman_kernel_t = 1;
150pub const pixman_kernel_t_PIXMAN_KERNEL_LINEAR: pixman_kernel_t = 2;
151pub const pixman_kernel_t_PIXMAN_KERNEL_CUBIC: pixman_kernel_t = 3;
152pub const pixman_kernel_t_PIXMAN_KERNEL_GAUSSIAN: pixman_kernel_t = 4;
153pub const pixman_kernel_t_PIXMAN_KERNEL_LANCZOS2: pixman_kernel_t = 5;
154pub const pixman_kernel_t_PIXMAN_KERNEL_LANCZOS3: pixman_kernel_t = 6;
155pub const pixman_kernel_t_PIXMAN_KERNEL_LANCZOS3_STRETCHED: pixman_kernel_t = 7;
156
157pub type pixman_bool_t = ::std::os::raw::c_int;
158pub type pixman_fixed_32_32_t = i64;
159pub type pixman_fixed_48_16_t = pixman_fixed_32_32_t;
160pub type pixman_fixed_1_31_t = u32;
161pub type pixman_fixed_1_16_t = u32;
162pub type pixman_fixed_16_16_t = i32;
163pub type pixman_fixed_t = pixman_fixed_16_16_t;
164pub type pixman_color_t = pixman_color;
165pub type pixman_point_fixed_t = pixman_point_fixed;
166pub type pixman_line_fixed_t = pixman_line_fixed;
167pub type pixman_vector_t = pixman_vector;
168pub type pixman_transform_t = pixman_transform;
169pub type pixman_image_t = pixman_image;
170pub type pixman_f_transform_t = pixman_f_transform;
171pub type pixman_f_vector_t = pixman_f_vector;
172pub type pixman_repeat_t = ::std::os::raw::c_uint;
173pub type pixman_dither_t = ::std::os::raw::c_uint;
174pub type pixman_filter_t = ::std::os::raw::c_uint;
175pub type pixman_op_t = ::std::os::raw::c_uint;
176pub type pixman_region16_data_t = pixman_region16_data;
177pub type pixman_box16_t = pixman_box16;
178pub type pixman_rectangle16_t = pixman_rectangle16;
179pub type pixman_region16_t = pixman_region16;
180pub type pixman_region_overlap_t = ::std::os::raw::c_uint;
181pub type pixman_region32_data_t = pixman_region32_data;
182pub type pixman_box32_t = pixman_box32;
183pub type pixman_rectangle32_t = pixman_rectangle32;
184pub type pixman_region32_t = pixman_region32;
185pub type pixman_indexed_t = pixman_indexed;
186pub type pixman_gradient_stop_t = pixman_gradient_stop;
187pub type pixman_index_type = u8;
188pub type pixman_format_code_t = ::std::os::raw::c_uint;
189pub type pixman_kernel_t = ::std::os::raw::c_uint;
190pub type pixman_edge_t = pixman_edge;
191pub type pixman_trapezoid_t = pixman_trapezoid;
192pub type pixman_trap_t = pixman_trap;
193pub type pixman_span_fix_t = pixman_span_fix;
194pub type pixman_triangle_t = pixman_triangle;
195
196pub type pixman_read_memory_func_t = ::std::option::Option<
197 unsafe extern "C" fn(src: *const ::std::os::raw::c_void, size: ::std::os::raw::c_int) -> u32,
198>;
199pub type pixman_write_memory_func_t = ::std::option::Option<
200 unsafe extern "C" fn(dst: *mut ::std::os::raw::c_void, value: u32, size: ::std::os::raw::c_int),
201>;
202pub type pixman_image_destroy_func_t = ::std::option::Option<
203 unsafe extern "C" fn(image: *mut pixman_image_t, data: *mut ::std::os::raw::c_void),
204>;
205
206#[repr(C)]
207#[derive(Debug, Copy, Clone)]
208pub struct pixman_color {
209 pub red: u16,
210 pub green: u16,
211 pub blue: u16,
212 pub alpha: u16,
213}
214
215#[repr(C)]
216#[derive(Debug, Copy, Clone)]
217pub struct pixman_point_fixed {
218 pub x: pixman_fixed_t,
219 pub y: pixman_fixed_t,
220}
221
222#[repr(C)]
223#[derive(Debug, Copy, Clone)]
224pub struct pixman_line_fixed {
225 pub p1: pixman_point_fixed_t,
226 pub p2: pixman_point_fixed_t,
227}
228
229#[repr(C)]
230#[derive(Debug, Copy, Clone)]
231pub struct pixman_vector {
232 pub vector: [pixman_fixed_t; 3usize],
233}
234
235#[repr(C)]
236#[derive(Debug, Copy, Clone)]
237pub struct pixman_transform {
238 pub matrix: [[pixman_fixed_t; 3usize]; 3usize],
239}
240
241#[repr(C)]
242#[derive(Copy, Clone)]
243pub struct pixman_image {
244 _unused: [u8; 0],
245}
246
247#[repr(C)]
248#[derive(Debug, Copy, Clone)]
249pub struct pixman_f_vector {
250 pub v: [f64; 3usize],
251}
252
253#[repr(C)]
254#[derive(Debug, Copy, Clone)]
255pub struct pixman_f_transform {
256 pub m: [[f64; 3usize]; 3usize],
257}
258
259#[repr(C)]
260#[derive(Debug, Copy, Clone)]
261pub struct pixman_region16_data {
262 pub size: ::std::os::raw::c_long,
263 pub numRects: ::std::os::raw::c_long,
264}
265
266#[repr(C)]
267#[derive(Debug, Copy, Clone)]
268pub struct pixman_rectangle16 {
269 pub x: i16,
270 pub y: i16,
271 pub width: u16,
272 pub height: u16,
273}
274
275#[repr(C)]
276#[derive(Debug, Copy, Clone)]
277pub struct pixman_box16 {
278 pub x1: i16,
279 pub y1: i16,
280 pub x2: i16,
281 pub y2: i16,
282}
283
284#[repr(C)]
285#[derive(Debug, Copy, Clone)]
286pub struct pixman_region16 {
287 pub extents: pixman_box16_t,
288 pub data: *mut pixman_region16_data_t,
289}
290
291#[repr(C)]
292#[derive(Debug, Copy, Clone)]
293pub struct pixman_region32_data {
294 pub size: ::std::os::raw::c_long,
295 pub numRects: ::std::os::raw::c_long,
296}
297
298#[repr(C)]
299#[derive(Debug, Copy, Clone)]
300pub struct pixman_rectangle32 {
301 pub x: i32,
302 pub y: i32,
303 pub width: u32,
304 pub height: u32,
305}
306
307#[repr(C)]
308#[derive(Debug, Copy, Clone)]
309pub struct pixman_box32 {
310 pub x1: i32,
311 pub y1: i32,
312 pub x2: i32,
313 pub y2: i32,
314}
315
316#[repr(C)]
317#[derive(Debug, Copy, Clone)]
318pub struct pixman_region32 {
319 pub extents: pixman_box32_t,
320 pub data: *mut pixman_region32_data_t,
321}
322
323#[repr(C)]
324#[derive(Debug, Copy, Clone)]
325pub struct pixman_gradient_stop {
326 pub x: pixman_fixed_t,
327 pub color: pixman_color_t,
328}
329
330#[repr(C)]
331#[derive(Debug, Copy, Clone)]
332pub struct pixman_indexed {
333 pub color: pixman_bool_t,
334 pub rgba: [u32; 256usize],
335 pub ent: [pixman_index_type; 32768usize],
336}
337
338#[repr(C)]
339#[derive(Debug, Copy, Clone)]
340pub struct pixman_glyph_cache_t {
341 _unused: [u8; 0],
342}
343#[repr(C)]
344#[derive(Debug, Copy, Clone)]
345pub struct pixman_glyph_t {
346 pub x: ::std::os::raw::c_int,
347 pub y: ::std::os::raw::c_int,
348 pub glyph: *const ::std::os::raw::c_void,
349}
350
351#[repr(C)]
352#[derive(Debug, Copy, Clone)]
353pub struct pixman_edge {
354 pub x: pixman_fixed_t,
355 pub e: pixman_fixed_t,
356 pub stepx: pixman_fixed_t,
357 pub signdx: pixman_fixed_t,
358 pub dy: pixman_fixed_t,
359 pub dx: pixman_fixed_t,
360 pub stepx_small: pixman_fixed_t,
361 pub stepx_big: pixman_fixed_t,
362 pub dx_small: pixman_fixed_t,
363 pub dx_big: pixman_fixed_t,
364}
365
366#[repr(C)]
367#[derive(Debug, Copy, Clone)]
368pub struct pixman_trapezoid {
369 pub top: pixman_fixed_t,
370 pub bottom: pixman_fixed_t,
371 pub left: pixman_line_fixed_t,
372 pub right: pixman_line_fixed_t,
373}
374
375#[repr(C)]
376#[derive(Debug, Copy, Clone)]
377pub struct pixman_triangle {
378 pub p1: pixman_point_fixed_t,
379 pub p2: pixman_point_fixed_t,
380 pub p3: pixman_point_fixed_t,
381}
382
383#[repr(C)]
384#[derive(Debug, Copy, Clone)]
385pub struct pixman_span_fix {
386 pub l: pixman_fixed_t,
387 pub r: pixman_fixed_t,
388 pub y: pixman_fixed_t,
389}
390
391#[repr(C)]
392#[derive(Debug, Copy, Clone)]
393pub struct pixman_trap {
394 pub top: pixman_span_fix_t,
395 pub bot: pixman_span_fix_t,
396}
397
398extern "C" {
399 pub fn pixman_transform_init_identity(matrix: *mut pixman_transform);
400}
401extern "C" {
402 pub fn pixman_transform_point_3d(
403 transform: *const pixman_transform,
404 vector: *mut pixman_vector,
405 ) -> pixman_bool_t;
406}
407extern "C" {
408 pub fn pixman_transform_point(
409 transform: *const pixman_transform,
410 vector: *mut pixman_vector,
411 ) -> pixman_bool_t;
412}
413extern "C" {
414 pub fn pixman_transform_multiply(
415 dst: *mut pixman_transform,
416 l: *const pixman_transform,
417 r: *const pixman_transform,
418 ) -> pixman_bool_t;
419}
420extern "C" {
421 pub fn pixman_transform_init_scale(
422 t: *mut pixman_transform,
423 sx: pixman_fixed_t,
424 sy: pixman_fixed_t,
425 );
426}
427extern "C" {
428 pub fn pixman_transform_scale(
429 forward: *mut pixman_transform,
430 reverse: *mut pixman_transform,
431 sx: pixman_fixed_t,
432 sy: pixman_fixed_t,
433 ) -> pixman_bool_t;
434}
435extern "C" {
436 pub fn pixman_transform_init_rotate(
437 t: *mut pixman_transform,
438 cos: pixman_fixed_t,
439 sin: pixman_fixed_t,
440 );
441}
442extern "C" {
443 pub fn pixman_transform_rotate(
444 forward: *mut pixman_transform,
445 reverse: *mut pixman_transform,
446 c: pixman_fixed_t,
447 s: pixman_fixed_t,
448 ) -> pixman_bool_t;
449}
450extern "C" {
451 pub fn pixman_transform_init_translate(
452 t: *mut pixman_transform,
453 tx: pixman_fixed_t,
454 ty: pixman_fixed_t,
455 );
456}
457extern "C" {
458 pub fn pixman_transform_translate(
459 forward: *mut pixman_transform,
460 reverse: *mut pixman_transform,
461 tx: pixman_fixed_t,
462 ty: pixman_fixed_t,
463 ) -> pixman_bool_t;
464}
465extern "C" {
466 pub fn pixman_transform_bounds(
467 matrix: *const pixman_transform,
468 b: *mut pixman_box16,
469 ) -> pixman_bool_t;
470}
471extern "C" {
472 pub fn pixman_transform_invert(
473 dst: *mut pixman_transform,
474 src: *const pixman_transform,
475 ) -> pixman_bool_t;
476}
477extern "C" {
478 pub fn pixman_transform_is_identity(t: *const pixman_transform) -> pixman_bool_t;
479}
480extern "C" {
481 pub fn pixman_transform_is_scale(t: *const pixman_transform) -> pixman_bool_t;
482}
483extern "C" {
484 pub fn pixman_transform_is_int_translate(t: *const pixman_transform) -> pixman_bool_t;
485}
486extern "C" {
487 pub fn pixman_transform_is_inverse(
488 a: *const pixman_transform,
489 b: *const pixman_transform,
490 ) -> pixman_bool_t;
491}
492extern "C" {
493 pub fn pixman_transform_from_pixman_f_transform(
494 t: *mut pixman_transform,
495 ft: *const pixman_f_transform,
496 ) -> pixman_bool_t;
497}
498extern "C" {
499 pub fn pixman_f_transform_from_pixman_transform(
500 ft: *mut pixman_f_transform,
501 t: *const pixman_transform,
502 );
503}
504extern "C" {
505 pub fn pixman_f_transform_invert(
506 dst: *mut pixman_f_transform,
507 src: *const pixman_f_transform,
508 ) -> pixman_bool_t;
509}
510extern "C" {
511 pub fn pixman_f_transform_point(
512 t: *const pixman_f_transform,
513 v: *mut pixman_f_vector,
514 ) -> pixman_bool_t;
515}
516extern "C" {
517 pub fn pixman_f_transform_point_3d(t: *const pixman_f_transform, v: *mut pixman_f_vector);
518}
519extern "C" {
520 pub fn pixman_f_transform_multiply(
521 dst: *mut pixman_f_transform,
522 l: *const pixman_f_transform,
523 r: *const pixman_f_transform,
524 );
525}
526extern "C" {
527 pub fn pixman_f_transform_init_scale(t: *mut pixman_f_transform, sx: f64, sy: f64);
528}
529extern "C" {
530 pub fn pixman_f_transform_scale(
531 forward: *mut pixman_f_transform,
532 reverse: *mut pixman_f_transform,
533 sx: f64,
534 sy: f64,
535 ) -> pixman_bool_t;
536}
537extern "C" {
538 pub fn pixman_f_transform_init_rotate(t: *mut pixman_f_transform, cos: f64, sin: f64);
539}
540extern "C" {
541 pub fn pixman_f_transform_rotate(
542 forward: *mut pixman_f_transform,
543 reverse: *mut pixman_f_transform,
544 c: f64,
545 s: f64,
546 ) -> pixman_bool_t;
547}
548extern "C" {
549 pub fn pixman_f_transform_init_translate(t: *mut pixman_f_transform, tx: f64, ty: f64);
550}
551extern "C" {
552 pub fn pixman_f_transform_translate(
553 forward: *mut pixman_f_transform,
554 reverse: *mut pixman_f_transform,
555 tx: f64,
556 ty: f64,
557 ) -> pixman_bool_t;
558}
559extern "C" {
560 pub fn pixman_f_transform_bounds(
561 t: *const pixman_f_transform,
562 b: *mut pixman_box16,
563 ) -> pixman_bool_t;
564}
565extern "C" {
566 pub fn pixman_f_transform_init_identity(t: *mut pixman_f_transform);
567}
568extern "C" {
569 pub fn pixman_region_set_static_pointers(
570 empty_box: *mut pixman_box16_t,
571 empty_data: *mut pixman_region16_data_t,
572 broken_data: *mut pixman_region16_data_t,
573 );
574}
575extern "C" {
576 pub fn pixman_region_init(region: *mut pixman_region16_t);
577}
578extern "C" {
579 pub fn pixman_region_init_rect(
580 region: *mut pixman_region16_t,
581 x: ::std::os::raw::c_int,
582 y: ::std::os::raw::c_int,
583 width: ::std::os::raw::c_uint,
584 height: ::std::os::raw::c_uint,
585 );
586}
587extern "C" {
588 pub fn pixman_region_init_rects(
589 region: *mut pixman_region16_t,
590 boxes: *const pixman_box16_t,
591 count: ::std::os::raw::c_int,
592 ) -> pixman_bool_t;
593}
594extern "C" {
595 pub fn pixman_region_init_with_extents(
596 region: *mut pixman_region16_t,
597 extents: *const pixman_box16_t,
598 );
599}
600extern "C" {
601 pub fn pixman_region_init_from_image(
602 region: *mut pixman_region16_t,
603 image: *mut pixman_image_t,
604 );
605}
606extern "C" {
607 pub fn pixman_region_fini(region: *mut pixman_region16_t);
608}
609extern "C" {
610 pub fn pixman_region_translate(
611 region: *mut pixman_region16_t,
612 x: ::std::os::raw::c_int,
613 y: ::std::os::raw::c_int,
614 );
615}
616extern "C" {
617 pub fn pixman_region_copy(
618 dest: *mut pixman_region16_t,
619 source: *const pixman_region16_t,
620 ) -> pixman_bool_t;
621}
622extern "C" {
623 pub fn pixman_region_intersect(
624 new_reg: *mut pixman_region16_t,
625 reg1: *const pixman_region16_t,
626 reg2: *const pixman_region16_t,
627 ) -> pixman_bool_t;
628}
629extern "C" {
630 pub fn pixman_region_union(
631 new_reg: *mut pixman_region16_t,
632 reg1: *const pixman_region16_t,
633 reg2: *const pixman_region16_t,
634 ) -> pixman_bool_t;
635}
636extern "C" {
637 pub fn pixman_region_union_rect(
638 dest: *mut pixman_region16_t,
639 source: *const pixman_region16_t,
640 x: ::std::os::raw::c_int,
641 y: ::std::os::raw::c_int,
642 width: ::std::os::raw::c_uint,
643 height: ::std::os::raw::c_uint,
644 ) -> pixman_bool_t;
645}
646extern "C" {
647 pub fn pixman_region_intersect_rect(
648 dest: *mut pixman_region16_t,
649 source: *const pixman_region16_t,
650 x: ::std::os::raw::c_int,
651 y: ::std::os::raw::c_int,
652 width: ::std::os::raw::c_uint,
653 height: ::std::os::raw::c_uint,
654 ) -> pixman_bool_t;
655}
656extern "C" {
657 pub fn pixman_region_subtract(
658 reg_d: *mut pixman_region16_t,
659 reg_m: *const pixman_region16_t,
660 reg_s: *const pixman_region16_t,
661 ) -> pixman_bool_t;
662}
663extern "C" {
664 pub fn pixman_region_inverse(
665 new_reg: *mut pixman_region16_t,
666 reg1: *const pixman_region16_t,
667 inv_rect: *const pixman_box16_t,
668 ) -> pixman_bool_t;
669}
670extern "C" {
671 pub fn pixman_region_contains_point(
672 region: *const pixman_region16_t,
673 x: ::std::os::raw::c_int,
674 y: ::std::os::raw::c_int,
675 box_: *mut pixman_box16_t,
676 ) -> pixman_bool_t;
677}
678extern "C" {
679 pub fn pixman_region_contains_rectangle(
680 region: *const pixman_region16_t,
681 prect: *const pixman_box16_t,
682 ) -> pixman_region_overlap_t;
683}
684extern "C" {
685 pub fn pixman_region_not_empty(region: *const pixman_region16_t) -> pixman_bool_t;
686}
687extern "C" {
688 pub fn pixman_region_extents(region: *const pixman_region16_t) -> *mut pixman_box16_t;
689}
690extern "C" {
691 pub fn pixman_region_n_rects(region: *const pixman_region16_t) -> ::std::os::raw::c_int;
692}
693extern "C" {
694 pub fn pixman_region_rectangles(
695 region: *const pixman_region16_t,
696 n_rects: *mut ::std::os::raw::c_int,
697 ) -> *mut pixman_box16_t;
698}
699extern "C" {
700 pub fn pixman_region_equal(
701 region1: *const pixman_region16_t,
702 region2: *const pixman_region16_t,
703 ) -> pixman_bool_t;
704}
705extern "C" {
706 pub fn pixman_region_selfcheck(region: *mut pixman_region16_t) -> pixman_bool_t;
707}
708extern "C" {
709 pub fn pixman_region_reset(region: *mut pixman_region16_t, box_: *const pixman_box16_t);
710}
711extern "C" {
712 pub fn pixman_region_clear(region: *mut pixman_region16_t);
713}
714extern "C" {
715 pub fn pixman_region32_init(region: *mut pixman_region32_t);
716}
717extern "C" {
718 pub fn pixman_region32_init_rect(
719 region: *mut pixman_region32_t,
720 x: ::std::os::raw::c_int,
721 y: ::std::os::raw::c_int,
722 width: ::std::os::raw::c_uint,
723 height: ::std::os::raw::c_uint,
724 );
725}
726extern "C" {
727 pub fn pixman_region32_init_rects(
728 region: *mut pixman_region32_t,
729 boxes: *const pixman_box32_t,
730 count: ::std::os::raw::c_int,
731 ) -> pixman_bool_t;
732}
733extern "C" {
734 pub fn pixman_region32_init_with_extents(
735 region: *mut pixman_region32_t,
736 extents: *const pixman_box32_t,
737 );
738}
739extern "C" {
740 pub fn pixman_region32_init_from_image(
741 region: *mut pixman_region32_t,
742 image: *mut pixman_image_t,
743 );
744}
745extern "C" {
746 pub fn pixman_region32_fini(region: *mut pixman_region32_t);
747}
748extern "C" {
749 pub fn pixman_region32_translate(
750 region: *mut pixman_region32_t,
751 x: ::std::os::raw::c_int,
752 y: ::std::os::raw::c_int,
753 );
754}
755extern "C" {
756 pub fn pixman_region32_copy(
757 dest: *mut pixman_region32_t,
758 source: *const pixman_region32_t,
759 ) -> pixman_bool_t;
760}
761extern "C" {
762 pub fn pixman_region32_intersect(
763 new_reg: *mut pixman_region32_t,
764 reg1: *const pixman_region32_t,
765 reg2: *const pixman_region32_t,
766 ) -> pixman_bool_t;
767}
768extern "C" {
769 pub fn pixman_region32_union(
770 new_reg: *mut pixman_region32_t,
771 reg1: *const pixman_region32_t,
772 reg2: *const pixman_region32_t,
773 ) -> pixman_bool_t;
774}
775extern "C" {
776 pub fn pixman_region32_intersect_rect(
777 dest: *mut pixman_region32_t,
778 source: *const pixman_region32_t,
779 x: ::std::os::raw::c_int,
780 y: ::std::os::raw::c_int,
781 width: ::std::os::raw::c_uint,
782 height: ::std::os::raw::c_uint,
783 ) -> pixman_bool_t;
784}
785extern "C" {
786 pub fn pixman_region32_union_rect(
787 dest: *mut pixman_region32_t,
788 source: *const pixman_region32_t,
789 x: ::std::os::raw::c_int,
790 y: ::std::os::raw::c_int,
791 width: ::std::os::raw::c_uint,
792 height: ::std::os::raw::c_uint,
793 ) -> pixman_bool_t;
794}
795extern "C" {
796 pub fn pixman_region32_subtract(
797 reg_d: *mut pixman_region32_t,
798 reg_m: *const pixman_region32_t,
799 reg_s: *const pixman_region32_t,
800 ) -> pixman_bool_t;
801}
802extern "C" {
803 pub fn pixman_region32_inverse(
804 new_reg: *mut pixman_region32_t,
805 reg1: *const pixman_region32_t,
806 inv_rect: *const pixman_box32_t,
807 ) -> pixman_bool_t;
808}
809extern "C" {
810 pub fn pixman_region32_contains_point(
811 region: *const pixman_region32_t,
812 x: ::std::os::raw::c_int,
813 y: ::std::os::raw::c_int,
814 box_: *mut pixman_box32_t,
815 ) -> pixman_bool_t;
816}
817extern "C" {
818 pub fn pixman_region32_contains_rectangle(
819 region: *const pixman_region32_t,
820 prect: *const pixman_box32_t,
821 ) -> pixman_region_overlap_t;
822}
823extern "C" {
824 pub fn pixman_region32_not_empty(region: *const pixman_region32_t) -> pixman_bool_t;
825}
826extern "C" {
827 pub fn pixman_region32_extents(region: *const pixman_region32_t) -> *mut pixman_box32_t;
828}
829extern "C" {
830 pub fn pixman_region32_n_rects(region: *const pixman_region32_t) -> ::std::os::raw::c_int;
831}
832extern "C" {
833 pub fn pixman_region32_rectangles(
834 region: *const pixman_region32_t,
835 n_rects: *mut ::std::os::raw::c_int,
836 ) -> *mut pixman_box32_t;
837}
838extern "C" {
839 pub fn pixman_region32_equal(
840 region1: *const pixman_region32_t,
841 region2: *const pixman_region32_t,
842 ) -> pixman_bool_t;
843}
844extern "C" {
845 pub fn pixman_region32_selfcheck(region: *mut pixman_region32_t) -> pixman_bool_t;
846}
847extern "C" {
848 pub fn pixman_region32_reset(region: *mut pixman_region32_t, box_: *const pixman_box32_t);
849}
850extern "C" {
851 pub fn pixman_region32_clear(region: *mut pixman_region32_t);
852}
853extern "C" {
854 pub fn pixman_blt(
855 src_bits: *mut u32,
856 dst_bits: *mut u32,
857 src_stride: ::std::os::raw::c_int,
858 dst_stride: ::std::os::raw::c_int,
859 src_bpp: ::std::os::raw::c_int,
860 dst_bpp: ::std::os::raw::c_int,
861 src_x: ::std::os::raw::c_int,
862 src_y: ::std::os::raw::c_int,
863 dest_x: ::std::os::raw::c_int,
864 dest_y: ::std::os::raw::c_int,
865 width: ::std::os::raw::c_int,
866 height: ::std::os::raw::c_int,
867 ) -> pixman_bool_t;
868}
869extern "C" {
870 pub fn pixman_fill(
871 bits: *mut u32,
872 stride: ::std::os::raw::c_int,
873 bpp: ::std::os::raw::c_int,
874 x: ::std::os::raw::c_int,
875 y: ::std::os::raw::c_int,
876 width: ::std::os::raw::c_int,
877 height: ::std::os::raw::c_int,
878 _xor: u32,
879 ) -> pixman_bool_t;
880}
881extern "C" {
882 pub fn pixman_version() -> ::std::os::raw::c_int;
883}
884extern "C" {
885 pub fn pixman_version_string() -> *const ::std::os::raw::c_char;
886}
887extern "C" {
888 pub fn pixman_format_supported_destination(format: pixman_format_code_t) -> pixman_bool_t;
889}
890extern "C" {
891 pub fn pixman_format_supported_source(format: pixman_format_code_t) -> pixman_bool_t;
892}
893extern "C" {
894 pub fn pixman_image_create_solid_fill(color: *const pixman_color_t) -> *mut pixman_image_t;
895}
896extern "C" {
897 pub fn pixman_image_create_linear_gradient(
898 p1: *const pixman_point_fixed_t,
899 p2: *const pixman_point_fixed_t,
900 stops: *const pixman_gradient_stop_t,
901 n_stops: ::std::os::raw::c_int,
902 ) -> *mut pixman_image_t;
903}
904extern "C" {
905 pub fn pixman_image_create_radial_gradient(
906 inner: *const pixman_point_fixed_t,
907 outer: *const pixman_point_fixed_t,
908 inner_radius: pixman_fixed_t,
909 outer_radius: pixman_fixed_t,
910 stops: *const pixman_gradient_stop_t,
911 n_stops: ::std::os::raw::c_int,
912 ) -> *mut pixman_image_t;
913}
914extern "C" {
915 pub fn pixman_image_create_conical_gradient(
916 center: *const pixman_point_fixed_t,
917 angle: pixman_fixed_t,
918 stops: *const pixman_gradient_stop_t,
919 n_stops: ::std::os::raw::c_int,
920 ) -> *mut pixman_image_t;
921}
922extern "C" {
923 pub fn pixman_image_create_bits(
924 format: pixman_format_code_t,
925 width: ::std::os::raw::c_int,
926 height: ::std::os::raw::c_int,
927 bits: *mut u32,
928 rowstride_bytes: ::std::os::raw::c_int,
929 ) -> *mut pixman_image_t;
930}
931extern "C" {
932 pub fn pixman_image_create_bits_no_clear(
933 format: pixman_format_code_t,
934 width: ::std::os::raw::c_int,
935 height: ::std::os::raw::c_int,
936 bits: *mut u32,
937 rowstride_bytes: ::std::os::raw::c_int,
938 ) -> *mut pixman_image_t;
939}
940extern "C" {
941 pub fn pixman_image_ref(image: *mut pixman_image_t) -> *mut pixman_image_t;
942}
943extern "C" {
944 pub fn pixman_image_unref(image: *mut pixman_image_t) -> pixman_bool_t;
945}
946extern "C" {
947 pub fn pixman_image_set_destroy_function(
948 image: *mut pixman_image_t,
949 function: pixman_image_destroy_func_t,
950 data: *mut ::std::os::raw::c_void,
951 );
952}
953extern "C" {
954 pub fn pixman_image_get_destroy_data(image: *mut pixman_image_t)
955 -> *mut ::std::os::raw::c_void;
956}
957extern "C" {
958 pub fn pixman_image_set_clip_region(
959 image: *mut pixman_image_t,
960 region: *const pixman_region16_t,
961 ) -> pixman_bool_t;
962}
963extern "C" {
964 pub fn pixman_image_set_clip_region32(
965 image: *mut pixman_image_t,
966 region: *const pixman_region32_t,
967 ) -> pixman_bool_t;
968}
969extern "C" {
970 pub fn pixman_image_set_has_client_clip(image: *mut pixman_image_t, clien_clip: pixman_bool_t);
971}
972extern "C" {
973 pub fn pixman_image_set_transform(
974 image: *mut pixman_image_t,
975 transform: *const pixman_transform_t,
976 ) -> pixman_bool_t;
977}
978extern "C" {
979 pub fn pixman_image_set_repeat(image: *mut pixman_image_t, repeat: pixman_repeat_t);
980}
981extern "C" {
982 pub fn pixman_image_set_dither(image: *mut pixman_image_t, dither: pixman_dither_t);
983}
984extern "C" {
985 pub fn pixman_image_set_dither_offset(
986 image: *mut pixman_image_t,
987 offset_x: ::std::os::raw::c_int,
988 offset_y: ::std::os::raw::c_int,
989 );
990}
991extern "C" {
992 pub fn pixman_image_set_filter(
993 image: *mut pixman_image_t,
994 filter: pixman_filter_t,
995 filter_params: *const pixman_fixed_t,
996 n_filter_params: ::std::os::raw::c_int,
997 ) -> pixman_bool_t;
998}
999extern "C" {
1000 pub fn pixman_image_set_source_clipping(
1001 image: *mut pixman_image_t,
1002 source_clipping: pixman_bool_t,
1003 );
1004}
1005extern "C" {
1006 pub fn pixman_image_set_alpha_map(
1007 image: *mut pixman_image_t,
1008 alpha_map: *mut pixman_image_t,
1009 x: i16,
1010 y: i16,
1011 );
1012}
1013extern "C" {
1014 pub fn pixman_image_set_component_alpha(
1015 image: *mut pixman_image_t,
1016 component_alpha: pixman_bool_t,
1017 );
1018}
1019extern "C" {
1020 pub fn pixman_image_get_component_alpha(image: *mut pixman_image_t) -> pixman_bool_t;
1021}
1022extern "C" {
1023 pub fn pixman_image_set_accessors(
1024 image: *mut pixman_image_t,
1025 read_func: pixman_read_memory_func_t,
1026 write_func: pixman_write_memory_func_t,
1027 );
1028}
1029extern "C" {
1030 pub fn pixman_image_set_indexed(image: *mut pixman_image_t, indexed: *const pixman_indexed_t);
1031}
1032extern "C" {
1033 pub fn pixman_image_get_data(image: *mut pixman_image_t) -> *mut u32;
1034}
1035extern "C" {
1036 pub fn pixman_image_get_width(image: *mut pixman_image_t) -> ::std::os::raw::c_int;
1037}
1038extern "C" {
1039 pub fn pixman_image_get_height(image: *mut pixman_image_t) -> ::std::os::raw::c_int;
1040}
1041extern "C" {
1042 pub fn pixman_image_get_stride(image: *mut pixman_image_t) -> ::std::os::raw::c_int;
1043}
1044extern "C" {
1045 pub fn pixman_image_get_depth(image: *mut pixman_image_t) -> ::std::os::raw::c_int;
1046}
1047extern "C" {
1048 pub fn pixman_image_get_format(image: *mut pixman_image_t) -> pixman_format_code_t;
1049}
1050extern "C" {
1051 pub fn pixman_filter_create_separable_convolution(
1052 n_values: *mut ::std::os::raw::c_int,
1053 scale_x: pixman_fixed_t,
1054 scale_y: pixman_fixed_t,
1055 reconstruct_x: pixman_kernel_t,
1056 reconstruct_y: pixman_kernel_t,
1057 sample_x: pixman_kernel_t,
1058 sample_y: pixman_kernel_t,
1059 subsample_bits_x: ::std::os::raw::c_int,
1060 subsample_bits_y: ::std::os::raw::c_int,
1061 ) -> *mut pixman_fixed_t;
1062}
1063extern "C" {
1064 pub fn pixman_image_fill_rectangles(
1065 op: pixman_op_t,
1066 image: *mut pixman_image_t,
1067 color: *const pixman_color_t,
1068 n_rects: ::std::os::raw::c_int,
1069 rects: *const pixman_rectangle16_t,
1070 ) -> pixman_bool_t;
1071}
1072extern "C" {
1073 pub fn pixman_image_fill_boxes(
1074 op: pixman_op_t,
1075 dest: *mut pixman_image_t,
1076 color: *const pixman_color_t,
1077 n_boxes: ::std::os::raw::c_int,
1078 boxes: *const pixman_box32_t,
1079 ) -> pixman_bool_t;
1080}
1081extern "C" {
1082 pub fn pixman_compute_composite_region(
1083 region: *mut pixman_region16_t,
1084 src_image: *mut pixman_image_t,
1085 mask_image: *mut pixman_image_t,
1086 dest_image: *mut pixman_image_t,
1087 src_x: i16,
1088 src_y: i16,
1089 mask_x: i16,
1090 mask_y: i16,
1091 dest_x: i16,
1092 dest_y: i16,
1093 width: u16,
1094 height: u16,
1095 ) -> pixman_bool_t;
1096}
1097extern "C" {
1098 pub fn pixman_image_composite(
1099 op: pixman_op_t,
1100 src: *mut pixman_image_t,
1101 mask: *mut pixman_image_t,
1102 dest: *mut pixman_image_t,
1103 src_x: i16,
1104 src_y: i16,
1105 mask_x: i16,
1106 mask_y: i16,
1107 dest_x: i16,
1108 dest_y: i16,
1109 width: u16,
1110 height: u16,
1111 );
1112}
1113extern "C" {
1114 pub fn pixman_image_composite32(
1115 op: pixman_op_t,
1116 src: *mut pixman_image_t,
1117 mask: *mut pixman_image_t,
1118 dest: *mut pixman_image_t,
1119 src_x: i32,
1120 src_y: i32,
1121 mask_x: i32,
1122 mask_y: i32,
1123 dest_x: i32,
1124 dest_y: i32,
1125 width: i32,
1126 height: i32,
1127 );
1128}
1129extern "C" {
1130 pub fn pixman_disable_out_of_bounds_workaround();
1131}
1132extern "C" {
1133 pub fn pixman_glyph_cache_create() -> *mut pixman_glyph_cache_t;
1134}
1135extern "C" {
1136 pub fn pixman_glyph_cache_destroy(cache: *mut pixman_glyph_cache_t);
1137}
1138extern "C" {
1139 pub fn pixman_glyph_cache_freeze(cache: *mut pixman_glyph_cache_t);
1140}
1141extern "C" {
1142 pub fn pixman_glyph_cache_thaw(cache: *mut pixman_glyph_cache_t);
1143}
1144extern "C" {
1145 pub fn pixman_glyph_cache_lookup(
1146 cache: *mut pixman_glyph_cache_t,
1147 font_key: *mut ::std::os::raw::c_void,
1148 glyph_key: *mut ::std::os::raw::c_void,
1149 ) -> *const ::std::os::raw::c_void;
1150}
1151extern "C" {
1152 pub fn pixman_glyph_cache_insert(
1153 cache: *mut pixman_glyph_cache_t,
1154 font_key: *mut ::std::os::raw::c_void,
1155 glyph_key: *mut ::std::os::raw::c_void,
1156 origin_x: ::std::os::raw::c_int,
1157 origin_y: ::std::os::raw::c_int,
1158 glyph_image: *mut pixman_image_t,
1159 ) -> *const ::std::os::raw::c_void;
1160}
1161extern "C" {
1162 pub fn pixman_glyph_cache_remove(
1163 cache: *mut pixman_glyph_cache_t,
1164 font_key: *mut ::std::os::raw::c_void,
1165 glyph_key: *mut ::std::os::raw::c_void,
1166 );
1167}
1168extern "C" {
1169 pub fn pixman_glyph_get_extents(
1170 cache: *mut pixman_glyph_cache_t,
1171 n_glyphs: ::std::os::raw::c_int,
1172 glyphs: *mut pixman_glyph_t,
1173 extents: *mut pixman_box32_t,
1174 );
1175}
1176extern "C" {
1177 pub fn pixman_glyph_get_mask_format(
1178 cache: *mut pixman_glyph_cache_t,
1179 n_glyphs: ::std::os::raw::c_int,
1180 glyphs: *const pixman_glyph_t,
1181 ) -> pixman_format_code_t;
1182}
1183extern "C" {
1184 pub fn pixman_composite_glyphs(
1185 op: pixman_op_t,
1186 src: *mut pixman_image_t,
1187 dest: *mut pixman_image_t,
1188 mask_format: pixman_format_code_t,
1189 src_x: i32,
1190 src_y: i32,
1191 mask_x: i32,
1192 mask_y: i32,
1193 dest_x: i32,
1194 dest_y: i32,
1195 width: i32,
1196 height: i32,
1197 cache: *mut pixman_glyph_cache_t,
1198 n_glyphs: ::std::os::raw::c_int,
1199 glyphs: *const pixman_glyph_t,
1200 );
1201}
1202extern "C" {
1203 pub fn pixman_composite_glyphs_no_mask(
1204 op: pixman_op_t,
1205 src: *mut pixman_image_t,
1206 dest: *mut pixman_image_t,
1207 src_x: i32,
1208 src_y: i32,
1209 dest_x: i32,
1210 dest_y: i32,
1211 cache: *mut pixman_glyph_cache_t,
1212 n_glyphs: ::std::os::raw::c_int,
1213 glyphs: *const pixman_glyph_t,
1214 );
1215}
1216extern "C" {
1217 pub fn pixman_sample_ceil_y(y: pixman_fixed_t, bpp: ::std::os::raw::c_int) -> pixman_fixed_t;
1218}
1219extern "C" {
1220 pub fn pixman_sample_floor_y(y: pixman_fixed_t, bpp: ::std::os::raw::c_int) -> pixman_fixed_t;
1221}
1222extern "C" {
1223 pub fn pixman_edge_step(e: *mut pixman_edge_t, n: ::std::os::raw::c_int);
1224}
1225extern "C" {
1226 pub fn pixman_edge_init(
1227 e: *mut pixman_edge_t,
1228 bpp: ::std::os::raw::c_int,
1229 y_start: pixman_fixed_t,
1230 x_top: pixman_fixed_t,
1231 y_top: pixman_fixed_t,
1232 x_bot: pixman_fixed_t,
1233 y_bot: pixman_fixed_t,
1234 );
1235}
1236extern "C" {
1237 pub fn pixman_line_fixed_edge_init(
1238 e: *mut pixman_edge_t,
1239 bpp: ::std::os::raw::c_int,
1240 y: pixman_fixed_t,
1241 line: *const pixman_line_fixed_t,
1242 x_off: ::std::os::raw::c_int,
1243 y_off: ::std::os::raw::c_int,
1244 );
1245}
1246extern "C" {
1247 pub fn pixman_rasterize_edges(
1248 image: *mut pixman_image_t,
1249 l: *mut pixman_edge_t,
1250 r: *mut pixman_edge_t,
1251 t: pixman_fixed_t,
1252 b: pixman_fixed_t,
1253 );
1254}
1255extern "C" {
1256 pub fn pixman_add_traps(
1257 image: *mut pixman_image_t,
1258 x_off: i16,
1259 y_off: i16,
1260 ntrap: ::std::os::raw::c_int,
1261 traps: *const pixman_trap_t,
1262 );
1263}
1264extern "C" {
1265 pub fn pixman_add_trapezoids(
1266 image: *mut pixman_image_t,
1267 x_off: i16,
1268 y_off: ::std::os::raw::c_int,
1269 ntraps: ::std::os::raw::c_int,
1270 traps: *const pixman_trapezoid_t,
1271 );
1272}
1273extern "C" {
1274 pub fn pixman_rasterize_trapezoid(
1275 image: *mut pixman_image_t,
1276 trap: *const pixman_trapezoid_t,
1277 x_off: ::std::os::raw::c_int,
1278 y_off: ::std::os::raw::c_int,
1279 );
1280}
1281extern "C" {
1282 pub fn pixman_composite_trapezoids(
1283 op: pixman_op_t,
1284 src: *mut pixman_image_t,
1285 dst: *mut pixman_image_t,
1286 mask_format: pixman_format_code_t,
1287 x_src: ::std::os::raw::c_int,
1288 y_src: ::std::os::raw::c_int,
1289 x_dst: ::std::os::raw::c_int,
1290 y_dst: ::std::os::raw::c_int,
1291 n_traps: ::std::os::raw::c_int,
1292 traps: *const pixman_trapezoid_t,
1293 );
1294}
1295extern "C" {
1296 pub fn pixman_composite_triangles(
1297 op: pixman_op_t,
1298 src: *mut pixman_image_t,
1299 dst: *mut pixman_image_t,
1300 mask_format: pixman_format_code_t,
1301 x_src: ::std::os::raw::c_int,
1302 y_src: ::std::os::raw::c_int,
1303 x_dst: ::std::os::raw::c_int,
1304 y_dst: ::std::os::raw::c_int,
1305 n_tris: ::std::os::raw::c_int,
1306 tris: *const pixman_triangle_t,
1307 );
1308}
1309extern "C" {
1310 pub fn pixman_add_triangles(
1311 image: *mut pixman_image_t,
1312 x_off: i32,
1313 y_off: i32,
1314 n_tris: ::std::os::raw::c_int,
1315 tris: *const pixman_triangle_t,
1316 );
1317}