Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dc16e24a authored by Derek Sollenberger's avatar Derek Sollenberger Committed by Android (Google) Code Review
Browse files

Merge "Add conic support to HWUI path tessellator."

parents aff57b75 b0772a6c
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@

#include <SkPath.h>
#include <SkPaint.h>
#include <SkGeometry.h> // WARNING: Internal Skia Header

#include <stdlib.h>
#include <stdint.h>
@@ -951,6 +952,21 @@ bool PathTessellator::approximatePathOutlineVertices(const SkPath& path, bool fo
                        pts[2].x(), pts[2].y(),
                        sqrInvScaleX, sqrInvScaleY, thresholdSquared, outputVertices);
                break;
            case SkPath::kConic_Verb: {
                ALOGV("kConic_Verb");
                SkAutoConicToQuads converter;
                const SkPoint* quads = converter.computeQuads(pts, iter.conicWeight(),
                        thresholdSquared);
                for (int i = 0; i < converter.countQuads(); ++i) {
                    const int offset = 2 * i;
                    recursiveQuadraticBezierVertices(
                            quads[offset].x(), quads[offset].y(),
                            quads[offset+2].x(), quads[offset+2].y(),
                            quads[offset+1].x(), quads[offset+1].y(),
                            sqrInvScaleX, sqrInvScaleY, thresholdSquared, outputVertices);
                }
                break;
            }
            default:
                break;
            }