From ec727c981dd7ed83e98c7713c2828c6ab144937b Mon Sep 17 00:00:00 2001 From: Brian Salomon Date: Fri, 1 Dec 2017 20:53:00 +0000 Subject: Revert "Fix rendering of drrects with small circular inner rrects." This reverts commit 096074af2c6fcbf622f0a42b2f7c56d0c66fbd80. Reason for revert: failing processor validation test Original change's description: > Fix rendering of drrects with small circular inner rrects. > > Previously when the inner rrect was a circle with a radius of 1 we would > cause a inf * 0 in the shader which would lead to the shape not rendering. > > This change also makes concentric circle drrects draw as stroked circles. > > bug: chromium:789262 > > Change-Id: I6efbe3fdde25d6c4e031c7412d83df009afe014a > Reviewed-on: https://skia-review.googlesource.com/79141 > Commit-Queue: Brian Salomon > Reviewed-by: Robert Phillips TBR=bsalomon@google.com,robertphillips@google.com Change-Id: Ie9b9c81380c0f98a6fc6c6dc350ec56402c4ff2b No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/79264 Reviewed-by: Brian Salomon Commit-Queue: Brian Salomon --- gm/drrect_small_inner.cpp | 42 ------------------------------------------ 1 file changed, 42 deletions(-) delete mode 100644 gm/drrect_small_inner.cpp (limited to 'gm/drrect_small_inner.cpp') diff --git a/gm/drrect_small_inner.cpp b/gm/drrect_small_inner.cpp deleted file mode 100644 index 1c7a7436ff..0000000000 --- a/gm/drrect_small_inner.cpp +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 2017 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include "SkCanvas.h" -#include "SkPaint.h" -#include "SkRRect.h" -#include "gm.h" - -DEF_SIMPLE_GM(drrect_small_inner, canvas, 170, 610) { - SkPaint paint; - paint.setAntiAlias(true); - static constexpr SkScalar kOuterRadius = 35.f; - auto outer = SkRRect::MakeOval(SkRect::MakeXYWH(0, 0, 2 * kOuterRadius, 2 * kOuterRadius)); - canvas->translate(10.f, 10.f); - canvas->save(); - for (bool offcenter : {false, true}) { - for (bool oval : {false, true}) { - for (SkScalar innerRadiusX : {1.f, 0.5f, 0.1f, .01f}) { - SkScalar innerRadiusY = innerRadiusX; - if (oval) { - innerRadiusY *= 0.95f; - } - SkScalar tx = kOuterRadius - innerRadiusX; - SkScalar ty = kOuterRadius - innerRadiusY; - if (offcenter) { - tx += 1.f; - } - auto inner = SkRRect::MakeOval( - SkRect::MakeXYWH(tx, ty, 2 * innerRadiusX, 2 * innerRadiusY)); - canvas->drawDRRect(outer, inner, paint); - canvas->translate(0, 2 * kOuterRadius + 5); - } - } - canvas->restore(); - canvas->translate(2 * kOuterRadius + 2, 0); - } - canvas->restore(); -} -- cgit v1.2.3