88 lines
1.8 KiB
Rust
88 lines
1.8 KiB
Rust
use crate::*;
|
|
|
|
use std::os::raw::*;
|
|
|
|
#[no_mangle]
|
|
unsafe extern "C" fn position_init(position: *mut geom::Position) {
|
|
*position = Default::default();
|
|
}
|
|
|
|
#[no_mangle]
|
|
unsafe extern "C" fn sizes_init(sizes: &mut geom::Sizes) {
|
|
*sizes = Default::default();
|
|
}
|
|
|
|
#[no_mangle]
|
|
unsafe extern "C" fn basic_geom_init(basic_geom: &mut geom::BasicGeom) {
|
|
*basic_geom = Default::default();
|
|
}
|
|
|
|
#[no_mangle]
|
|
unsafe extern "C" fn win_geom_init(win_geom: &mut geom::WinGeom) {
|
|
*win_geom = Default::default();
|
|
}
|
|
|
|
#[no_mangle]
|
|
unsafe extern "C" fn position_init_from_args(
|
|
position: *mut geom::Position,
|
|
x: c_int,
|
|
y: c_int,
|
|
) {
|
|
*position = geom::Position::new(x, y);
|
|
}
|
|
|
|
#[no_mangle]
|
|
unsafe extern "C" fn sizes_init_from_args(
|
|
sizes: *mut geom::Sizes,
|
|
width: c_int,
|
|
height: c_int,
|
|
) {
|
|
*sizes = geom::Sizes::new(width, height);
|
|
}
|
|
|
|
#[no_mangle]
|
|
unsafe extern "C" fn basic_geom_init_from_args(
|
|
basic_geom: *mut geom::BasicGeom,
|
|
x: c_int,
|
|
y: c_int,
|
|
width: c_int,
|
|
height: c_int,
|
|
) {
|
|
*basic_geom = geom::BasicGeom::new(
|
|
geom::Position::new(x, y),
|
|
geom::Sizes::new(width, height),
|
|
);
|
|
}
|
|
|
|
#[no_mangle]
|
|
unsafe extern "C" fn win_geom_init_from_args(
|
|
win_geom: *mut geom::WinGeom,
|
|
x: c_int,
|
|
y: c_int,
|
|
width: c_int,
|
|
height: c_int,
|
|
border_width: c_int,
|
|
) {
|
|
*win_geom = geom::WinGeom::new(
|
|
geom::BasicGeom::new(
|
|
geom::Position::new(x, y),
|
|
geom::Sizes::new(width, height),
|
|
),
|
|
border_width,
|
|
);
|
|
}
|
|
|
|
#[no_mangle]
|
|
unsafe extern "C" fn win_geom_total_width(
|
|
win_geom: *const geom::WinGeom,
|
|
) -> c_int {
|
|
(*win_geom).total_sizes().width()
|
|
}
|
|
|
|
#[no_mangle]
|
|
unsafe extern "C" fn win_geom_total_height(
|
|
win_geom: *const geom::WinGeom,
|
|
) -> c_int {
|
|
(*win_geom).total_sizes().height()
|
|
}
|