Track AA-ness and rect-ness in SkConservativeClip

This is needed so that SkNoPixelsDevice can switch to using
SkConservativeClip and more fully implement the SkDevice API.

Tracking the AA-ness allows SkCanvas/SkDevice::isClipAA() to be more
accurate; previously for recording canvases, it always returns false.
Technically, it will still return false after this CL until
SkNoPixelsDevice is updated to use SkConservativClip's new AA tracking.

Tracking whether or not the clip shape remains an intersection of rects
is similarly meant so that SkDevice's getClipType and
SkCanvas::isClipRect are more accurate. Without this tracking,
SkNoPixelsDevice always claimed the clip was a rectangle. This is not
accurate, even if all it needs to otherwise track is the bounds of the
more complex shape. We got away with it because it doesn't seem to be
critically relied on during any recording steps of clients.

Bug: skia:9283
Change-Id: I3acde969aca9d7eb97a7e1c7ab8374e7230b04fa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335825
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
3 files changed