INNER CODE UNIT · Rust
free
elringus/sprite-dicing · crates/abi/src/lib.rs:318
fn free(result: sd_result) {
unsafe { sd_free(result) }
}
#[test]
fn dices_sprites_into_atlases_and_meshes() {
let pixels = [RED, BLUE, BLUE, RED];
let sprites = [sprite(c"sprite", &pixels, 2, 2)];
let result = dice(&sprites, &prefs());
assert_eq!(error(&result), None);
assert_eq!(result.atlas_count, 1);
assert_eq!(result.sprite_count, 1);
let atlas = unsafe { &*result.atlases };
let count = pixel_count(atlas.width, atlas.height);
let atlas_pixels = unsafe { to_slice(atlas.pixels, count) }.unwrap();
assert!(atlas_pixels.contains(&RED));
assert!(atlas_pixels.contains(&BLUE));