aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/ImageIsOpaqueTest.cpp
diff options
context:
space:
mode:
authorGravatar reed <reed@google.com>2016-10-31 05:27:28 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-10-31 05:27:28 -0700
commit9e2ed83f9b29d91058ba411a4137d099877a48b2 (patch)
treea21292f7ce0a99859e80a8476ef3a571f2c247d9 /tests/ImageIsOpaqueTest.cpp
parent2f7068aec9906168b3c142b5057e098114376cc9 (diff)
add isAlphaOnly() query
Diffstat (limited to 'tests/ImageIsOpaqueTest.cpp')
-rw-r--r--tests/ImageIsOpaqueTest.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/ImageIsOpaqueTest.cpp b/tests/ImageIsOpaqueTest.cpp
index ab995c8140..cc7255d37a 100644
--- a/tests/ImageIsOpaqueTest.cpp
+++ b/tests/ImageIsOpaqueTest.cpp
@@ -102,3 +102,34 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(ImageIsOpaqueTest_Gpu, reporter, ctxInfo) {
}
#endif
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+#include "SkPictureRecorder.h"
+
+static sk_sp<SkPicture> make_picture() {
+ SkPictureRecorder recorder;
+ SkCanvas* canvas = recorder.beginRecording({ 0, 0, 10, 10 });
+ canvas->drawColor(SK_ColorRED);
+ return recorder.finishRecordingAsPicture();
+}
+
+DEF_TEST(Image_isAlphaOnly, reporter) {
+ SkPMColor pmColors = 0;
+ SkPixmap pmap = {
+ SkImageInfo::MakeN32Premul(1, 1),
+ &pmColors,
+ sizeof(pmColors)
+ };
+ for (auto& image : {
+ SkImage::MakeRasterCopy(pmap),
+ GetResourceAsImage("mandrill_128.png"),
+ GetResourceAsImage("color_wheel.jpg"),
+ SkImage::MakeFromPicture(make_picture(), { 10, 10 }, nullptr, nullptr),
+ })
+ {
+ REPORTER_ASSERT(reporter, image->isAlphaOnly() == false);
+ }
+
+ REPORTER_ASSERT(reporter, SkImage::MakeRasterCopy({
+ SkImageInfo::MakeA8(1, 1), (uint8_t*)&pmColors, 1})->isAlphaOnly() == true);
+}