23 , fName(
"clip_strategy_"){
27 this->forEachClipCircle([&](
float x,
float y,
float r) {
48 for (
int i = 0; i < loops; ++i) {
56 this->forEachClipCircle([&](
float x,
float y,
float r) {
66 template <
typename Func>
67 void forEachClipCircle(Func&& func) {
68 auto q =
static_cast<float>(this->
getSize().
width()) / (fCount + 1);
69 for (
size_t i = 1; i <= fCount; ++i) {
constexpr SkColor SK_ColorGREEN
ClipStrategyBench(Mode mode, size_t count)
~ClipStrategyBench() override=default
void onDraw(int loops, SkCanvas *canvas) override
const char * onGetName() override
int saveLayer(const SkRect *bounds, const SkPaint *paint)
void drawColor(SkColor color, SkBlendMode mode=SkBlendMode::kSrcOver)
void clipPath(const SkPath &path, SkClipOp op, bool doAntiAlias)
void drawCircle(SkScalar cx, SkScalar cy, SkScalar radius, const SkPaint &paint)
void setBlendMode(SkBlendMode mode)
SkPath & addCircle(SkScalar x, SkScalar y, SkScalar radius, SkPathDirection dir=SkPathDirection::kCW)
void append(const char text[])
const char * c_str() const
void void void appendf(const char format[],...) SK_PRINTF_LIKE(2
constexpr int32_t width() const