153 const int kXStep = 150;
154 const int kYStep = 160;
155 int maxX = fMatrices.
size();
164 for (
int i = 0; i < fPaints.
size(); ++i) {
165 for (
int j = 0; j < fMatrices.
size(); ++j) {
176 fPaints[i].setColor(
color);
179 canvas->
drawRRect(circleRRect, fPaints[i]);
190 for (
int i = 0; i < fPaints.
size(); ++i) {
201 fPaints[i].setColor(
color);
204 canvas->
drawRRect(ellipseRect, fPaints[i]);
209 for (
int i = 0; i < fPaints.
size(); ++i) {
221 fPaints[i].setColor(
color);
224 canvas->
drawRRect(ellipseRect, fPaints[i]);
229 for (
int i = 0; i < fPaints.
size(); ++i) {
240 fPaints[i].setColor(
color);
242 canvas->
drawRRect(circleRect, fPaints[i]);
247 for (
int i = 0; i < fPaints.
size(); ++i) {
259 fPaints[i].setColor(
color);
261 canvas->
drawRRect(circleRect, fPaints[i]);
272 for (
int i = 0; i < fPaints.
size(); ++i) {
280 fPaints[i].setColor(
color);
281 fPaints[i].setShader(shader);
284 canvas->
drawRRect(circleRRect, fPaints[i]);
286 fPaints[i].setShader(
nullptr);
304 for (
int i = 0; i < 4; ++i) {
317 p.setAntiAlias(
true);
319 p.setStrokeWidth(strokeWidths[i]);
340 const SkRect oooRect = { 20, 30, -20, -30 };
348 SkRect smallRect = { -30, -20, 30, 20 };
361 p.setAntiAlias(
true);
363 p.setStrokeWidth(25);
375 using INHERITED =
GM;
380DEF_GM(
return new RoundRectGM; )
static const size_t testCount
constexpr SkColor SK_ColorLTGRAY
SK_API SkColor SkHSVToColor(U8CPU alpha, const SkScalar hsv[3])
constexpr SkColor SK_ColorBLUE
constexpr SkColor SK_ColorRED
constexpr SkColor SK_ColorGREEN
static SkScalar center(float pos0, float pos1)
void drawRect(const SkRect &rect, const SkPaint &paint)
void translate(SkScalar dx, SkScalar dy)
void drawRRect(const SkRRect &rrect, const SkPaint &paint)
void drawRoundRect(const SkRect &rect, SkScalar rx, SkScalar ry, const SkPaint &paint)
void concat(const SkMatrix &matrix)
static sk_sp< SkShader > MakeRadial(const SkPoint ¢er, SkScalar radius, const SkColor colors[], const SkScalar pos[], int count, SkTileMode mode, uint32_t flags=0, const SkMatrix *localMatrix=nullptr)
SkMatrix & postTranslate(SkScalar dx, SkScalar dy)
void setStyle(Style style)
void setColor(SkColor color)
void setAntiAlias(bool aa)
@ kStroke_Style
set to stroke geometry
@ kStrokeAndFill_Style
sets to stroke and fill geometry
void setStrokeWidth(SkScalar width)
void setRectXY(const SkRect &rect, SkScalar xRad, SkScalar yRad)
float nextRangeF(float min, float max)
SkISize getISize() override
SkString getName() const override
void onDraw(SkCanvas *canvas) override
static SkColor gen_color(SkRandom *rand)
static constexpr SkISize Make(int32_t w, int32_t h)
static constexpr SkPoint Make(float x, float y)
static constexpr SkRect MakeLTRB(float l, float t, float r, float b)