| Index: gm/bigrect.cpp
|
| diff --git a/gm/bigrect.cpp b/gm/bigrect.cpp
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..b7ac4c6f5deecf42c52e5bf45949aca4184c19c4
|
| --- /dev/null
|
| +++ b/gm/bigrect.cpp
|
| @@ -0,0 +1,85 @@
|
| +/*
|
| + * Copyright 2016 Google Inc.
|
| + *
|
| + * Use of this source code is governed by a BSD-style license that can be
|
| + * found in the LICENSE file.
|
| + */
|
| +
|
| +#include "gm.h"
|
| +
|
| +DEF_SIMPLE_GM(bigrect, canvas, 35, 35) {
|
| + static const SkScalar kBig = SkFloatToScalar(5e10f);
|
| +
|
| + SkPaint outlinePaint;
|
| + outlinePaint.setColor(SK_ColorBLUE);
|
| + outlinePaint.setStyle(SkPaint::kStroke_Style);
|
| + outlinePaint.setStrokeWidth(0);
|
| +
|
| + SkPaint outOfBoundsPaint;
|
| + outOfBoundsPaint.setColor(SK_ColorRED);
|
| + outOfBoundsPaint.setStyle(SkPaint::kStroke_Style);
|
| + outOfBoundsPaint.setStrokeWidth(0);
|
| +
|
| + // Looks like this:
|
| + // +-+-+--+-+------+
|
| + // | | | | | +---+
|
| + // | +-+ | | +---+
|
| + // | | | |
|
| + // +------+-+------+
|
| + // +------+-+------+
|
| + // | | | |
|
| + // +---+ | | +-+ |
|
| + // +---+ | | | | |
|
| + // +------+-+--+-+-+
|
| +
|
| + SkRect tl = SkRect::MakeLTRB(SkIntToScalar(5),
|
| + -kBig,
|
| + SkIntToScalar(10),
|
| + SkIntToScalar(10));
|
| + canvas->drawRect(tl, outlinePaint);
|
| +
|
| + SkRect tr = SkRect::MakeLTRB(SkIntToScalar(25),
|
| + SkIntToScalar(5),
|
| + kBig,
|
| + SkIntToScalar(10));
|
| + canvas->drawRect(tr, outlinePaint);
|
| +
|
| + SkRect br = SkRect::MakeLTRB(SkIntToScalar(25),
|
| + SkIntToScalar(25),
|
| + SkIntToScalar(30),
|
| + kBig);
|
| + canvas->drawRect(br, outlinePaint);
|
| +
|
| + SkRect bl = SkRect::MakeLTRB(-kBig,
|
| + SkIntToScalar(25),
|
| + SkIntToScalar(10),
|
| + SkIntToScalar(30));
|
| + canvas->drawRect(bl, outlinePaint);
|
| +
|
| + SkRect horiz = SkRect::MakeLTRB(-kBig,
|
| + SkIntToScalar(15),
|
| + kBig,
|
| + SkIntToScalar(20));
|
| + canvas->drawRect(horiz, outlinePaint);
|
| +
|
| + SkRect vert = SkRect::MakeLTRB(SkIntToScalar(15),
|
| + -kBig,
|
| + SkIntToScalar(20),
|
| + kBig);
|
| + canvas->drawRect(vert, outlinePaint);
|
| +
|
| + SkRect leftBorder = SkRect::MakeLTRB(-2, -1, 0, 35);
|
| + canvas->drawRect(leftBorder, outlinePaint);
|
| +
|
| + SkRect topBorder = SkRect::MakeLTRB(-1, -2, 35, 0);
|
| + canvas->drawRect(topBorder, outlinePaint);
|
| +
|
| + SkRect rightBorder = SkRect::MakeLTRB(34, -1, 36, 35);
|
| + canvas->drawRect(rightBorder, outlinePaint);
|
| +
|
| + SkRect bottomBorder = SkRect::MakeLTRB(-1, 34, 35, 36);
|
| + canvas->drawRect(bottomBorder, outlinePaint);
|
| +
|
| + SkRect outOfBounds = SkRect::MakeLTRB(-1, -1, 35, 35);
|
| + canvas->drawRect(outOfBounds, outOfBoundsPaint);
|
| +}
|
|
|