| // SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense |
| |
| struct Bic { |
| a: u32, |
| b: u32, |
| } |
| |
| fn bic_combine(x: Bic, y: Bic) -> Bic { |
| let m = min(x.b, y.a); |
| return Bic(x.a + y.a - m, x.b + y.b - m); |
| } |
| |
| struct ClipInp { |
| // Index of the draw object. |
| ix: u32, |
| // This is a packed encoding of an enum with the sign bit as the tag. If positive, |
| // this entry is a BeginClip and contains the associated path index. If negative, |
| // it is an EndClip and contains the bitwise-not of the EndClip draw object index. |
| path_ix: i32, |
| } |
| |
| struct ClipEl { |
| parent_ix: u32, |
| bbox: vec4<f32>, |
| } |