The Grand Shape Rewrite

Consists of a total of 38 commits, the details of which follow in order of descending dates:

commit 4d9c26a097d8f56d5c69d13f6f504ae061f0dc29
Author: Till Schneidereit <till@tillschneidereit.net>
Date:   Sat Aug 31 18:03:26 2013 +0200

    Move ShapePath drawing from Graphics into a method on ShapePath itself

commit 665fb2c29e23c077394e3f15c0cb5ce0375dafde
Author: Till Schneidereit <till@tillschneidereit.net>
Date:   Sat Aug 31 17:11:30 2013 +0200

    Cleanup to how paths are created in Graphics

    Also fixes a bug in applying moveTo

commit 279d905693e7345e9552957f6655c55967932f67
Author: Till Schneidereit <till@tillschneidereit.net>
Date:   Sat Aug 31 15:43:52 2013 +0200

    Adds reftests for the Graphics drawing API

commit 8eae2fab1c7ee81adbb4a4fab86952e2e48ac0a2
Author: Till Schneidereit <till@tillschneidereit.net>
Date:   Sat Aug 31 15:34:44 2013 +0200

    Examples for fills and strokes drawn with the Graphics API

commit 24cf0603562fc587998d0cb243a598b640c2eae3
Merge: a3d3cf3 1064ba4
Author: Till Schneidereit <till@tillschneidereit.net>
Date:   Sat Aug 31 15:31:22 2013 +0200

    Merge branch 'master' into shape

commit a3d3cf3d37f663e7d3cd87939158286708404e1b
Author: Till Schneidereit <till@tillschneidereit.net>
Date:   Sat Aug 31 15:24:40 2013 +0200

    Stroke hit-testing

commit 2f2b653aac79e3d4da7f558bb0f05329bf830a00
Author: Till Schneidereit <till@tillschneidereit.net>
Date:   Fri Aug 30 16:47:51 2013 +0200

    Cleanup to bezier bounds calculation

commit 2c3463d679de228a0b374b388dcce098478b666c
Author: Till Schneidereit <till@tillschneidereit.net>
Date:   Fri Aug 30 16:06:58 2013 +0200

    Exact bounding boxes for (quadratic and cubic) bezier curves

commit a9f83feb3842760f406fe8714aac1c94ec0228b8
Author: Till Schneidereit <till@tillschneidereit.net>
Date:   Fri Aug 30 14:33:38 2013 +0200

    Example containing various dynamically-drawn shapes as a testing ground for drawing and hit-testing correctness

commit 6634ed84dcfad0294074cade664d392a560b3fa2
Merge: ff98bc5 bec1fe4
Author: Till Schneidereit <till@tillschneidereit.net>
Date:   Fri Aug 30 13:05:39 2013 +0200

    Merge branch 'master' into shape

commit ff98bc56edbb04b3e714f305c4eafe0151c201ed
Author: Till Schneidereit <till@tillschneidereit.net>
Date:   Fri Aug 30 00:55:36 2013 +0200

    Line-drawing fixes

commit da98ff0a7d3466b6183b1ab935ca5de78567874e
Author: Till Schneidereit <till@tillschneidereit.net>
Date:   Thu Aug 29 23:45:25 2013 +0200

    Naming and other cleanup in shape.js

commit 0ae5f3f0fef42a4ff664a506d5db6e1ab235cbdb
Author: Till Schneidereit <till@tillschneidereit.net>
Date:   Thu Aug 29 23:29:07 2013 +0200

    Adds hit-testing support for cubic beziers

commit eec836262f4f04722900edc9d2b3265b85c49cd6
Author: Till Schneidereit <till@tillschneidereit.net>
Date:   Thu Aug 29 14:01:33 2013 +0200

    Adds hit-testing support for quadratic beziers

commit 73cdc942cdf56bd5a203629611514639f66e6650
Author: Till Schneidereit <till@tillschneidereit.net>
Date:   Wed Aug 28 17:51:30 2013 +0200

    Removes ShapePath#arcTo in favor of the more specialized ShapePath#drawRoundCorner and adds hit-testing support for that, circles, ellipses and the WIDE_*_TO commands

commit 3522cf08289cdfa8cc372f02fa55228e35944f2b
Author: Till Schneidereit <till@tillschneidereit.net>
Date:   Mon Aug 26 18:36:39 2013 +0200

    ShapePath#isPointInPath working for shapes consisting only of moveTo and lineTo commands

commit 83ddc7a393b9a516f75e40181b267af8a9000672
Author: Till Schneidereit <till@tillschneidereit.net>
Date:   Sun Aug 25 16:02:03 2013 +0200

    Several bugfixes to shape drawing, Shumway-internal polyfilling of ellipse drawing, start of proper isPointInPath implementation

commit 9ff2f7483648e6c9acbe9f8f0051fcbafa97dde9
Author: Till Schneidereit <till@tillschneidereit.net>
Date:   Fri Aug 23 16:30:28 2013 +0200

    Bug- and lint fixes, naming cleanup

commit 31dfe2d5a54721bd02989427e547e379420939a7
Merge: 5e64ff1 a8b7a49
Author: Till Schneidereit <till@tillschneidereit.net>
Date:   Fri Aug 23 13:42:49 2013 +0200

    Merge branch 'master' into shape

    Applied changes to the same effect as 8b4830da1a474cb754571868dded8d66f75785d6

commit 5e64ff1e34477273c799e86d9a7d343542b1f205
Merge: dcfd829 e3aa108
Author: Till Schneidereit <till@tillschneidereit.net>
Date:   Fri Aug 23 01:02:58 2013 +0200

    merge branch 'master' into shape

    Changes introduced during the merge:
    - renamed bbox members to xMin/Max, yMin/Max everywhere
    - moved all changes to drawing and shape parsing code into the correct places in the new code

commit dcfd8297c7253854e0bfde31a718a9f185131cf2
Merge: 3df2220 1e7bfe7
Author: Till Schneidereit <till@tillschneidereit.net>
Date:   Wed Aug 21 14:34:39 2013 +0200

    Merge branch 'master' into shape

commit 3df2220ddc168af31b6f80abb27c4d3128e785c3
Author: Till Schneidereit <till@tillschneidereit.net>
Date:   Wed Aug 21 14:33:55 2013 +0200

    Optimizations and bugfixes in shape drawing code

commit 1864fd8a8dc85d27aa8958c7ffb794803d30d763
Author: Till Schneidereit <till@tillschneidereit.net>
Date:   Mon Aug 19 23:40:11 2013 +0200

    Removed bounds calculation for individual paths from defineShape processing. It's now done on-demand the first time a hit test is performed.

commit 4b8224c43d9b3c77bb5355f77d8ff21477cf5ecc
Author: Till Schneidereit <till@tillschneidereit.net>
Date:   Mon Aug 19 23:02:32 2013 +0200

    Some bugfixes, some code motion, lots of renaming of properties

commit 489051dab2cb655e8027123c396750a09e8977fd
Author: Till Schneidereit <till@tillschneidereit.net>
Date:   Sun Aug 18 22:45:42 2013 +0200

    Bugfixes

commit 4328f1b55e5b8fe4e8881e79ec1cfddec5060af6
Author: Till Schneidereit <till@tillschneidereit.net>
Date:   Sun Aug 18 21:41:23 2013 +0200

    Fully initialize ShapePaths after receiving them on the main thread

commit d8935b988d6591cb8fd5ac13039afa3659908633
Author: Till Schneidereit <till@tillschneidereit.net>
Date:   Sun Aug 18 21:13:46 2013 +0200

    Add bounds calculation for individual paths to defineShape tag processing

commit f8732c5cf8f65ee4224d46243b877968d6b6aeb6
Author: Till Schneidereit <till@tillschneidereit.net>
Date:   Sun Aug 18 13:23:22 2013 +0200

    Preliminary support for MorphShapes

commit 7bb8e127c6e1de0ab1014d50dfe832d35626caeb
Author: Till Schneidereit <till@tillschneidereit.net>
Date:   Fri Aug 16 15:41:31 2013 +0200

    Support line-style settings for caps, joins, and miter limit in refactored shape processing and drawing

commit 7f22f79daf7e91f4e3f72139bc51f0611eef8103
Author: Till Schneidereit <till@tillschneidereit.net>
Date:   Fri Aug 16 14:17:31 2013 +0200

    Support gradient and bitmap fills in refactored shape processing and drawing

commit 75c19733b1ed5c586309055f329d72cfa862f7aa
Author: Till Schneidereit <till@tillschneidereit.net>
Date:   Thu Aug 8 00:23:22 2013 +0200

    Makes the commands and data lists in ShapePath typed

commit d4d3d0091ef57af5d94cc762c0175ba4cbede95f
Author: Till Schneidereit <till@tillschneidereit.net>
Date:   Sat Aug 3 00:24:44 2013 +0200

    More bugfixes to defineShape rewrite

commit db6029e8f104ac5b3aa3a90a648baa8a6e4a8e2e
Author: Till Schneidereit <till@tillschneidereit.net>
Date:   Fri Aug 2 01:48:34 2013 +0200

    Testcases used for defineShape testing and debugging

commit f2cade6b59014f97899ad299542778c592067ca1
Author: Till Schneidereit <till@tillschneidereit.net>
Date:   Fri Aug 2 01:47:06 2013 +0200

    Fixes the defineShape-data transformations for drawing to Canvas

commit ddd0e00ad7d66ab55807c79c1a5cb81acf9298e5
Author: Till Schneidereit <till@tillschneidereit.net>
Date:   Sun Jul 28 21:12:27 2013 +0200

    First WIP of swf/shape.js rewrite

commit 47ae13e03ffd561a03e6939d062a206dea15a601
Author: Till Schneidereit <tschneidereit@gmail.com>
Date:   Mon Jul 22 20:32:21 2013 +0200

    Change shape parsing code not create Kanvas.Path ctors with SVG-path string args

    The Polyfill for Canvas Path is very slow and forces a round-trip through a string for the entire path data.

    Instead, Kanvas.Path is still used, but the contents are set via explicit calls to path.moveTo/lineTo/bezierCurveTo.

commit 2f8265a38fa47f637db572e2633f21f2a9521cee
Author: Till Schneidereit <tschneidereit@gmail.com>
Date:   Mon Jul 22 11:35:38 2013 +0200

    Remove unnecessary entrainment of `dictionary` var into StaticText drawing function

commit 8303079141b46841784d10f4a7ff450d081f8580
Author: Till Schneidereit <tschneidereit@gmail.com>
Date:   Mon Jul 22 10:36:50 2013 +0200

    Fixes bug in canvas text format string creation
Move `morph` function used in ShapePath drawing from Graphics to shape module
Merge pull request #597 from tschneidereit/master

The Grand Shape Rewrite