diff options
author | 2014-08-18 12:59:55 -0700 | |
---|---|---|
committer | 2014-08-18 12:59:55 -0700 | |
commit | 750ae26745d261183001a78d24251f6392e96b27 (patch) | |
tree | 58e795cc8408f83f088cd6270d2b9b9ed84a3bfc /tests | |
parent | 637e57e3beca3a2b488b16997d428406bb6f655f (diff) |
Expose API for whether an SkPicture contains text
BUG=chromium:399728
R=reed@google.com, nduca@chromium.org
Author: ajuma@chromium.org
Review URL: https://codereview.chromium.org/478673002
Diffstat (limited to 'tests')
-rw-r--r-- | tests/PictureTest.cpp | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/tests/PictureTest.cpp b/tests/PictureTest.cpp index b3f13f03a6..b7e4bb6cca 100644 --- a/tests/PictureTest.cpp +++ b/tests/PictureTest.cpp @@ -919,6 +919,63 @@ static void test_gpu_picture_optimization(skiatest::Reporter* reporter, #endif +static void test_has_text(skiatest::Reporter* reporter) { + SkPictureRecorder recorder; + SkPaint paint; + paint.setColor(SK_ColorBLUE); + SkPoint point = SkPoint::Make(10, 10); + + SkCanvas* canvas = recorder.beginRecording(100, 100); + { + canvas->drawRect(SkRect::MakeWH(20, 20), paint); + } + SkAutoTUnref<SkPicture> picture(recorder.endRecording()); + REPORTER_ASSERT(reporter, !picture->hasText()); + + canvas = recorder.beginRecording(100, 100); + { + canvas->drawText("Q", 1, point.fX, point.fY, paint); + } + picture.reset(recorder.endRecording()); + REPORTER_ASSERT(reporter, picture->hasText()); + + canvas = recorder.beginRecording(100, 100); + { + canvas->drawPosText("Q", 1, &point, paint); + } + picture.reset(recorder.endRecording()); + REPORTER_ASSERT(reporter, picture->hasText()); + + canvas = recorder.beginRecording(100, 100); + { + canvas->drawPosTextH("Q", 1, &point.fX, point.fY, paint); + } + picture.reset(recorder.endRecording()); + REPORTER_ASSERT(reporter, picture->hasText()); + + canvas = recorder.beginRecording(100, 100); + { + SkPath path; + path.moveTo(0, 0); + path.lineTo(50, 50); + + canvas->drawTextOnPathHV("Q", 1, path, point.fX, point.fY, paint); + } + picture.reset(recorder.endRecording()); + REPORTER_ASSERT(reporter, picture->hasText()); + + canvas = recorder.beginRecording(100, 100); + { + SkPath path; + path.moveTo(0, 0); + path.lineTo(50, 50); + + canvas->drawTextOnPath("Q", 1, path, NULL, paint); + } + picture.reset(recorder.endRecording()); + REPORTER_ASSERT(reporter, picture->hasText()); +} + static void set_canvas_to_save_count_4(SkCanvas* canvas) { canvas->restoreToCount(1); canvas->save(); @@ -1561,6 +1618,7 @@ DEF_TEST(Picture, reporter) { #if SK_SUPPORT_GPU test_gpu_veto(reporter); #endif + test_has_text(reporter); test_gatherpixelrefs(reporter); test_gatherpixelrefsandrects(reporter); test_bitmap_with_encoded_data(reporter); |