Home | History | Annotate | Download | only in rendering

Lines Matching refs:edges

1141 static inline bool colorsMatchAtCorner(BoxSide side, BoxSide adjacentSide, const BorderEdge edges[])
1143 if (edges[side].shouldRender() != edges[adjacentSide].shouldRender())
1146 if (!edgesShareColor(edges[side], edges[adjacentSide]))
1149 return !borderStyleHasUnmatchedColorsAtCorner(edges[side].style, side, adjacentSide);
1153 static inline bool willBeOverdrawn(BoxSide side, BoxSide adjacentSide, const BorderEdge edges[])
1158 if (edges[adjacentSide].presentButInvisible())
1161 if (!edgesShareColor(edges[side], edges[adjacentSide]) && edges[adjacentSide].color.hasAlpha())
1164 if (!borderStyleFillsBorderArea(edges[adjacentSide].style))
1191 static bool joinRequiresMitre(BoxSide side, BoxSide adjacentSide, const BorderEdge edges[], bool allowOverdraw)
1193 if ((edges[side].isTransparent && edges[adjacentSide].isTransparent) || !edges[adjacentSide].isPresent)
1196 if (allowOverdraw && willBeOverdrawn(side, adjacentSide, edges))
1199 if (!edgesShareColor(edges[side], edges[adjacentSide]))
1202 if (borderStylesRequireMitre(side, adjacentSide, edges[side].style, edges[adjacentSide].style))
1209 const IntRect& sideRect, BoxSide side, BoxSide adjacentSide1, BoxSide adjacentSide2, const BorderEdge edges[], const Path* path,
1212 const BorderEdge& edgeToRender = edges[side];
1213 const BorderEdge& adjacentEdge1 = edges[adjacentSide1];
1214 const BorderEdge& adjacentEdge2 = edges[adjacentSide2];
1216 bool mitreAdjacentSide1 = joinRequiresMitre(side, adjacentSide1, edges, !antialias);
1217 bool mitreAdjacentSide2 = joinRequiresMitre(side, adjacentSide2, edges, !antialias);
1219 bool adjacentSide1StylesMatch = colorsMatchAtCorner(side, adjacentSide1, edges);
1220 bool adjacentSide2StylesMatch = colorsMatchAtCorner(side, adjacentSide2, edges);
1228 drawBoxSideFromPath(graphicsContext, outerBorder.rect(), *path, edges, edgeToRender.width, thickness, side, style, colorToPaint, edgeToRender.style, includeLogicalLeftEdge, includeLogicalRightEdge);
1251 const BorderEdge edges[], BorderEdgeFlags edgeSet, bool includeLogicalLeftEdge, bool includeLogicalRightEdge, bool antialias, const Color* overrideColor)
1259 if (edges[BSTop].shouldRender() && includesEdge(edgeSet, BSTop)) {
1261 sideRect.setHeight(edges[BSTop].width);
1263 bool usePath = renderRadii && (borderStyleHasInnerDetail(edges[BSTop].style) || borderWillArcInnerEdge(innerBorder.radii().topLeft(), innerBorder.radii().topRight()));
1264 paintOneBorderSide(graphicsContext, style, outerBorder, innerBorder, sideRect, BSTop, BSLeft, BSRight, edges, usePath ? &roundedPath : 0, includeLogicalLeftEdge, includeLogicalRightEdge, antialias, overrideColor);
1267 if (edges[BSBottom].shouldRender() && includesEdge(edgeSet, BSBottom)) {
1269 sideRect.shiftYEdgeTo(sideRect.maxY() - edges[BSBottom].width);
1271 bool usePath = renderRadii && (borderStyleHasInnerDetail(edges[BSBottom].style) || borderWillArcInnerEdge(innerBorder.radii().bottomLeft(), innerBorder.radii().bottomRight()));
1272 paintOneBorderSide(graphicsContext, style, outerBorder, innerBorder, sideRect, BSBottom, BSLeft, BSRight, edges, usePath ? &roundedPath : 0, includeLogicalLeftEdge, includeLogicalRightEdge, antialias, overrideColor);
1275 if (edges[BSLeft].shouldRender() && includesEdge(edgeSet, BSLeft)) {
1277 sideRect.setWidth(edges[BSLeft].width);
1279 bool usePath = renderRadii && (borderStyleHasInnerDetail(edges[BSLeft].style) || borderWillArcInnerEdge(innerBorder.radii().bottomLeft(), innerBorder.radii().topLeft()));
1280 paintOneBorderSide(graphicsContext, style, outerBorder, innerBorder, sideRect, BSLeft, BSTop, BSBottom, edges, usePath ? &roundedPath : 0, includeLogicalLeftEdge, includeLogicalRightEdge, antialias, overrideColor);
1283 if (edges[BSRight].shouldRender() && includesEdge(edgeSet, BSRight)) {
1285 sideRect.shiftXEdgeTo(sideRect.maxX() - edges[BSRight].width);
1287 bool usePath = renderRadii && (borderStyleHasInnerDetail(edges[BSRight].style) || borderWillArcInnerEdge(innerBorder.radii().bottomRight(), innerBorder.radii().topRight()));
1288 paintOneBorderSide(graphicsContext, style, outerBorder, innerBorder, sideRect, BSRight, BSTop, BSBottom, edges, usePath ? &roundedPath : 0, includeLogicalLeftEdge, includeLogicalRightEdge, antialias, overrideColor);
1293 const BorderEdge edges[], bool includeLogicalLeftEdge, bool includeLogicalRightEdge, bool antialias)
1297 // Find undrawn edges sharing a color.
1308 commonColor = edges[currSide].color;
1311 includeEdge = edges[currSide].color == commonColor;
1323 paintBorderSides(graphicsContext, style, outerBorder, innerBorder, edges, commonColorEdgeSet, includeLogicalLeftEdge, includeLogicalRightEdge, antialias, &commonColor);
1343 BorderEdge edges[4] = {
1385 const BorderEdge& currEdge = edges[i];
1396 else if (currEdge.color != edges[firstVisibleEdge].color)
1408 // Fast path for drawing all solid edges.
1424 graphicsContext->setFillColor(edges[firstVisibleEdge].color, style->colorSpace());
1427 paintBorderSides(graphicsContext, style, outerBorder, innerBorder, edges, AllBorderEdges, includeLogicalLeftEdge, includeLogicalRightEdge, antialias);
1440 paintTranslucentBorderSides(graphicsContext, style, outerBorder, innerBorder, edges, includeLogicalLeftEdge, includeLogicalRightEdge, antialias);
1442 paintBorderSides(graphicsContext, style, outerBorder, innerBorder, edges, AllBorderEdges, includeLogicalLeftEdge, includeLogicalRightEdge, antialias);
1448 void RenderBoxModelObject::drawBoxSideFromPath(GraphicsContext* graphicsContext, const IntRect& borderRect, const Path& borderPath, const BorderEdge edges[],
1469 // the edges to prevent jaggies.
1507 edges[BSTop].getDoubleBorderStripeWidths(outerBorderTopWidth, innerBorderTopWidth);
1511 edges[BSRight].getDoubleBorderStripeWidths(outerBorderRightWidth, innerBorderRightWidth);
1515 edges[BSBottom].getDoubleBorderStripeWidths(outerBorderBottomWidth, innerBorderBottomWidth);
1519 edges[BSLeft].getDoubleBorderStripeWidths(outerBorderLeftWidth, innerBorderLeftWidth);
1529 drawBoxSideFromPath(graphicsContext, borderRect, borderPath, edges, thickness, drawThickness, side, style, color, SOLID, includeLogicalLeftEdge, includeLogicalRightEdge);
1540 drawBoxSideFromPath(graphicsContext, borderRect, borderPath, edges, thickness, drawThickness, side, style, color, SOLID, includeLogicalLeftEdge, includeLogicalRightEdge);
1558 drawBoxSideFromPath(graphicsContext, borderRect, borderPath, edges, thickness, drawThickness, side, style, color, s1, includeLogicalLeftEdge, includeLogicalRightEdge);
1563 int topWidth = edges[BSTop].usedWidth() / 2;
1564 int bottomWidth = edges[BSBottom].usedWidth() / 2;
1565 int leftWidth = edges[BSLeft].usedWidth() / 2;
1566 int rightWidth = edges[BSRight].usedWidth() / 2;
1573 drawBoxSideFromPath(graphicsContext, borderRect, borderPath, edges, thickness, drawThickness, side, style, color, s2, includeLogicalLeftEdge, includeLogicalRightEdge);
2131 // edges if they are not pixel-aligned. Those are avoided by insetting the clipping path