use geokernel_sys::*;
use std::mem::{align_of, offset_of, size_of};
macro_rules! layout {
($t:ty) => {
println!(
"{}:{}:{}",
stringify!($t),
size_of::<$t>(),
align_of::<$t>()
);
};
($t:ty, $field:ident, $native:literal) => {
println!("{}.{}:{}", stringify!($t), $native, offset_of!($t, $field));
};
}
fn main() {
layout!(GeoKernelViewerExtent);
layout!(GeoKernelViewerScreenRectangle);
layout!(GeoKernelViewerEventData);
layout!(GeoKernelViewerRouteSummary);
layout!(GeoKernelOperationContextV1);
layout!(GeoKernelViewerEventData, double_value, "doubleValue");
layout!(GeoKernelViewerEventData, extent, "extent");
layout!(
GeoKernelViewerEventData,
screen_rectangle,
"screenRectangle"
);
layout!(GeoKernelViewerRouteSummary, total_distance, "totalDistance");
layout!(
GeoKernelViewerRouteSummary,
route_layer_index,
"routeLayerIndex"
);
layout!(GeoKernelOperationContextV1, user_data, "userData");
layout!(GeoKernelOperationContextV1, cancellation, "cancellation");
layout!(GeoKernelOperationContextV1, progress, "progress");
layout!(GeoKernelOperationContextV1, diagnostic, "diagnostic");
layout!(
GeoKernelOperationContextV1,
maximum_memory_bytes,
"maximumMemoryBytes"
);
layout!(
GeoKernelOperationContextV1,
maximum_spatial_area,
"maximumSpatialArea"
);
}