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