diff options
Diffstat (limited to 'gm/ovals.cpp')
-rw-r--r-- | gm/ovals.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/gm/ovals.cpp b/gm/ovals.cpp index ec9bd75d47..d6afdcbba7 100644 --- a/gm/ovals.cpp +++ b/gm/ovals.cpp @@ -268,6 +268,26 @@ protected: canvas->restore(); } + + // reflected oval + for (int i = 0; i < fPaints.count(); ++i) { + SkRect oval = SkRect::MakeLTRB(-30, -30, 30, 30); + canvas->save(); + // position the oval, and make it at off-integer coords. + canvas->translate(kXStart + SK_Scalar1 * kXStep * 5 + SK_Scalar1 / 4, + kYStart + SK_Scalar1 * kYStep * i + 3 * SK_Scalar1 / 4 + + SK_ScalarHalf * kYStep); + canvas->rotate(90); + canvas->scale(1, -1); + canvas->scale(1, 0.66f); + + SkColor color = genColor(&rand); + fPaints[i].setColor(color); + + canvas->drawRect(oval, rectPaint); + canvas->drawOval(oval, fPaints[i]); + canvas->restore(); + } } private: |