| 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);
|
| -
|
| -}
|
|
|