Lines Matching refs:p0
28 void PatchWriter::chopAndWriteQuads(float2 p0, float2 p1, float2 p2, int numPatches) {
31 MiddleOutPolygonTriangulator innerTriangulator(numPatches, to_skpoint(p0));
35 float4 ab = mix(p0.xyxy(), p1.xyxy(), T);
41 CubicPatch(*this) << QuadToCubic{p0, ab.lo, abc.lo}; // Write the 1st quad.
43 TrianglePatch(*this) << p0 << abc.lo << abc.hi;
49 std::tie(p0, p1) = {abc.hi, bc.hi}; // Save the 3rd quad.
53 float2 ab = (p0 + p1) * .5f;
57 CubicPatch(*this) << QuadToCubic{p0, ab, abc}; // Write the 1st quad.
59 TrianglePatch(*this) << p0 << abc << p2;
64 CubicPatch(*this) << QuadToCubic{p0, p1, p2}; // Write the single quad.
72 void PatchWriter::chopAndWriteConics(float2 p0, float2 p1, float2 p2, float w, int numPatches) {
75 MiddleOutPolygonTriangulator innerTriangulator(numPatches, to_skpoint(p0));
77 float4 h0 = float4(p0,1,1);
110 void PatchWriter::chopAndWriteCubics(float2 p0, float2 p1, float2 p2, float2 p3, int numPatches) {
113 MiddleOutPolygonTriangulator innerTriangulator(numPatches, to_skpoint(p0));
117 float4 ab = mix(p0.xyxy(), p1.xyxy(), T);
125 CubicPatch(*this) << p0 << ab.lo << abc.lo << abcd.lo; // Write the 1st cubic.
127 TrianglePatch(*this) << p0 << abcd.lo << abcd.hi;
133 std::tie(p0, p1, p2) = {abcd.hi, bcd.hi, cd.hi}; // Save the 3rd cubic.
137 float2 ab = (p0 + p1) * .5f;
144 CubicPatch(*this) << p0 << ab << abc << abcd; // Write the 1st cubic.
146 TrianglePatch(*this) << p0 << abcd << p3;
151 CubicPatch(*this) << p0 << p1 << p2 << p3; // Write the single cubic.