History log of /external/skia/tests/GrShapeTest.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
f809c1ec98854b6d0e604744a1fc5f9a4ff493be 13-Jan-2017 Robert Phillips <robertphillips@google.com> Try out new refFoo pattern on GrStyle

Change-Id: Ic7f30e3730a3431adf365d729320fe50f38dcea8
Reviewed-on: https://skia-review.googlesource.com/6907
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
/external/skia/tests/GrShapeTest.cpp
ebfce6d9b42198e04288a15953f40c395a7b6139 12-Dec-2016 Mike Reed <reed@google.com> change SkClipOp to a class enum

BUG=skia:

Change-Id: I25dbe6d6b8666a2a0a7be7bdd2ae0b067868d14e
Reviewed-on: https://skia-review.googlesource.com/5718
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/tests/GrShapeTest.cpp
c1f7774e8d327e3c98b4094c9c01d26e27013f71 09-Dec-2016 Mike Reed <reed@google.com> Revert[2] "remove SK_SUPPORT_LEGACY_CLIP_REGIONOPS"

This reverts commit a129dfef2aaab0b5995cdf1ab7b2cdd41c29cf72.

BUG=skia:

Change-Id: I717de6e5fcd4516aa684b014b1414b0f82ac2b91
Reviewed-on: https://skia-review.googlesource.com/5722
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
/external/skia/tests/GrShapeTest.cpp
a129dfef2aaab0b5995cdf1ab7b2cdd41c29cf72 09-Dec-2016 Mike Reed <reed@google.com> Revert "remove SK_SUPPORT_LEGACY_CLIP_REGIONOPS"

This reverts commit 8e7432b7f98dd592e529a0c8bb038d73ebfb0478.

Reason for revert: <INSERT REASONING HERE>

external/skia/bench/../tools/android/SkAndroidSDKCanvas.h:103:36: error: C++ requires a type specifier for all declarations
void onClipRect(const SkRect&, ClipOp, ClipEdgeStyle) override;

Original change's description:
> remove SK_SUPPORT_LEGACY_CLIP_REGIONOPS
>
>
> switch over to SkClipOps now that SK_SUPPORT_LEGACY_CLIP_REGIONOPS is gone
>
> BUG=skia:
>
> Change-Id: Ifdc8b3746d508348a40cc009a4e529a1cb3c405d
> Reviewed-on: https://skia-review.googlesource.com/5714
> Commit-Queue: Mike Reed <reed@google.com>
> Reviewed-by: Mike Reed <reed@google.com>
>

TBR=reed@google.com,reviews@skia.org
BUG=skia:
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: If26ea91d7464615e43c1d3d2f726e337ff56b55c
Reviewed-on: https://skia-review.googlesource.com/5721
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
/external/skia/tests/GrShapeTest.cpp
8e7432b7f98dd592e529a0c8bb038d73ebfb0478 08-Dec-2016 Mike Reed <reed@google.com> remove SK_SUPPORT_LEGACY_CLIP_REGIONOPS


switch over to SkClipOps now that SK_SUPPORT_LEGACY_CLIP_REGIONOPS is gone

BUG=skia:

Change-Id: Ifdc8b3746d508348a40cc009a4e529a1cb3c405d
Reviewed-on: https://skia-review.googlesource.com/5714
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
/external/skia/tests/GrShapeTest.cpp
fc6c37b981daeece7474ce61070c707c37eefa62 27-Sep-2016 Mike Klein <mtklein@chromium.org> Remove stray semicolons.

Turns out function declarations don't end in semicolons...

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2720

No public API changes.
TBR=reed@google.com

Change-Id: I72b56d52e1ff7fa6e89c295b0de8c46599791ebb
Reviewed-on: https://skia-review.googlesource.com/2720
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
/external/skia/tests/GrShapeTest.cpp
aa840647fc7f057715bce62489b96c4299385135 23-Sep-2016 bsalomon <bsalomon@google.com> Don't compute path keys for volatile paths in GrShape.

Otherwise, we will compute cache keys for internally transformed paths that don't repeat (e.g. clip paths transformed into device space with a changing view matrix).

BUG=chromium:649562
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2369513002

Review-Url: https://codereview.chromium.org/2369513002
/external/skia/tests/GrShapeTest.cpp
67fa4e31d885acf74514527a2cc3ed759c05d3c4 21-Sep-2016 bsalomon <bsalomon@google.com> Make GrShape compute keys for short paths from path data instead of using the gen id.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2357643002

Review-Url: https://codereview.chromium.org/2357643002
/external/skia/tests/GrShapeTest.cpp
73603f3c52ffd89fe9d035be827b566a0e7d3b79 20-Sep-2016 reed <reed@google.com> abstract name of clipping ops, to transtion to a more restricted set

SkRegion::Op --> SkCanvas::ClipOp (alias) --> SkClipOp

pre-CL needed in chrome : https://codereview.chromium.org/2355583002/

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2355483002

Review-Url: https://codereview.chromium.org/2355483002
/external/skia/tests/GrShapeTest.cpp
164fd9fa46cf75915f9a1df4492a74703a7f1842 26-Aug-2016 bsalomon <bsalomon@google.com> Fix bounds check in grshape test
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2274113004

Review-Url: https://codereview.chromium.org/2274113004
/external/skia/tests/GrShapeTest.cpp
a395f7c7a5a598a27528b30b0f1d112cdeeb4a9e 25-Aug-2016 bsalomon <bsalomon@google.com> Update GrShape test to allow more flexible shape creation.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2277483002

Review-Url: https://codereview.chromium.org/2277483002
/external/skia/tests/GrShapeTest.cpp
487f8d385be2e0dcc7e46339d7bb12e4820b91c8 20-Jul-2016 bsalomon <bsalomon@google.com> Consolidate special case shape transformation logic in GrShapeTest.

Enable all tests on all geometry types.

Add conversion of fill+miter-stroke->fill for rect geometries in GrShape.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2157013003

Review-Url: https://codereview.chromium.org/2157013003
/external/skia/tests/GrShapeTest.cpp
0ae36a2cebf35c68c3013383d3b640f70034be55 18-Jul-2016 bsalomon <bsalomon@google.com> In GrShape detect that stroked axis-aligned lines are rrects.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2151313002

Review-Url: https://codereview.chromium.org/2151313002
/external/skia/tests/GrShapeTest.cpp
0a0f67ececbdf1a7f81296ed0d2cb9e3bc00e4dc 28-Jun-2016 bsalomon <bsalomon@google.com> Make lines a special case in GrShape

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2108523002

Committed: https://skia.googlesource.com/skia/+/c62318c748a1907649bd75382c4f4fd10533f2b3
Review-Url: https://codereview.chromium.org/2108523002
/external/skia/tests/GrShapeTest.cpp
635df95a9a25c66959f76b4bbb594b75333ded21 28-Jun-2016 bsalomon <bsalomon@google.com> Revert of Make lines a special case in GrShape (patchset #5 id:120001 of https://codereview.chromium.org/2108523002/ )

Reason for revert:
Assertion failures

Original issue's description:
> Make lines a special case in GrShape
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2108523002
>
> Committed: https://skia.googlesource.com/skia/+/c62318c748a1907649bd75382c4f4fd10533f2b3

TBR=robertphillips@google.com,egdaniel@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review-Url: https://codereview.chromium.org/2109613003
/external/skia/tests/GrShapeTest.cpp
c62318c748a1907649bd75382c4f4fd10533f2b3 28-Jun-2016 bsalomon <bsalomon@google.com> Make lines a special case in GrShape

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2108523002

Review-Url: https://codereview.chromium.org/2108523002
/external/skia/tests/GrShapeTest.cpp
425c27fab9d82d19b0bce7c091533d546465bbae 23-Jun-2016 bsalomon <bsalomon@google.com> Add some more getters to GrShape.

These will be used to deploy GrShape in GrPathRenderer subclasses.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2070643002

Review-Url: https://codereview.chromium.org/2070643002
/external/skia/tests/GrShapeTest.cpp
ac5fcea9c3ec32a87bfd8cb96531e82097a1d861 23-Jun-2016 bsalomon <bsalomon@google.com> Fix Rob's nits from https://codereview.chromium.org/2085913003

TBR=robertphillips@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2087393003

Review-Url: https://codereview.chromium.org/2087393003
/external/skia/tests/GrShapeTest.cpp
a4817afe5095b67a68c907ff2e48e3e07907140c 23-Jun-2016 bsalomon <bsalomon@google.com> Canonicalize path fill types for stroked paths in GrShape.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2085913003

Review-Url: https://codereview.chromium.org/2085913003
/external/skia/tests/GrShapeTest.cpp
93f66bc3af522fdd2a5315407ba6d3f65c13fd1c 21-Jun-2016 bsalomon <bsalomon@google.com> Apply canonicalizations to path GrShapes.

The following canonicalizations of path-backed GrShapes are added:

*convex shapes are stored with even/odd (or inv even/odd) fill.

*filled paths are closed.

*dashed paths ignore inverseness of the fill

This will improve the results of queries about the geometry that will be added in a future change.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2067283003

Review-Url: https://codereview.chromium.org/2067283003
/external/skia/tests/GrShapeTest.cpp
1b28c1adc1e156831d5332546e942b63fd29075b 20-Jun-2016 bsalomon <bsalomon@google.com> Some simplifications of GrShape reductions/canonicalizations
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2064113004

Review-Url: https://codereview.chromium.org/2064113004
/external/skia/tests/GrShapeTest.cpp
fd32df716cfc787a3ac50efb293a9317a97078c5 14-Jun-2016 bsalomon <bsalomon@google.com> Fix GrShape to preserve inverseness of rrects for strokes but not dashes.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2051263003

Review-Url: https://codereview.chromium.org/2051263003
/external/skia/tests/GrShapeTest.cpp
398e3f4b9f67e0c7f635e68cae1ff7f42213bbfc 13-Jun-2016 bsalomon <bsalomon@google.com> Add control over whether lines are special cased in SkDashPath. Disable when called from GrShape.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2055253002

Review-Url: https://codereview.chromium.org/2055253002
/external/skia/tests/GrShapeTest.cpp
cadb5a24c20d809c09d93af155a085b56cbfd2cc 11-Jun-2016 bsalomon <bsalomon@google.com> Make large array of GrShapes in test code heap allocated

TBR=mtklein@chormium.org
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2058343002

Review-Url: https://codereview.chromium.org/2058343002
/external/skia/tests/GrShapeTest.cpp
7049396b65660907af5292d899053280430d929a 10-Jun-2016 bsalomon <bsalomon@google.com> Make GrShape capable of representing inverse filled rrects.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2056523002

Review-Url: https://codereview.chromium.org/2056523002
/external/skia/tests/GrShapeTest.cpp
a058786ae3cd9402194de94f6658a19efe3f34ef 09-Jun-2016 bsalomon <bsalomon@google.com> Make SkDashPathEffect fail for stroke+fill style (in addition to fill style)
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2048183002

Review-Url: https://codereview.chromium.org/2048183002
/external/skia/tests/GrShapeTest.cpp
d67238421d661ea5dfd110a8028973801a7d42a1 07-Jun-2016 bsalomon <bsalomon@google.com> Make GrShape use the original path when path effect fails.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2044793002

Review-Url: https://codereview.chromium.org/2044793002
/external/skia/tests/GrShapeTest.cpp
06115ee4300ef6756729dfbcb3e2fc70ebf0413a 07-Jun-2016 bsalomon <bsalomon@google.com> Get segment masks from GrShape.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2046753002

Review-Url: https://codereview.chromium.org/2046753002
/external/skia/tests/GrShapeTest.cpp
ee295645bd91fcbe1714847c5fe5341759037cc5 06-Jun-2016 bsalomon <bsalomon@google.com> Make GrShape track the winding direction and starting point for rrect types.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2042813002

Review-Url: https://codereview.chromium.org/2042813002
/external/skia/tests/GrShapeTest.cpp
9fb420393ee1c24fc3282b7155985fa8fa7bcad4 13-May-2016 bsalomon <bsalomon@google.com> Add bounds to GrShape
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1970003003

Review-Url: https://codereview.chromium.org/1970003003
/external/skia/tests/GrShapeTest.cpp
7c73a53894927d222d4aceed96893daae8ea14f1 12-May-2016 bsalomon <bsalomon@google.com> Add isEmpty() query to GrShape and improve comments.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1971613004

Review-Url: https://codereview.chromium.org/1971613004
/external/skia/tests/GrShapeTest.cpp
97fd2d42b97104fa32a58d7e7a5b7255913f9c9d 09-May-2016 bsalomon <bsalomon@google.com> Incorporate scale into GrStyle and GrShape
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1952383003

Review-Url: https://codereview.chromium.org/1952383003
/external/skia/tests/GrShapeTest.cpp
1a0b9ed7d8e16a8ebc34732b5e54246003921423 06-May-2016 bsalomon <bsalomon@google.com> Fix issue where GrStyle::applyToPath exited before applying stroke
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1954123002

Review-Url: https://codereview.chromium.org/1954123002
/external/skia/tests/GrShapeTest.cpp
f0cf355b55eec7dacaa6c8e87c736e359b3ee278 05-May-2016 bsalomon <bsalomon@google.com> Stop banning stroke-and-fill for GrStyle and add tests

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1949943003

Review-Url: https://codereview.chromium.org/1949943003
/external/skia/tests/GrShapeTest.cpp
06077565b18714ff3fc0db9118e2c21f6f25243f 04-May-2016 bsalomon <bsalomon@google.com> Make cap only affect the keys of GrShapes that are possibly-open

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1949193002

Review-Url: https://codereview.chromium.org/1949193002
/external/skia/tests/GrShapeTest.cpp
9ad5d7c84b553e46ce0563ed1162bdb6ee6bd5c3 04-May-2016 bsalomon <bsalomon@google.com> Add some more testing around hairline GrShapes
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1949903002

Review-Url: https://codereview.chromium.org/1949903002
/external/skia/tests/GrShapeTest.cpp
fb08327e592a1dd19a0c3107243ccd01f6b7f848 04-May-2016 bsalomon <bsalomon@google.com> Expand GrStyle's interface.

Adds some basic getters on GrStyle as well as static const instances for fill and hairline.

Adds the ability to apply a GrStyle to a SkPath to produce an output SkPath.

Moves style key functions from GrShape to GrStyle.

Also fixes some issues with SkPath creation when applying style to GrShapes.

Adds tests that GrShape produces the correct SkPath when its GrStyle is applied.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1951613002

Review-Url: https://codereview.chromium.org/1951613002
/external/skia/tests/GrShapeTest.cpp
5e410b4a68d11a06c331139905171952ef535cf8 28-Apr-2016 bsalomon <bsalomon@google.com> Detect empty (r)rects in GrShape.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1929643002

Review-Url: https://codereview.chromium.org/1929643002
/external/skia/tests/GrShapeTest.cpp
4eeccc9de7d2381df85d68e0331a40cddf5989b1 27-Apr-2016 bsalomon <bsalomon@google.com> Add tests for volatile paths to GrShapeTest

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1923403003

Review-Url: https://codereview.chromium.org/1923403003
/external/skia/tests/GrShapeTest.cpp
409ed73237c1fc42ea49ae89efdc4cddc7b6f600 27-Apr-2016 bsalomon <bsalomon@google.com> Add tests for empty GrShapes.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1927673002

Review-Url: https://codereview.chromium.org/1927673002
/external/skia/tests/GrShapeTest.cpp
72dc51c288169f38177c71081090581c5ff415b1 27-Apr-2016 bsalomon <bsalomon@google.com> Add support for building GrShape from SkPath and more tests
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1922713002

Review URL: https://codereview.chromium.org/1922713002
/external/skia/tests/GrShapeTest.cpp
47cc7691181e3c9d74f7d66d5bc3c0b7ac7855d5 26-Apr-2016 bsalomon <bsalomon@google.com> Add initial implementation of GrShape and GrStyle classes and tests

The initial intent is to use GrShape to simplify the mask blur code paths. However, I also want to use this to explore a more unified drawing code flow for different geometry types. The goal is to have a single representation for geometries+styling that attempts to always keep the geometry in the simplest form (e.g. preferring rrects to paths). It also allows for converting styling information into modified geometry and for computing consistent keys.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1822723003

Committed: https://skia.googlesource.com/skia/+/c885dacfe4625af8b0e2e5c6e8a8ae8dc2d620a8

Committed: https://skia.googlesource.com/skia/+/824e58fc6df8fc149d9675f577f7deeaba698b09

Review URL: https://codereview.chromium.org/1822723003
/external/skia/tests/GrShapeTest.cpp
82ecc5773faa0068186557f8ab2957620a7d72ea 26-Apr-2016 bsalomon <bsalomon@google.com> Revert of Add initial implementation of GrShape and GrStyle classes and tests (patchset #11 id:280001 of https://codereview.chromium.org/1822723003/ )

Reason for revert:
test failing

Original issue's description:
> Add initial implementation of GrShape and GrStyle classes and tests
>
> The initial intent is to use GrShape to simplify the mask blur code paths. However, I also want to use this to explore a more unified drawing code flow for different geometry types. The goal is to have a single representation for geometries+styling that attempts to always keep the geometry in the simplest form (e.g. preferring rrects to paths). It also allows for converting styling information into modified geometry and for computing consistent keys.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1822723003
>
> Committed: https://skia.googlesource.com/skia/+/c885dacfe4625af8b0e2e5c6e8a8ae8dc2d620a8
>
> Committed: https://skia.googlesource.com/skia/+/824e58fc6df8fc149d9675f577f7deeaba698b09

TBR=robertphillips@google.com,egdaniel@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1919243002
/external/skia/tests/GrShapeTest.cpp
824e58fc6df8fc149d9675f577f7deeaba698b09 26-Apr-2016 bsalomon <bsalomon@google.com> Add initial implementation of GrShape and GrStyle classes and tests

The initial intent is to use GrShape to simplify the mask blur code paths. However, I also want to use this to explore a more unified drawing code flow for different geometry types. The goal is to have a single representation for geometries+styling that attempts to always keep the geometry in the simplest form (e.g. preferring rrects to paths). It also allows for converting styling information into modified geometry and for computing consistent keys.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1822723003

Committed: https://skia.googlesource.com/skia/+/c885dacfe4625af8b0e2e5c6e8a8ae8dc2d620a8

Review URL: https://codereview.chromium.org/1822723003
/external/skia/tests/GrShapeTest.cpp
83af0a63b1d91c7cd4306c4bcdfb60f99b5cbb46 26-Apr-2016 robertphillips <robertphillips@google.com> Revert of Add initial implementation of GrShape and GrStyle classes and tests (patchset #10 id:260001 of https://codereview.chromium.org/1822723003/ )

Reason for revert:
From what I can tell, this compiles on 2015 but not 2013.

Original issue's description:
> Add initial implementation of GrShape and GrStyle classes and tests
>
> The initial intent is to use GrShape to simplify the mask blur code paths. However, I also want to use this to explore a more unified drawing code flow for different geometry types. The goal is to have a single representation for geometries+styling that attempts to always keep the geometry in the simplest form (e.g. preferring rrects to paths). It also allows for converting styling information into modified geometry and for computing consistent keys.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1822723003
>
> Committed: https://skia.googlesource.com/skia/+/c885dacfe4625af8b0e2e5c6e8a8ae8dc2d620a8

TBR=egdaniel@google.com,bsalomon@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1918203002
/external/skia/tests/GrShapeTest.cpp
c885dacfe4625af8b0e2e5c6e8a8ae8dc2d620a8 25-Apr-2016 bsalomon <bsalomon@google.com> Add initial implementation of GrShape and GrStyle classes and tests

The initial intent is to use GrShape to simplify the mask blur code paths. However, I also want to use this to explore a more unified drawing code flow for different geometry types. The goal is to have a single representation for geometries+styling that attempts to always keep the geometry in the simplest form (e.g. preferring rrects to paths). It also allows for converting styling information into modified geometry and for computing consistent keys.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1822723003

Review URL: https://codereview.chromium.org/1822723003
/external/skia/tests/GrShapeTest.cpp