Skip to main content

define_xy_dimensions

Macro define_xy_dimensions 

Source
macro_rules! define_xy_dimensions {
    ($name:ident, $var_type:ty, $friendly_name:expr, $invalid_zero_value:expr, $doc_string:expr) => { ... };
}
Expand description

Creates a 2D dimension type with width,height fields and validation.

ยงExample

use feagi_structures::{define_xy_dimensions, FeagiDataError};

define_xy_dimensions!(Size2D, u32, "Size2D", 0, "A 2D size with positive dimensions");

let size = Size2D::new(640, 480).unwrap();
assert_eq!(size.width, 640);
assert_eq!(size.height, 480);

let invalid = Size2D::new(0, 480);
assert!(invalid.is_err());