1use std::os::raw::c_void;
4
5#[repr(C)]
6#[derive(Debug, Copy, Clone)]
7pub struct ClipperClipper64 {
8 _unused: [u8; 0],
9}
10#[repr(C)]
11#[derive(Debug, Copy, Clone)]
12pub struct ClipperClipperD {
13 _unused: [u8; 0],
14}
15#[repr(C)]
16#[derive(Debug, Copy, Clone)]
17pub struct ClipperClipperOffset {
18 _unused: [u8; 0],
19}
20#[repr(C)]
21#[derive(Debug, Copy, Clone)]
22pub struct ClipperPath64 {
23 _unused: [u8; 0],
24}
25#[repr(C)]
26#[derive(Debug, Copy, Clone)]
27pub struct ClipperPathD {
28 _unused: [u8; 0],
29}
30#[repr(C)]
31#[derive(Debug, Copy, Clone)]
32pub struct ClipperPaths64 {
33 _unused: [u8; 0],
34}
35#[repr(C)]
36#[derive(Debug, Copy, Clone)]
37pub struct ClipperPathsD {
38 _unused: [u8; 0],
39}
40#[repr(C)]
41#[derive(Debug, Copy, Clone)]
42pub struct ClipperPolyTree64 {
43 _unused: [u8; 0],
44}
45#[repr(C)]
46#[derive(Debug, Copy, Clone)]
47pub struct ClipperPolyTreeD {
48 _unused: [u8; 0],
49}
50#[repr(C)]
51#[derive(Debug, Default, Copy, Clone, PartialEq)]
52pub struct ClipperPointD {
53 pub x: f64,
54 pub y: f64,
55}
56#[test]
57fn bindgen_test_layout_ClipperPointD() {
58 const UNINIT: ::std::mem::MaybeUninit<ClipperPointD> = ::std::mem::MaybeUninit::uninit();
59 let ptr = UNINIT.as_ptr();
60 assert_eq!(
61 ::std::mem::size_of::<ClipperPointD>(),
62 16usize,
63 concat!("Size of: ", stringify!(ClipperPointD))
64 );
65 assert_eq!(
66 ::std::mem::align_of::<ClipperPointD>(),
67 8usize,
68 concat!("Alignment of ", stringify!(ClipperPointD))
69 );
70 assert_eq!(
71 unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
72 0usize,
73 concat!(
74 "Offset of field: ",
75 stringify!(ClipperPointD),
76 "::",
77 stringify!(x)
78 )
79 );
80 assert_eq!(
81 unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
82 8usize,
83 concat!(
84 "Offset of field: ",
85 stringify!(ClipperPointD),
86 "::",
87 stringify!(y)
88 )
89 );
90}
91#[repr(C)]
92#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
93#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
94pub struct ClipperPoint64 {
95 pub x: i64,
96 pub y: i64,
97}
98#[test]
99fn bindgen_test_layout_ClipperPoint64() {
100 const UNINIT: ::std::mem::MaybeUninit<ClipperPoint64> = ::std::mem::MaybeUninit::uninit();
101 let ptr = UNINIT.as_ptr();
102 assert_eq!(
103 ::std::mem::size_of::<ClipperPoint64>(),
104 16usize,
105 concat!("Size of: ", stringify!(ClipperPoint64))
106 );
107 assert_eq!(
108 ::std::mem::align_of::<ClipperPoint64>(),
109 8usize,
110 concat!("Alignment of ", stringify!(ClipperPoint64))
111 );
112 assert_eq!(
113 unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
114 0usize,
115 concat!(
116 "Offset of field: ",
117 stringify!(ClipperPoint64),
118 "::",
119 stringify!(x)
120 )
121 );
122 assert_eq!(
123 unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
124 8usize,
125 concat!(
126 "Offset of field: ",
127 stringify!(ClipperPoint64),
128 "::",
129 stringify!(y)
130 )
131 );
132}
133pub const ClipperFillRule_EVEN_ODD: ClipperFillRule = 0;
134pub const ClipperFillRule_NON_ZERO: ClipperFillRule = 1;
135pub const ClipperFillRule_POSITIVE: ClipperFillRule = 2;
136pub const ClipperFillRule_NEGATIVE: ClipperFillRule = 3;
137pub type ClipperFillRule = ::std::os::raw::c_uint;
138pub const ClipperClipType_NONE: ClipperClipType = 0;
139pub const ClipperClipType_INTERSECTION: ClipperClipType = 1;
140pub const ClipperClipType_UNION: ClipperClipType = 2;
141pub const ClipperClipType_DIFFERENCE: ClipperClipType = 3;
142pub const ClipperClipType_XOR: ClipperClipType = 4;
143pub type ClipperClipType = ::std::os::raw::c_uint;
144pub const ClipperPathType_SUBJECT: ClipperPathType = 0;
145pub const ClipperPathType_CLIP: ClipperPathType = 1;
146pub type ClipperPathType = ::std::os::raw::c_uint;
147pub const ClipperJoinType_SQUARE_JOIN: ClipperJoinType = 0;
148pub const ClipperJoinType_BEVEL_JOIN: ClipperJoinType = 1;
149pub const ClipperJoinType_ROUND_JOIN: ClipperJoinType = 2;
150pub const ClipperJoinType_MITER_JOIN: ClipperJoinType = 3;
151pub type ClipperJoinType = ::std::os::raw::c_uint;
152pub const ClipperEndType_POLYGON_END: ClipperEndType = 0;
153pub const ClipperEndType_JOINED_END: ClipperEndType = 1;
154pub const ClipperEndType_BUTT_END: ClipperEndType = 2;
155pub const ClipperEndType_SQUARE_END: ClipperEndType = 3;
156pub const ClipperEndType_ROUND_END: ClipperEndType = 4;
157pub type ClipperEndType = ::std::os::raw::c_uint;
158pub const ClipperPointInPolygonResult_IS_ON: ClipperPointInPolygonResult = 0;
159pub const ClipperPointInPolygonResult_IS_INSIDE: ClipperPointInPolygonResult = 1;
160pub const ClipperPointInPolygonResult_IS_OUTSIDE: ClipperPointInPolygonResult = 2;
161pub type ClipperPointInPolygonResult = ::std::os::raw::c_uint;
162extern "C" {
163 pub fn clipper_paths64_inflate(
164 mem: *mut ::std::os::raw::c_void,
165 paths: *mut ClipperPaths64,
166 delta: f64,
167 jt: ClipperJoinType,
168 et: ClipperEndType,
169 miter_limit: f64,
170 ) -> *mut ClipperPaths64;
171}
172extern "C" {
173 pub fn clipper_pathsd_inflate(
174 mem: *mut ::std::os::raw::c_void,
175 paths: *mut ClipperPathsD,
176 delta: f64,
177 jt: ClipperJoinType,
178 et: ClipperEndType,
179 miter_limit: f64,
180 precision: ::std::os::raw::c_int,
181 ) -> *mut ClipperPathsD;
182}
183extern "C" {
184 pub fn clipper_path64(mem: *mut ::std::os::raw::c_void) -> *mut ClipperPath64;
185}
186extern "C" {
187 pub fn clipper_pathd(mem: *mut ::std::os::raw::c_void) -> *mut ClipperPathD;
188}
189extern "C" {
190 pub fn clipper_path64_of_points(
191 mem: *mut ::std::os::raw::c_void,
192 pts: *mut ClipperPoint64,
193 len_pts: usize,
194 ) -> *mut ClipperPath64;
195}
196extern "C" {
197 pub fn clipper_pathd_of_points(
198 mem: *mut ::std::os::raw::c_void,
199 pts: *mut ClipperPointD,
200 len_pts: usize,
201 ) -> *mut ClipperPathD;
202}
203extern "C" {
204 pub fn clipper_path64_add_point(path: *mut ClipperPath64, pt: ClipperPoint64);
205}
206extern "C" {
207 pub fn clipper_pathd_add_point(path: *mut ClipperPathD, pt: ClipperPointD);
208}
209extern "C" {
210 pub fn clipper_paths64(mem: *mut ::std::os::raw::c_void) -> *mut ClipperPaths64;
211}
212extern "C" {
213 pub fn clipper_pathsd(mem: *mut ::std::os::raw::c_void) -> *mut ClipperPathsD;
214}
215extern "C" {
216 pub fn clipper_paths64_of_paths(
217 mem: *mut ::std::os::raw::c_void,
218 paths: *mut *mut ClipperPath64,
219 len_paths: usize,
220 ) -> *mut ClipperPaths64;
221}
222extern "C" {
223 pub fn clipper_pathsd_of_paths(
224 mem: *mut ::std::os::raw::c_void,
225 paths: *mut *mut ClipperPathD,
226 len_paths: usize,
227 ) -> *mut ClipperPathsD;
228}
229extern "C" {
230 pub fn clipper_paths64_add_path(paths: *mut ClipperPaths64, p: *mut ClipperPath64);
231}
232extern "C" {
233 pub fn clipper_pathsd_add_path(paths: *mut ClipperPathsD, p: *mut ClipperPathD);
234}
235extern "C" {
236 pub fn clipper_paths64_add_paths(a: *mut ClipperPaths64, b: *mut ClipperPaths64);
237}
238extern "C" {
239 pub fn clipper_pathsd_add_paths(a: *mut ClipperPathsD, b: *mut ClipperPathsD);
240}
241extern "C" {
242 pub fn clipper_path64_length(path: *mut ClipperPath64) -> usize;
243}
244extern "C" {
245 pub fn clipper_pathd_length(path: *mut ClipperPathD) -> usize;
246}
247extern "C" {
248 pub fn clipper_path64_get_point(
249 path: *mut ClipperPath64,
250 idx: ::std::os::raw::c_int,
251 ) -> ClipperPoint64;
252}
253extern "C" {
254 pub fn clipper_pathd_get_point(
255 path: *mut ClipperPathD,
256 idx: ::std::os::raw::c_int,
257 ) -> ClipperPointD;
258}
259extern "C" {
260 pub fn clipper_paths64_length(paths: *mut ClipperPaths64) -> usize;
261}
262extern "C" {
263 pub fn clipper_pathsd_length(paths: *mut ClipperPathsD) -> usize;
264}
265extern "C" {
266 pub fn clipper_paths64_path_length(
267 paths: *mut ClipperPaths64,
268 idx: ::std::os::raw::c_int,
269 ) -> usize;
270}
271extern "C" {
272 pub fn clipper_pathsd_path_length(
273 paths: *mut ClipperPathsD,
274 idx: ::std::os::raw::c_int,
275 ) -> usize;
276}
277extern "C" {
278 pub fn clipper_paths64_get_path(
279 mem: *mut ::std::os::raw::c_void,
280 paths: *mut ClipperPaths64,
281 idx: ::std::os::raw::c_int,
282 ) -> *mut ClipperPath64;
283}
284extern "C" {
285 pub fn clipper_pathsd_get_path(
286 mem: *mut ::std::os::raw::c_void,
287 paths: *mut ClipperPathsD,
288 idx: ::std::os::raw::c_int,
289 ) -> *mut ClipperPathD;
290}
291extern "C" {
292 pub fn clipper_paths64_get_point(
293 paths: *mut ClipperPaths64,
294 path_idx: ::std::os::raw::c_int,
295 point_idx: ::std::os::raw::c_int,
296 ) -> ClipperPoint64;
297}
298extern "C" {
299 pub fn clipper_pathsd_get_point(
300 paths: *mut ClipperPathsD,
301 path_idx: ::std::os::raw::c_int,
302 point_idx: ::std::os::raw::c_int,
303 ) -> ClipperPointD;
304}
305extern "C" {
306 pub fn clipper_path64_simplify(
307 mem: *mut ::std::os::raw::c_void,
308 path: *mut ClipperPath64,
309 epsilon: f64,
310 is_open_path: ::std::os::raw::c_int,
311 ) -> *mut ClipperPath64;
312}
313extern "C" {
314 pub fn clipper_pathd_simplify(
315 mem: *mut ::std::os::raw::c_void,
316 path: *mut ClipperPathD,
317 epsilon: f64,
318 is_open_path: ::std::os::raw::c_int,
319 ) -> *mut ClipperPathD;
320}
321extern "C" {
322 pub fn clipper_paths64_simplify(
323 mem: *mut ::std::os::raw::c_void,
324 paths: *mut ClipperPaths64,
325 epsilon: f64,
326 is_open_paths: ::std::os::raw::c_int,
327 ) -> *mut ClipperPaths64;
328}
329extern "C" {
330 pub fn clipper_pathsd_simplify(
331 mem: *mut ::std::os::raw::c_void,
332 paths: *mut ClipperPathsD,
333 epsilon: f64,
334 is_open_paths: ::std::os::raw::c_int,
335 ) -> *mut ClipperPathsD;
336}
337extern "C" {
338 pub fn clipper_path64_to_pathd(
339 mem: *mut ::std::os::raw::c_void,
340 path: *mut ClipperPath64,
341 ) -> *mut ClipperPathD;
342}
343extern "C" {
344 pub fn clipper_pathd_to_path64(
345 mem: *mut ::std::os::raw::c_void,
346 path: *mut ClipperPathD,
347 ) -> *mut ClipperPath64;
348}
349extern "C" {
350 pub fn clipper_paths64_to_pathsd(
351 mem: *mut ::std::os::raw::c_void,
352 paths: *mut ClipperPaths64,
353 ) -> *mut ClipperPathsD;
354}
355extern "C" {
356 pub fn clipper_pathsd_to_paths64(
357 mem: *mut ::std::os::raw::c_void,
358 paths: *mut ClipperPathsD,
359 ) -> *mut ClipperPaths64;
360}
361extern "C" {
362 pub fn clipper_pathd_area(path: *mut ClipperPathD) -> f64;
363}
364extern "C" {
365 pub fn clipper_path64_area(path: *mut ClipperPath64) -> f64;
366}
367extern "C" {
368 pub fn clipper_pathsd_area(paths: *mut ClipperPathsD) -> f64;
369}
370extern "C" {
371 pub fn clipper_paths64_area(paths: *mut ClipperPaths64) -> f64;
372}
373extern "C" {
374 pub fn clipper_point_in_path64(
375 path: *mut ClipperPath64,
376 pt: ClipperPoint64,
377 ) -> ClipperPointInPolygonResult;
378}
379extern "C" {
380 pub fn clipper_point_in_pathd(
381 path: *mut ClipperPathD,
382 pt: ClipperPointD,
383 ) -> ClipperPointInPolygonResult;
384}
385extern "C" {
386 pub fn clipper_polytree64(
387 mem: *mut ::std::os::raw::c_void,
388 parent: *mut ClipperPolyTree64,
389 ) -> *mut ClipperPolyTree64;
390}
391extern "C" {
392 pub fn clipper_polytreed(
393 mem: *mut ::std::os::raw::c_void,
394 parent: *mut ClipperPolyTreeD,
395 ) -> *mut ClipperPolyTreeD;
396}
397extern "C" {
398 pub fn clipper_polytree64_parent(pt: *mut ClipperPolyTree64) -> *const ClipperPolyTree64;
399}
400extern "C" {
401 pub fn clipper_polytree64_get_child(
402 pt: *mut ClipperPolyTree64,
403 idx: usize,
404 ) -> *const ClipperPolyTree64;
405}
406extern "C" {
407 pub fn clipper_polytree64_add_child(
408 pt: *mut ClipperPolyTree64,
409 path: *mut ClipperPath64,
410 ) -> *mut ClipperPolyTree64;
411}
412extern "C" {
413 pub fn clipper_polytree64_count(pt: *mut ClipperPolyTree64) -> usize;
414}
415extern "C" {
416 pub fn clipper_polytree64_is_hole(pt: *mut ClipperPolyTree64) -> ::std::os::raw::c_int;
417}
418extern "C" {
419 pub fn clipper_polytree64_polygon(
420 mem: *mut ::std::os::raw::c_void,
421 pt: *mut ClipperPolyTree64,
422 ) -> *mut ClipperPath64;
423}
424extern "C" {
425 pub fn clipper_polytree64_area(pt: *mut ClipperPolyTree64) -> f64;
426}
427extern "C" {
428 pub fn clipper_polytree64_to_paths(
429 mem: *mut ::std::os::raw::c_void,
430 pt: *mut ClipperPolyTree64,
431 ) -> *mut ClipperPaths64;
432}
433extern "C" {
434 pub fn clipper_polytreed_parent(pt: *mut ClipperPolyTreeD) -> *const ClipperPolyTreeD;
435}
436extern "C" {
437 pub fn clipper_polytreed_get_child(
438 pt: *mut ClipperPolyTreeD,
439 idx: usize,
440 ) -> *const ClipperPolyTreeD;
441}
442extern "C" {
443 pub fn clipper_polytreed_set_inv_scale(pt: *mut ClipperPolyTreeD, value: f64);
444}
445extern "C" {
446 pub fn clipper_polytreed_inv_scale(pt: *mut ClipperPolyTreeD) -> f64;
447}
448extern "C" {
449 pub fn clipper_polytreed_add_child(
450 pt: *mut ClipperPolyTreeD,
451 path: *mut ClipperPath64,
452 ) -> *mut ClipperPolyTreeD;
453}
454extern "C" {
455 pub fn clipper_polytreed_count(pt: *mut ClipperPolyTreeD) -> usize;
456}
457extern "C" {
458 pub fn clipper_polytreed_is_hole(pt: *mut ClipperPolyTreeD) -> ::std::os::raw::c_int;
459}
460extern "C" {
461 pub fn clipper_polytreed_polygon(
462 mem: *mut ::std::os::raw::c_void,
463 pt: *mut ClipperPolyTreeD,
464 ) -> *mut ClipperPathD;
465}
466extern "C" {
467 pub fn clipper_polytreed_area(pt: *mut ClipperPolyTreeD) -> f64;
468}
469extern "C" {
470 pub fn clipper_polytreed_to_paths(
471 mem: *mut ::std::os::raw::c_void,
472 pt: *mut ClipperPolyTreeD,
473 ) -> *mut ClipperPathsD;
474}
475extern "C" {
476 pub fn clipper_clipper64(mem: *mut ::std::os::raw::c_void) -> *mut ClipperClipper64;
477}
478extern "C" {
479 pub fn clipper_clipperd(
480 mem: *mut ::std::os::raw::c_void,
481 precision: ::std::os::raw::c_int,
482 ) -> *mut ClipperClipperD;
483}
484extern "C" {
485 pub fn clipper_clipper64_set_preserve_collinear(
486 c: *mut ClipperClipper64,
487 t: ::std::os::raw::c_int,
488 );
489}
490extern "C" {
491 pub fn clipper_clipper64_set_reverse_solution(
492 c: *mut ClipperClipper64,
493 t: ::std::os::raw::c_int,
494 );
495}
496extern "C" {
497 pub fn clipper_clipper64_get_preserve_collinear(
498 c: *mut ClipperClipper64,
499 ) -> ::std::os::raw::c_int;
500}
501extern "C" {
502 pub fn clipper_clipper64_get_reverse_solution(
503 c: *mut ClipperClipper64,
504 ) -> ::std::os::raw::c_int;
505}
506extern "C" {
507 pub fn clipper_clipper64_clear(c: *mut ClipperClipper64);
508}
509extern "C" {
510 pub fn clipper_clipperd_set_preserve_collinear(
511 c: *mut ClipperClipperD,
512 t: ::std::os::raw::c_int,
513 );
514}
515extern "C" {
516 pub fn clipper_clipperd_set_reverse_solution(c: *mut ClipperClipperD, t: ::std::os::raw::c_int);
517}
518extern "C" {
519 pub fn clipper_clipperd_get_preserve_collinear(
520 c: *mut ClipperClipperD,
521 ) -> ::std::os::raw::c_int;
522}
523extern "C" {
524 pub fn clipper_clipperd_get_reverse_solution(c: *mut ClipperClipperD) -> ::std::os::raw::c_int;
525}
526extern "C" {
527 pub fn clipper_clipperd_clear(c: *mut ClipperClipperD);
528}
529extern "C" {
530 pub fn clipper_clipper64_add_subject(c: *mut ClipperClipper64, subjects: *mut ClipperPaths64);
531}
532extern "C" {
533 pub fn clipper_clipper64_add_open_subject(
534 c: *mut ClipperClipper64,
535 open_subjects: *mut ClipperPaths64,
536 );
537}
538extern "C" {
539 pub fn clipper_clipper64_add_clip(c: *mut ClipperClipper64, clips: *mut ClipperPaths64);
540}
541extern "C" {
542 pub fn clipper_clipper64_execute(
543 c64: *mut ClipperClipper64,
544 ct: ClipperClipType,
545 fr: ClipperFillRule,
546 closed: *mut ClipperPaths64,
547 open: *mut ClipperPaths64,
548 ) -> ::std::os::raw::c_int;
549}
550extern "C" {
551 pub fn clipper_clipper64_execute_tree_with_open(
552 c64: *mut ClipperClipper64,
553 ct: ClipperClipType,
554 fr: ClipperFillRule,
555 tree: *mut ClipperPolyTree64,
556 open: *mut ClipperPaths64,
557 ) -> ::std::os::raw::c_int;
558}
559extern "C" {
560 pub fn clipper_clipperd_add_subject(c: *mut ClipperClipperD, subjects: *mut ClipperPathsD);
561}
562extern "C" {
563 pub fn clipper_clipperd_add_open_subject(
564 c: *mut ClipperClipperD,
565 open_subjects: *mut ClipperPathsD,
566 );
567}
568extern "C" {
569 pub fn clipper_clipperd_add_clip(c: *mut ClipperClipperD, clips: *mut ClipperPathsD);
570}
571extern "C" {
572 pub fn clipper_clipperd_execute(
573 cD: *mut ClipperClipperD,
574 ct: ClipperClipType,
575 fr: ClipperFillRule,
576 closed: *mut ClipperPathsD,
577 open: *mut ClipperPathsD,
578 ) -> ::std::os::raw::c_int;
579}
580extern "C" {
581 pub fn clipper_clipperd_execute_tree_with_open(
582 cD: *mut ClipperClipperD,
583 ct: ClipperClipType,
584 fr: ClipperFillRule,
585 tree: *mut ClipperPolyTreeD,
586 open: *mut ClipperPathsD,
587 ) -> ::std::os::raw::c_int;
588}
589extern "C" {
590 pub fn clipper_clipperoffset(
591 mem: *mut ::std::os::raw::c_void,
592 miter_limit: f64,
593 arc_tolerance: f64,
594 preserve_collinear: ::std::os::raw::c_int,
595 reverse_solution: ::std::os::raw::c_int,
596 ) -> *mut ClipperClipperOffset;
597}
598extern "C" {
599 pub fn clipper_clipperoffset_set_miter_limit(c: *mut ClipperClipperOffset, l: f64);
600}
601extern "C" {
602 pub fn clipper_clipperoffset_set_arc_tolerance(c: *mut ClipperClipperOffset, t: f64);
603}
604extern "C" {
605 pub fn clipper_clipperoffset_set_preserve_collinear(
606 c: *mut ClipperClipperOffset,
607 t: ::std::os::raw::c_int,
608 );
609}
610extern "C" {
611 pub fn clipper_clipperoffset_set_reverse_solution(
612 c: *mut ClipperClipperOffset,
613 t: ::std::os::raw::c_int,
614 );
615}
616extern "C" {
617 pub fn clipper_clipperoffset_get_miter_limit(c: *mut ClipperClipperOffset) -> f64;
618}
619extern "C" {
620 pub fn clipper_clipperoffset_get_arc_tolerance(c: *mut ClipperClipperOffset) -> f64;
621}
622extern "C" {
623 pub fn clipper_clipperoffset_get_preserve_collinear(
624 c: *mut ClipperClipperOffset,
625 ) -> ::std::os::raw::c_int;
626}
627extern "C" {
628 pub fn clipper_clipperoffset_get_reverse_solution(
629 c: *mut ClipperClipperOffset,
630 ) -> ::std::os::raw::c_int;
631}
632extern "C" {
633 pub fn clipper_clipperoffset_error_code(c: *mut ClipperClipperOffset) -> ::std::os::raw::c_int;
634}
635extern "C" {
636 pub fn clipper_clipperoffset_clear(c: *mut ClipperClipperOffset);
637}
638extern "C" {
639 pub fn clipper_clipperoffset_add_path64(
640 c: *mut ClipperClipperOffset,
641 p: *mut ClipperPath64,
642 jt: ClipperJoinType,
643 et: ClipperEndType,
644 );
645}
646extern "C" {
647 pub fn clipper_clipperoffset_add_paths64(
648 c: *mut ClipperClipperOffset,
649 p: *mut ClipperPaths64,
650 jt: ClipperJoinType,
651 et: ClipperEndType,
652 );
653}
654extern "C" {
655 pub fn clipper_clipperoffset_execute(
656 mem: *mut ::std::os::raw::c_void,
657 c: *mut ClipperClipperOffset,
658 delta: f64,
659 ) -> *mut ClipperPaths64;
660}
661extern "C" {
662 pub fn clipper_path64_size() -> usize;
663}
664extern "C" {
665 pub fn clipper_pathd_size() -> usize;
666}
667extern "C" {
668 pub fn clipper_paths64_size() -> usize;
669}
670extern "C" {
671 pub fn clipper_pathsd_size() -> usize;
672}
673extern "C" {
674 pub fn clipper_polytree64_size() -> usize;
675}
676extern "C" {
677 pub fn clipper_polytreed_size() -> usize;
678}
679extern "C" {
680 pub fn clipper_clipper64_size() -> usize;
681}
682extern "C" {
683 pub fn clipper_clipperd_size() -> usize;
684}
685extern "C" {
686 pub fn clipper_clipperoffset_size() -> usize;
687}
688extern "C" {
689 pub fn clipper_allocate(size: usize) -> *mut c_void;
690}
691extern "C" {
692 pub fn clipper_delete_path64(p: *mut ClipperPath64);
693}
694extern "C" {
695 pub fn clipper_delete_pathd(p: *mut ClipperPathD);
696}
697extern "C" {
698 pub fn clipper_delete_paths64(p: *mut ClipperPaths64);
699}
700extern "C" {
701 pub fn clipper_delete_pathsd(p: *mut ClipperPathsD);
702}
703extern "C" {
704 pub fn clipper_delete_polytree64(p: *mut ClipperPolyTree64);
705}
706extern "C" {
707 pub fn clipper_delete_polytreed(p: *mut ClipperPolyTreeD);
708}
709extern "C" {
710 pub fn clipper_delete_clipper64(p: *mut ClipperClipper64);
711}
712extern "C" {
713 pub fn clipper_delete_clipperd(p: *mut ClipperClipperD);
714}
715extern "C" {
716 pub fn clipper_delete_clipperoffset(p: *mut ClipperClipperOffset);
717}