Index: gm/nocolorbleed.cpp |
=================================================================== |
--- gm/nocolorbleed.cpp (revision 10827) |
+++ gm/nocolorbleed.cpp (working copy) |
@@ -1,78 +0,0 @@ |
- |
-/* |
- * 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.h" |
- |
-namespace skiagm { |
- |
-class NoColorBleedGM : public GM { |
-public: |
- NoColorBleedGM() { |
- this->setBGColor(0xFFDDDDDD); |
- } |
- |
-protected: |
- virtual SkString onShortName() { |
- return SkString("nocolorbleed"); |
- } |
- |
- virtual SkISize onISize() { |
- return make_isize(200, 200); |
- } |
- |
- virtual void onDraw(SkCanvas* canvas) { |
- SkBitmap sprite; |
- sprite.setConfig(SkBitmap::kARGB_8888_Config, 4, 4, 4*sizeof(SkColor)); |
- const SkColor spriteData[16] = { |
- SK_ColorBLACK, SK_ColorCYAN, SK_ColorMAGENTA, SK_ColorYELLOW, |
- SK_ColorBLACK, SK_ColorWHITE, SK_ColorBLACK, SK_ColorRED, |
- SK_ColorGREEN, SK_ColorBLACK, SK_ColorWHITE, SK_ColorBLUE, |
- SK_ColorYELLOW, SK_ColorMAGENTA, SK_ColorCYAN, SK_ColorBLACK |
- }; |
- sprite.allocPixels(); |
- sprite.lockPixels(); |
- SkPMColor* addr = sprite.getAddr32(0, 0); |
- for (size_t i = 0; i < SK_ARRAY_COUNT(spriteData); ++i) { |
- addr[i] = SkPreMultiplyColor(spriteData[i]); |
- } |
- sprite.unlockPixels(); |
- |
- // We draw a magnified subrect of the sprite |
- // sample interpolation may cause color bleeding around edges |
- // the subrect is a pure white area |
- SkIRect srcRect; |
- SkRect dstRect; |
- SkPaint paint; |
- paint.setFilterBitmap(true); |
- //First row : full texture with and without filtering |
- srcRect.setXYWH(0, 0, 4, 4); |
- dstRect.setXYWH(SkIntToScalar(0), SkIntToScalar(0) |
- , SkIntToScalar(100), SkIntToScalar(100)); |
- canvas->drawBitmapRect(sprite, &srcRect, dstRect, &paint); |
- dstRect.setXYWH(SkIntToScalar(100), SkIntToScalar(0) |
- , SkIntToScalar(100), SkIntToScalar(100)); |
- canvas->drawBitmapRect(sprite, &srcRect, dstRect); |
- //Second row : sub rect of texture with and without filtering |
- srcRect.setXYWH(1, 1, 2, 2); |
- dstRect.setXYWH(SkIntToScalar(25), SkIntToScalar(125) |
- , SkIntToScalar(50), SkIntToScalar(50)); |
- canvas->drawBitmapRect(sprite, &srcRect, dstRect, &paint); |
- dstRect.setXYWH(SkIntToScalar(125), SkIntToScalar(125) |
- , SkIntToScalar(50), SkIntToScalar(50)); |
- canvas->drawBitmapRect(sprite, &srcRect, dstRect); |
- } |
- |
-private: |
- typedef GM INHERITED; |
-}; |
- |
-////////////////////////////////////////////////////////////////////////////// |
- |
-static GM* MyFactory(void*) { return new NoColorBleedGM; } |
-static GMRegistry reg(MyFactory); |
- |
-} |