diff options
author | bungeman <bungeman@google.com> | 2016-07-12 15:01:19 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-07-12 15:01:19 -0700 |
commit | 7438bfc0804d021aa92cdd5ea644994a4248f3db (patch) | |
tree | 0b801d131d01d45e83160a6d0d877949590908de /gm/typeface.cpp | |
parent | 2edf0c6a719b8dff4365628cf3b4481c5035f07a (diff) |
Factor code to rotate a canvas about a point.
SkMatrix::scale and ::rotate take a point around which to scale or rotate.
Canvas lacks these helpers, so the code to rotate a canvas around a
point has been duplicated many times. Factor all of these
implementations into SkCanvas::rotate.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2142033002
Review-Url: https://codereview.chromium.org/2142033002
Diffstat (limited to 'gm/typeface.cpp')
-rw-r--r-- | gm/typeface.cpp | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/gm/typeface.cpp b/gm/typeface.cpp index 34420dbee1..d579a156a6 100644 --- a/gm/typeface.cpp +++ b/gm/typeface.cpp @@ -154,20 +154,9 @@ private: typedef skiagm::GM INHERITED; }; -static void rotate_about(SkCanvas* canvas, - SkScalar degrees, - SkScalar px, SkScalar py) { - canvas->translate(px, py); - canvas->rotate(degrees); - canvas->translate(-px, -py); -} - class TypefaceRenderingGM : public skiagm::GM { sk_sp<SkTypeface> fFace; -public: - TypefaceRenderingGM() { } - protected: void onOnceBeforeDraw() override { fFace = MakeResourceAsTypeface("/fonts/hintgasp.ttf"); @@ -256,8 +245,8 @@ protected: for (const bool& rotateABit : rotateABitTypes) { SkAutoCanvasRestore acr(canvas, true); if (rotateABit) { - rotate_about(canvas, 2, x + subpixel.offset.x(), - y + subpixel.offset.y()); + canvas->rotate(2, x + subpixel.offset.x(), + y + subpixel.offset.y()); } canvas->drawText("A", 1, x + subpixel.offset.x(), y + subpixel.offset.y(), paint); |