Merge "Add refBitmap tests" into nyc-dev

am: d7285c2

* commit 'd7285c29d19eb47e061cedb8d6a8c5fcf6e40948':
  Add refBitmap tests
This commit is contained in:
Chris Craik
2016-03-24 19:51:28 +00:00
committed by android-build-merger

View File

@@ -23,6 +23,9 @@
#include <tests/common/TestUtils.h> #include <tests/common/TestUtils.h>
#include <utils/Color.h> #include <utils/Color.h>
#include <SkGradientShader.h>
#include <SkShader.h>
namespace android { namespace android {
namespace uirenderer { namespace uirenderer {
@@ -599,6 +602,45 @@ TEST(RecordingCanvas, refPaint) {
EXPECT_NE(&paint, ops[3]->paint); EXPECT_NE(&paint, ops[3]->paint);
} }
TEST(RecordingCanvas, refBitmapInShader_bitmapShader) {
SkBitmap bitmap = TestUtils::createSkBitmap(100, 100);
auto dl = TestUtils::createDisplayList<RecordingCanvas>(100, 100, [&bitmap](RecordingCanvas& canvas) {
SkPaint paint;
SkAutoTUnref<SkShader> shader(SkShader::CreateBitmapShader(bitmap,
SkShader::TileMode::kClamp_TileMode,
SkShader::TileMode::kClamp_TileMode));
paint.setShader(shader);
canvas.drawRoundRect(0, 0, 100, 100, 20.0f, 20.0f, paint);
});
auto& bitmaps = dl->getBitmapResources();
EXPECT_EQ(1u, bitmaps.size());
}
TEST(RecordingCanvas, refBitmapInShader_composeShader) {
SkBitmap bitmap = TestUtils::createSkBitmap(100, 100);
auto dl = TestUtils::createDisplayList<RecordingCanvas>(100, 100, [&bitmap](RecordingCanvas& canvas) {
SkPaint paint;
SkAutoTUnref<SkShader> shader1(SkShader::CreateBitmapShader(bitmap,
SkShader::TileMode::kClamp_TileMode,
SkShader::TileMode::kClamp_TileMode));
SkPoint center;
center.set(50, 50);
SkColor colors[2];
colors[0] = Color::Black;
colors[1] = Color::White;
SkAutoTUnref<SkShader> shader2(SkGradientShader::CreateRadial(center, 50, colors, nullptr, 2,
SkShader::TileMode::kRepeat_TileMode));
SkAutoTUnref<SkShader> composeShader(SkShader::CreateComposeShader(shader1, shader2,
SkXfermode::Mode::kMultiply_Mode));
paint.setShader(composeShader);
canvas.drawRoundRect(0, 0, 100, 100, 20.0f, 20.0f, paint);
});
auto& bitmaps = dl->getBitmapResources();
EXPECT_EQ(1u, bitmaps.size());
}
TEST(RecordingCanvas, drawText) { TEST(RecordingCanvas, drawText) {
auto dl = TestUtils::createDisplayList<RecordingCanvas>(200, 200, [](RecordingCanvas& canvas) { auto dl = TestUtils::createDisplayList<RecordingCanvas>(200, 200, [](RecordingCanvas& canvas) {
Paint paint; Paint paint;