diff options
author | 2014-11-19 06:59:41 -0800 | |
---|---|---|
committer | 2014-11-19 06:59:41 -0800 | |
commit | 7e76bff26e7c74902841ca4f607eb0b24a833a4a (patch) | |
tree | cb2f55b88a3ec2b3838dc9003808af03b6700e1d /samplecode | |
parent | ec03a4608025106ea3f21353865c7d302c0a13c6 (diff) |
allow pictures to have a full bounds
BUG=skia:
Review URL: https://codereview.chromium.org/736583004
Diffstat (limited to 'samplecode')
-rw-r--r-- | samplecode/SampleArc.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/samplecode/SampleArc.cpp b/samplecode/SampleArc.cpp index a44eeb59ba..ecea90bf3f 100644 --- a/samplecode/SampleArc.cpp +++ b/samplecode/SampleArc.cpp @@ -37,6 +37,27 @@ static void testparse() { SkParsePath::ToSVGString(p2, &str2); } +#include "SkPictureRecorder.h" +static void test_pictbounds(SkCanvas* canvas) { + SkRect r = SkRect::MakeXYWH(100, 50, 100, 100); + SkPictureRecorder recorder; + { + SkCanvas* c = recorder.beginRecording(r, NULL, 0); + c->drawOval(r, SkPaint()); + + SkIRect ir; + c->getClipDeviceBounds(&ir); + SkDebugf("devbounds [%d %d %d %d]\n", ir.left(), ir.top(), ir.right(), ir.bottom()); + + SkASSERT(!c->quickReject(r)); + } + SkPicture* pic = recorder.endRecording(); + + canvas->drawPicture(pic); + SkASSERT(pic->cullRect() == r); + pic->unref(); +} + class ArcsView : public SampleView { class MyDrawable : public SkCanvasDrawable { SkRect fR; @@ -176,6 +197,8 @@ protected: } virtual void onDrawContent(SkCanvas* canvas) { + if (true) { test_pictbounds(canvas); return; } + fDrawable->setSweep(SampleCode::GetAnimScalar(SkIntToScalar(360)/24, SkIntToScalar(360))); |