[webkit-changes] [WebKit/WebKit] 66ab9a: Introduce BoxModelPainter
Antti Koivisto
noreply at github.com
Tue Sep 6 23:35:43 PDT 2022
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 66ab9a4c5a45a52e560032f92644f05c8831ee0e
https://github.com/WebKit/WebKit/commit/66ab9a4c5a45a52e560032f92644f05c8831ee0e
Author: Antti Koivisto <antti at apple.com>
Date: 2022-09-06 (Tue, 06 Sep 2022)
Changed paths:
M Source/WebCore/Sources.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
A Source/WebCore/rendering/BoxModelPainter.cpp
A Source/WebCore/rendering/BoxModelPainter.h
M Source/WebCore/rendering/InlineBoxPainter.cpp
M Source/WebCore/rendering/RenderBox.cpp
M Source/WebCore/rendering/RenderBoxModelObject.cpp
M Source/WebCore/rendering/RenderBoxModelObject.h
M Source/WebCore/rendering/RenderElement.cpp
M Source/WebCore/rendering/RenderInline.cpp
M Source/WebCore/rendering/RenderMultiColumnSet.cpp
M Source/WebCore/rendering/RenderObject.cpp
M Source/WebCore/rendering/RenderObject.h
M Source/WebCore/rendering/RenderTable.cpp
M Source/WebCore/rendering/RenderTableCell.cpp
M Source/WebCore/rendering/RenderTableSection.cpp
M Source/WebCore/rendering/style/NinePieceImage.cpp
M Source/WebCore/rendering/style/NinePieceImage.h
M Source/WebCore/rendering/style/StyleCachedImage.cpp
M Source/WebCore/rendering/style/StyleCachedImage.h
M Source/WebCore/rendering/style/StyleGeneratedImage.cpp
M Source/WebCore/rendering/style/StyleGeneratedImage.h
M Source/WebCore/rendering/style/StyleImage.h
M Source/WebCore/rendering/style/StyleMultiImage.cpp
M Source/WebCore/rendering/style/StyleMultiImage.h
Log Message:
-----------
Introduce BoxModelPainter
https://bugs.webkit.org/show_bug.cgi?id=244842
<rdar://problem/99594391>
Reviewed by Alan Bujtas.
This patch introduces BoxModelPainter and moves border painting functions from RenderBoxModelObject there.
The patch is mostly mechanical and does not try to refactor the code.
In future BoxModelPainter will also paint backgrounds.
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/rendering/BoxModelPainter.cpp: Added.
(WebCore::BoxModelPainter::BoxModelPainter):
(WebCore::BoxModelPainter::allCornersClippedOut):
(WebCore::calculateSideRect):
(WebCore::shrinkRectByOneDevicePixel):
(WebCore::BoxModelPainter::paintBorder):
(WebCore::BoxModelPainter::paintNinePieceImage):
(WebCore::BoxModelPainter::paintTranslucentBorderSides):
(WebCore::borderWillArcInnerEdge):
(WebCore::styleRequiresClipPolygon):
(WebCore::borderStyleFillsBorderArea):
(WebCore::borderStyleHasInnerDetail):
(WebCore::borderStyleIsDottedOrDashed):
(WebCore::borderStyleHasUnmatchedColorsAtCorner):
(WebCore::colorsMatchAtCorner):
(WebCore::colorNeedsAntiAliasAtCorner):
(WebCore::willBeOverdrawn):
(WebCore::borderStylesRequireMitre):
(WebCore::joinRequiresMitre):
(WebCore::calculateAdjustedInnerBorder):
(WebCore::BoxModelPainter::paintBorderSides):
(WebCore::BoxModelPainter::paintOneBorderSide):
(WebCore::BoxModelPainter::drawBoxSideFromPath):
(WebCore::BoxModelPainter::clipBorderSidePolygon):
(WebCore::BoxModelPainter::borderInnerRectAdjustedForBleedAvoidance const):
(WebCore::BoxModelPainter::shouldAntialiasLines):
(WebCore::BoxModelPainter::calculateBorderStyleColor):
(WebCore::BoxModelPainter::document const):
* Source/WebCore/rendering/BoxModelPainter.h: Added.
* Source/WebCore/rendering/InlineBoxPainter.cpp:
(WebCore::InlineBoxPainter::paintMask):
(WebCore::InlineBoxPainter::paintDecorations):
* Source/WebCore/rendering/RenderBox.cpp:
(WebCore::RenderBox::paintBoxDecorations):
(WebCore::RenderBox::paintMaskImages):
* Source/WebCore/rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintBoxShadow):
(WebCore::RenderBoxModelObject::borderInnerRectAdjustedForBleedAvoidance const): Deleted.
(WebCore::RenderBoxModelObject::paintNinePieceImage): Deleted.
(WebCore::allCornersClippedOut): Deleted.
(WebCore::borderWillArcInnerEdge): Deleted.
(WebCore::styleRequiresClipPolygon): Deleted.
(WebCore::borderStyleFillsBorderArea): Deleted.
(WebCore::borderStyleHasInnerDetail): Deleted.
(WebCore::borderStyleIsDottedOrDashed): Deleted.
(WebCore::borderStyleHasUnmatchedColorsAtCorner): Deleted.
(WebCore::colorsMatchAtCorner): Deleted.
(WebCore::colorNeedsAntiAliasAtCorner): Deleted.
(WebCore::willBeOverdrawn): Deleted.
(WebCore::borderStylesRequireMitre): Deleted.
(WebCore::joinRequiresMitre): Deleted.
(WebCore::calculateAdjustedInnerBorder): Deleted.
(WebCore::RenderBoxModelObject::paintOneBorderSide): Deleted.
(WebCore::calculateSideRect): Deleted.
(WebCore::RenderBoxModelObject::paintBorderSides): Deleted.
(WebCore::RenderBoxModelObject::paintTranslucentBorderSides): Deleted.
(WebCore::RenderBoxModelObject::paintBorder): Deleted.
(WebCore::RenderBoxModelObject::drawBoxSideFromPath): Deleted.
(WebCore::RenderBoxModelObject::clipBorderSidePolygon): Deleted.
(WebCore::RenderBoxModelObject::shouldAntialiasLines): Deleted.
* Source/WebCore/rendering/RenderBoxModelObject.h:
* Source/WebCore/rendering/RenderElement.cpp:
(WebCore::RenderElement::drawLineForBoxSide const):
* Source/WebCore/rendering/RenderInline.cpp:
(WebCore::RenderInline::paintOutlineForLine):
* Source/WebCore/rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::paintColumnRules):
* Source/WebCore/rendering/RenderObject.cpp:
(WebCore::RenderObject::calculateBorderStyleColor): Deleted.
* Source/WebCore/rendering/RenderObject.h:
* Source/WebCore/rendering/RenderTable.cpp:
(WebCore::RenderTable::paintBoxDecorations):
* Source/WebCore/rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::paintCollapsedBorders):
(WebCore::RenderTableCell::paintBoxDecorations):
* Source/WebCore/rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::paintRowGroupBorderIfRequired):
* Source/WebCore/rendering/style/NinePieceImage.cpp:
(WebCore::NinePieceImage::paint const):
* Source/WebCore/rendering/style/NinePieceImage.h:
* Source/WebCore/rendering/style/StyleCachedImage.cpp:
(WebCore::StyleCachedImage::image const):
* Source/WebCore/rendering/style/StyleCachedImage.h:
* Source/WebCore/rendering/style/StyleGeneratedImage.cpp:
(WebCore::StyleGeneratedImage::image const):
* Source/WebCore/rendering/style/StyleGeneratedImage.h:
* Source/WebCore/rendering/style/StyleImage.h:
* Source/WebCore/rendering/style/StyleMultiImage.cpp:
(WebCore::StyleMultiImage::image const):
* Source/WebCore/rendering/style/StyleMultiImage.h:
Canonical link: https://commits.webkit.org/254214@main
More information about the webkit-changes
mailing list