use crate::macros::wrap;
use servicepoint::{CharGrid, CharGridCommand, Origin};
use std::ptr::NonNull;
wrap!(
CharGridCommand {
derives: crate::commands::derive_command[CharGrid], crate::commands::derive_origin_accessors;
properties:
prop grid: CharGrid { get mut; set move; };
functions:
fn new(
grid: move NonNull<CharGrid>,
origin_x: val usize,
origin_y: val usize,
) -> move NonNull<CharGridCommand> {
CharGridCommand {
grid,
origin: Origin::new(origin_x, origin_y),
}
};
fn from_grid(grid: move NonNull<CharGrid>) -> move NonNull<CharGridCommand> {
grid.into()
};
}
);