Reorg helper functions in prep for function pointer caching
This does several pure refactoring changes:
1. Adds reset() functions to each helper struct type instead of having
TessellationHelper impl. the struct's reset logic.
2. Moves computeDegenerateQuad() to EdgeEquations.
3. Separate adjustVertices() into adjust and adjustDegenerate varieties, and
have it take a signed distance. This makes it no longer branch on degeneracy
or on whether or not it's insetting or outsetting.
4. The top-level inset()/outset() functions apply the appropriate sign to the
edge distances, and use the appropriate adjust or adjustDegenerate function
based on the inset/outset degenerate flag in OutsetRequest. Essentially all
the old branching in adjustVertices() is baked into the choice of inset() or
outset().
5. Rearranged the structs and function definitions so no forward declarations
were needed, and functions in CPP matched H order.
The major functional change with this is that adjustDegenerate() now has
an optimized case for rectilinear quads, where it can continue to use
moveAlong() but with smaller inset distances.
Change-Id: Ifc7f4537a4e89e82c74e831ab1cd00ffc4daaa4f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256777
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2 files changed