plutovg_sys/
lib.rs

1#![allow(non_upper_case_globals)]
2#![allow(non_camel_case_types)]
3#![allow(non_snake_case)]
4
5include!(concat!(env!("OUT_DIR"), "/bindings.rs"));
6
7// Define constants as f32 to match function signatures
8pub const PLUTOVG_PI: f32 = 3.141592653589793_f32;
9pub const PLUTOVG_TWO_PI: f32 = 6.283185307179586_f32;
10pub const PLUTOVG_HALF_PI: f32 = 1.5707963267948966_f32;
11pub const PLUTOVG_SQRT2: f32 = 1.4142135623730951_f32;
12pub const PLUTOVG_KAPPA: f32 = 0.5522847498307935_f32;
13
14#[cfg(test)]
15mod tests {
16    use super::*;
17
18    #[test]
19    fn test_create_surface() {
20        unsafe {
21            let surface = plutovg_surface_create(400, 400);
22            assert!(!surface.is_null());
23            plutovg_surface_destroy(surface);
24        }
25    }
26
27    #[test]
28    fn test_create_canvas() {
29        unsafe {
30            let surface = plutovg_surface_create(400, 400);
31            let canvas = plutovg_canvas_create(surface);
32            assert!(!canvas.is_null());
33            plutovg_canvas_destroy(canvas);
34            plutovg_surface_destroy(surface);
35        }
36    }
37}