use piet_gpu_derive::piet_gpu; piet_gpu! { #[gpu_write] mod annotated { struct AnnoImage { bbox: [f32; 4], linewidth: f32, index: u32, offset: [i16; 2], } struct AnnoColor { bbox: [f32; 4], // For stroked fills. // For the nonuniform scale case, this needs to be a 2x2 matrix. // That's expected to be uncommon, so we could special-case it. linewidth: f32, rgba_color: u32, } struct AnnoBeginClip { bbox: [f32; 4], linewidth: f32, } struct AnnoEndClip { bbox: [f32; 4], } enum Annotated { Nop, Color(TagFlags, AnnoColor), Image(TagFlags, AnnoImage), BeginClip(TagFlags, AnnoBeginClip), EndClip(AnnoEndClip), } } }