use crate::Box;
use pebble_sys::foundation::resources::ResHandle;
#[allow(clippy::wildcard_imports)]
use pebble_sys::foundation::resources::*;
pub type ResourceHandle = ResHandle;
#[must_use]
pub fn get_handle(resource_id: u32) -> ResHandle {
unsafe {
resource_get_handle(resource_id)
}
}
#[must_use]
pub fn size(resource_handle: ResHandle) -> usize {
unsafe { resource_size(resource_handle) }
}
pub fn load(resource_handle: ResHandle) -> Result<Box<'static, [u8]>, ()> {
let size = size(resource_handle);
let mut buffer = Box::new_buffer_uninit(size)?;
let loaded = unsafe { resource_load(resource_handle, buffer.as_mut_ptr() as *mut _, size) };
assert_eq!(size, loaded);
Ok(Box::assume_init(buffer))
}