-
amirh authored
For backward compatibility we keep supporting specifying the shape as a combination of MaterialType and borderRadius, and we just use that as a default when shapeBorder is null. To cleanup the implementation if shapeBorder was not specified we just translate the specified shape to a shapeBorder internally. I benchmarked paint, layout and hit testing, with the specialized shape clippers vs. the equivalent path clippers and did not see any significant performance difference. For testing, I extended the clippers/physicalShape matchers to match either the specialized shape or the equivalent shape.