2010-09-22  Kenneth Russell  <kbr@google.com>
2010-09-22  Kenneth Russell  <kbr@google.com>

        Reviewed by James Robinson.

        Add local triangulation of cubic curve control points
        https://bugs.webkit.org/show_bug.cgi?id=45252

        Adding a localized triangulation algorithm which takes as input
        the four control points of a cubic curve segment and provides both
        triangles as well as the ability to walk the interior edges. The
        latter will be used later to fill the interior of shapes bounded
        by these cubic curves, quadratic curves and line segments.

        * platform/graphics/gpu/LoopBlinnLocalTriangulator.cpp: Added.
        (WebCore::LoopBlinnLocalTriangulator::Triangle::contains):
        (WebCore::LoopBlinnLocalTriangulator::Triangle::nextVertex):
        (WebCore::LoopBlinnLocalTriangulator::Triangle::indexForVertex):
        (WebCore::LoopBlinnLocalTriangulator::Triangle::makeCounterClockwise):
        (WebCore::LoopBlinnLocalTriangulator::LoopBlinnLocalTriangulator):
        (WebCore::LoopBlinnLocalTriangulator::reset):
        (WebCore::LoopBlinnLocalTriangulator::triangulate):
        (WebCore::LoopBlinnLocalTriangulator::triangulateHelper):
        (WebCore::LoopBlinnLocalTriangulator::addTriangle):
        (WebCore::LoopBlinnLocalTriangulator::addInteriorVertex):
        (WebCore::LoopBlinnLocalTriangulator::isSharedEdge):
        * platform/graphics/gpu/LoopBlinnLocalTriangulator.h: Added.
        (WebCore::LoopBlinnLocalTriangulator::Vertex::Vertex):
        (WebCore::LoopBlinnLocalTriangulator::Vertex::xyCoordinates):
        (WebCore::LoopBlinnLocalTriangulator::Vertex::klmCoordinates):
        (WebCore::LoopBlinnLocalTriangulator::Vertex::set):
        (WebCore::LoopBlinnLocalTriangulator::Vertex::end):
        (WebCore::LoopBlinnLocalTriangulator::Vertex::setEnd):
        (WebCore::LoopBlinnLocalTriangulator::Vertex::marked):
        (WebCore::LoopBlinnLocalTriangulator::Vertex::setMarked):
        (WebCore::LoopBlinnLocalTriangulator::Vertex::interior):
        (WebCore::LoopBlinnLocalTriangulator::Vertex::setInterior):
        (WebCore::LoopBlinnLocalTriangulator::Vertex::resetFlags):
        (WebCore::LoopBlinnLocalTriangulator::Triangle::Triangle):
        (WebCore::LoopBlinnLocalTriangulator::Triangle::getVertex):
        (WebCore::LoopBlinnLocalTriangulator::Triangle::setVertices):
        (WebCore::LoopBlinnLocalTriangulator::getVertex):
        (WebCore::LoopBlinnLocalTriangulator::numberOfTriangles):
        (WebCore::LoopBlinnLocalTriangulator::getTriangle):
        (WebCore::LoopBlinnLocalTriangulator::numberOfInteriorVertices):
        (WebCore::LoopBlinnLocalTriangulator::getInteriorVertex):


git-svn-id: bf5cd6ccde378db821296732a091cfbcf5285fbd@68045 bbb929c8-8fbe-4397-9dbb-9b2b20218538
jtg-gg/blink,jtg-gg/blink,modulexcite/blink,PeterWangIntel/blink-crosswalk,hgl888/blink-crosswalk-efl,ondra-novak/blink,crosswalk-project/blink-crosswalk-efl,Bysmyyr/blink-crosswalk,Bysmyyr/blink-crosswalk,Bysmyyr/blink-crosswalk,modulexcite/blink,kurli/blink-crosswalk,hgl888/blink-crosswalk-efl,Bysmyyr/blink-crosswalk,PeterWangIntel/blink-crosswalk,smishenk/blink-crosswalk,hgl888/blink-crosswalk-efl,ondra-novak/blink,nwjs/blink,XiaosongWei/blink-crosswalk,nwjs/blink,ondra-novak/blink,nwjs/blink,PeterWangIntel/blink-crosswalk,modulexcite/blink,crosswalk-project/blink-crosswalk-efl,XiaosongWei/blink-crosswalk,Pluto-tv/blink-crosswalk,kurli/blink-crosswalk,Bysmyyr/blink-crosswalk,kurli/blink-crosswalk,Bysmyyr/blink-crosswalk,hgl888/blink-crosswalk-efl,modulexcite/blink,XiaosongWei/blink-crosswalk,nwjs/blink,Bysmyyr/blink-crosswalk,modulexcite/blink,PeterWangIntel/blink-crosswalk,crosswalk-project/blink-crosswalk-efl,ondra-novak/blink,smishenk/blink-crosswalk,kurli/blink-crosswalk,PeterWangIntel/blink-crosswalk,nwjs/blink,jtg-gg/blink,crosswalk-project/blink-crosswalk-efl,ondra-novak/blink,kurli/blink-crosswalk,smishenk/blink-crosswalk,modulexcite/blink,jtg-gg/blink,smishenk/blink-crosswalk,hgl888/blink-crosswalk-efl,ondra-novak/blink,Pluto-tv/blink-crosswalk,Pluto-tv/blink-crosswalk,jtg-gg/blink,crosswalk-project/blink-crosswalk-efl,Pluto-tv/blink-crosswalk,XiaosongWei/blink-crosswalk,XiaosongWei/blink-crosswalk,crosswalk-project/blink-crosswalk-efl,nwjs/blink,hgl888/blink-crosswalk-efl,nwjs/blink,nwjs/blink,ondra-novak/blink,PeterWangIntel/blink-crosswalk,XiaosongWei/blink-crosswalk,jtg-gg/blink,Pluto-tv/blink-crosswalk,smishenk/blink-crosswalk,jtg-gg/blink,Pluto-tv/blink-crosswalk,jtg-gg/blink,kurli/blink-crosswalk,hgl888/blink-crosswalk-efl,PeterWangIntel/blink-crosswalk,modulexcite/blink,modulexcite/blink,hgl888/blink-crosswalk-efl,Pluto-tv/blink-crosswalk,XiaosongWei/blink-crosswalk,Pluto-tv/blink-crosswalk,Bysmyyr/blink-crosswalk,nwjs/blink,jtg-gg/blink,kurli/blink-crosswalk,PeterWangIntel/blink-crosswalk,PeterWangIntel/blink-crosswalk,Bysmyyr/blink-crosswalk,modulexcite/blink,smishenk/blink-crosswalk,crosswalk-project/blink-crosswalk-efl,ondra-novak/blink,hgl888/blink-crosswalk-efl,smishenk/blink-crosswalk,XiaosongWei/blink-crosswalk,Bysmyyr/blink-crosswalk,kurli/blink-crosswalk,smishenk/blink-crosswalk,smishenk/blink-crosswalk,Pluto-tv/blink-crosswalk,crosswalk-project/blink-crosswalk-efl,smishenk/blink-crosswalk,Pluto-tv/blink-crosswalk,XiaosongWei/blink-crosswalk,nwjs/blink,PeterWangIntel/blink-crosswalk,kurli/blink-crosswalk,ondra-novak/blink,crosswalk-project/blink-crosswalk-efl,hgl888/blink-crosswalk-efl,jtg-gg/blink,modulexcite/blink,XiaosongWei/blink-crosswalk,kurli/blink-crosswalk