| 763 | let mut res = unsafe { |
| 764 | let mut a = liq_attr_create().unwrap(); |
| 765 | unsafe extern "C" fn get_row(output_row: *mut MaybeUninit<RGBA>, y: c_int, width: c_int, user_data: AnySyncSendPtr) { |
| 766 | assert!((0..5).contains(&y)); |
| 767 | assert_eq!(123, width); |
| 768 | for i in 0..width as isize { |
| 769 | let n = i as u8; |
| 770 | (*output_row.offset(i)).write(RGBA::new(n, n, n, n)); |
| 771 | } |
| 772 | let user_data = user_data.0.cast::<i32>(); |
| 773 | *user_data += 1; |
| 774 | } |
| 775 | let mut img = liq_image_create_custom(&a, get_row, AnySyncSendPtr(std::ptr::addr_of_mut!(called).cast::<c_void>()), 123, 5, 0.).unwrap(); |
| 776 | liq_quantize_image(&mut a, &mut img).unwrap() |
| 777 | }; |