Reviewed by Hyatt.
authorbdakin <bdakin@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 31 May 2006 21:30:21 +0000 (21:30 +0000)
committerbdakin <bdakin@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 31 May 2006 21:30:21 +0000 (21:30 +0000)
commit748240560516ef26b6c1072c5592e85d887122ab
tree121e5d07f83a9be960a251652b9d9930b7250ba5
parente5e68efc136a9b05b31c5a56a1cf2e5e3af2bf02
    Reviewed by Hyatt.

        Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6755 CSS3:
        Borders rounded with border-radius don't draw the roundings

        This patch does not draw all of the different border styles
        perfectly, so I have filed a few followup bugs that I will
        reference from this Bugzilla.

        * platform/GraphicsContext.h:
        * platform/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::drawArc): drawArc() has different
        parameters now, but mostly this needs to be implemented to match
        the Mac side later.
        (WebCore::GraphicsContext::addRoundedRectClip): Just a stub.
        Implement this later.
        (WebCore::GraphicsContext::addInnerRoundedRectClip): Just a stub.
        Implement this later.
        * platform/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::drawArc): drawArc() now handles drawing
        elliptical arcs as well as circular arcs, it also takes a thickness
        parameter to draw an arc of a given thickness and draws with the
        appropriate pen style.
        (WebCore::GraphicsContext::addInnerRoundedRectClip): Adds a clip to
        the inside of an arc instead of to the outside which is already
        done by addRoundedClipRect()
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::drawBorderArc): Draws the border arcs in
        the appropriate styles.
        (WebCore::RenderObject::paintBorder): Calls drawBorderArc() when
        border arcs are needed.
        * rendering/RenderObject.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14650 268f45cc-cd09-0410-ab3c-d52691b4dbfc
79 files changed:
LayoutTests/ChangeLog
LayoutTests/fast/borders/borderRadiusDashed01-expected.checksum [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusDashed01-expected.png [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusDashed01-expected.txt [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusDashed01.html [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusDashed02-expected.checksum [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusDashed02-expected.png [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusDashed02-expected.txt [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusDashed02.html [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusDashed03-expected.checksum [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusDashed03-expected.png [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusDashed03-expected.txt [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusDashed03.html [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusDotted01-expected.checksum [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusDotted01-expected.png [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusDotted01-expected.txt [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusDotted01.html [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusDotted02-expected.checksum [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusDotted02-expected.png [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusDotted02-expected.txt [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusDotted02.html [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusDotted03-expected.checksum [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusDotted03-expected.png [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusDotted03-expected.txt [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusDotted03.html [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusDouble01-expected.checksum [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusDouble01-expected.png [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusDouble01-expected.txt [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusDouble01.html [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusDouble02-expected.checksum [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusDouble02-expected.png [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusDouble02-expected.txt [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusDouble02.html [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusDouble03-expected.checksum [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusDouble03-expected.png [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusDouble03-expected.txt [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusDouble03.html [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusGroove01-expected.checksum [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusGroove01-expected.png [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusGroove01-expected.txt [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusGroove01.html [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusGroove02-expected.checksum [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusGroove02-expected.png [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusGroove02-expected.txt [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusGroove02.html [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusInset01-expected.checksum [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusInset01-expected.png [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusInset01-expected.txt [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusInset01.html [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusOutset01-expected.checksum [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusOutset01-expected.png [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusOutset01-expected.txt [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusOutset01.html [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusRidge01-expected.checksum [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusRidge01-expected.png [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusRidge01-expected.txt [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusRidge01.html [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusSolid01-expected.checksum [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusSolid01-expected.png [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusSolid01-expected.txt [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusSolid01.html [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusSolid02-expected.checksum [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusSolid02-expected.png [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusSolid02-expected.txt [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusSolid02.html [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusSolid03-expected.checksum [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusSolid03-expected.png [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusSolid03-expected.txt [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusSolid03.html [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusSolid04-expected.checksum [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusSolid04-expected.png [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusSolid04-expected.txt [new file with mode: 0644]
LayoutTests/fast/borders/borderRadiusSolid04.html [new file with mode: 0644]
WebCore/ChangeLog
WebCore/platform/GraphicsContext.h
WebCore/platform/cairo/GraphicsContextCairo.cpp
WebCore/platform/cg/GraphicsContextCG.cpp
WebCore/rendering/RenderObject.cpp
WebCore/rendering/RenderObject.h