| /* |
| * Copyright 2011 Google Inc. |
| * |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| */ |
| |
| #include "gm/gm.h" |
| #include "include/core/SkBitmap.h" |
| #include "include/core/SkCanvas.h" |
| #include "include/core/SkColorPriv.h" |
| #include "include/core/SkPaint.h" |
| #include "include/core/SkShader.h" |
| #include "include/core/SkSize.h" |
| #include "include/core/SkString.h" |
| #include "include/core/SkTileMode.h" |
| |
| namespace skiagm { |
| |
| static SkBitmap make_bitmap() { |
| SkBitmap bm; |
| bm.allocN32Pixels(1, 1); |
| *bm.getAddr32(0, 0) = SkPackARGB32(0x80, 0x80, 0, 0); |
| return bm; |
| } |
| |
| class TinyBitmapGM : public GM { |
| public: |
| TinyBitmapGM() { |
| this->setBGColor(0xFFDDDDDD); |
| } |
| |
| protected: |
| SkString onShortName() { |
| return SkString("tinybitmap"); |
| } |
| |
| virtual SkISize onISize() { return SkISize::Make(100, 100); } |
| |
| virtual void onDraw(SkCanvas* canvas) { |
| SkBitmap bm = make_bitmap(); |
| SkPaint paint; |
| paint.setAlphaf(0.5f); |
| paint.setShader(bm.makeShader(SkTileMode::kRepeat, SkTileMode::kMirror)); |
| canvas->drawPaint(paint); |
| } |
| |
| private: |
| typedef GM INHERITED; |
| }; |
| |
| ////////////////////////////////////////////////////////////////////////////// |
| |
| DEF_GM( return new TinyBitmapGM; ) |
| |
| } |