34 lines
512 B
Rust
34 lines
512 B
Rust
use std::ffi::{c_int, c_uchar};
|
|
|
|
#[repr(C)]
|
|
pub struct Color {
|
|
red: c_uchar,
|
|
green: c_uchar,
|
|
blue: c_uchar,
|
|
alpha: c_uchar,
|
|
}
|
|
|
|
#[repr(C)]
|
|
pub enum ImageFormat {
|
|
RRGBFormat = 0,
|
|
RRGBAFormat,
|
|
}
|
|
|
|
#[repr(C)]
|
|
pub struct Image {
|
|
data: *mut c_uchar,
|
|
width: c_int,
|
|
height: c_int,
|
|
format: ImageFormat,
|
|
background: Color,
|
|
ref_count: c_int,
|
|
}
|
|
|
|
pub mod ffi {
|
|
use super::Image;
|
|
|
|
unsafe extern "C" {
|
|
pub fn RRetainImage(image: *mut Image) -> *mut Image;
|
|
}
|
|
}
|