void FloatRoundedRect::Radii::includeLogicalEdges(const FloatRoundedRect::Radii& edges, bool isHorizontal, bool includeLogicalLeftEdge, bool includeLogicalRightEdge) { if (includeLogicalLeftEdge) { if (isHorizontal) m_bottomLeft = edges.bottomLeft(); else m_topRight = edges.topRight(); m_topLeft = edges.topLeft(); } if (includeLogicalRightEdge) { if (isHorizontal) m_topRight = edges.topRight(); else m_bottomLeft = edges.bottomLeft(); m_bottomRight = edges.bottomRight(); } }
void ClipDisplayItem::appendToWebDisplayItemList(const IntRect& visualRect, WebDisplayItemList* list) const { WebVector<SkRRect> webRoundedRects(m_roundedRectClips.size()); for (size_t i = 0; i < m_roundedRectClips.size(); ++i) { FloatRoundedRect::Radii rectRadii = m_roundedRectClips[i].radii(); SkVector skRadii[4]; skRadii[SkRRect::kUpperLeft_Corner].set(SkIntToScalar(rectRadii.topLeft().width()), SkIntToScalar(rectRadii.topLeft().height())); skRadii[SkRRect::kUpperRight_Corner].set(SkIntToScalar(rectRadii.topRight().width()), SkIntToScalar(rectRadii.topRight().height())); skRadii[SkRRect::kLowerRight_Corner].set(SkIntToScalar(rectRadii.bottomRight().width()), SkIntToScalar(rectRadii.bottomRight().height())); skRadii[SkRRect::kLowerLeft_Corner].set(SkIntToScalar(rectRadii.bottomLeft().width()), SkIntToScalar(rectRadii.bottomLeft().height())); SkRRect skRoundedRect; skRoundedRect.setRectRadii(m_roundedRectClips[i].rect(), skRadii); webRoundedRects[i] = skRoundedRect; } list->appendClipItem(visualRect, m_clipRect, webRoundedRects); }
void PrintTo(const FloatRoundedRect::Radii& radii, std::ostream* os) { *os << "FloatRoundedRect::Radii("; PrintTo(radii.topLeft(), os); *os << ", "; PrintTo(radii.topRight(), os); *os << ", "; PrintTo(radii.bottomLeft(), os); *os << ", "; PrintTo(radii.bottomRight(), os); *os << ")"; }
static void addRoundedRect(Path& path, const FloatRect& rect, const FloatRoundedRect::Radii& radii) { path.addRoundedRect(rect, radii.topLeft(), radii.topRight(), radii.bottomLeft(), radii.bottomRight(), Path::PreferBezierRoundedRect); }