1cb93a386Sopenharmony_ci/* 2cb93a386Sopenharmony_ci * Copyright 2011 Google Inc. 3cb93a386Sopenharmony_ci * 4cb93a386Sopenharmony_ci * Use of this source code is governed by a BSD-style license that can be 5cb93a386Sopenharmony_ci * found in the LICENSE file. 6cb93a386Sopenharmony_ci */ 7cb93a386Sopenharmony_ci 8cb93a386Sopenharmony_ci#include "gm/gm.h" 9cb93a386Sopenharmony_ci#include "include/core/SkBitmap.h" 10cb93a386Sopenharmony_ci#include "include/core/SkCanvas.h" 11cb93a386Sopenharmony_ci#include "include/core/SkColorPriv.h" 12cb93a386Sopenharmony_ci#include "include/core/SkPaint.h" 13cb93a386Sopenharmony_ci#include "include/core/SkShader.h" 14cb93a386Sopenharmony_ci#include "include/core/SkSize.h" 15cb93a386Sopenharmony_ci#include "include/core/SkString.h" 16cb93a386Sopenharmony_ci#include "include/core/SkTileMode.h" 17cb93a386Sopenharmony_ci 18cb93a386Sopenharmony_cinamespace { 19cb93a386Sopenharmony_ciclass TinyBitmapGM : public skiagm::GM { 20cb93a386Sopenharmony_ci void onOnceBeforeDraw() override { this->setBGColor(0xFFDDDDDD); } 21cb93a386Sopenharmony_ci 22cb93a386Sopenharmony_ci SkString onShortName() override { return SkString("tinybitmap"); } 23cb93a386Sopenharmony_ci 24cb93a386Sopenharmony_ci SkISize onISize() override { return SkISize::Make(100, 100); } 25cb93a386Sopenharmony_ci 26cb93a386Sopenharmony_ci void onDraw(SkCanvas* canvas) override { 27cb93a386Sopenharmony_ci SkBitmap bm; 28cb93a386Sopenharmony_ci bm.allocN32Pixels(1, 1); 29cb93a386Sopenharmony_ci *bm.getAddr32(0, 0) = SkPackARGB32(0x80, 0x80, 0, 0); 30cb93a386Sopenharmony_ci SkPaint paint; 31cb93a386Sopenharmony_ci paint.setAlphaf(0.5f); 32cb93a386Sopenharmony_ci paint.setShader(bm.makeShader(SkTileMode::kRepeat, SkTileMode::kMirror, 33cb93a386Sopenharmony_ci SkSamplingOptions())); 34cb93a386Sopenharmony_ci canvas->drawPaint(paint); 35cb93a386Sopenharmony_ci } 36cb93a386Sopenharmony_ci}; 37cb93a386Sopenharmony_ci} // namespace 38cb93a386Sopenharmony_ci 39cb93a386Sopenharmony_ciDEF_GM( return new TinyBitmapGM; ) 40