Index: gm/samplerstress.cpp |
diff --git a/gm/samplerstress.cpp b/gm/samplerstress.cpp |
deleted file mode 100644 |
index 9e0843e0717bd0021a9e8d860714ebeea80405b7..0000000000000000000000000000000000000000 |
--- a/gm/samplerstress.cpp |
+++ /dev/null |
@@ -1,154 +0,0 @@ |
-/* |
- * Copyright 2012 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" |
-#include "SkCanvas.h" |
-#include "SkShader.h" |
-#include "SkStippleMaskFilter.h" |
- |
-namespace skiagm { |
- |
-/** |
- * Stress test the samplers by rendering a textured glyph with a mask and |
- * an AA clip |
- */ |
-class SamplerStressGM : public GM { |
-public: |
- SamplerStressGM() |
- : fTextureCreated(false) |
- , fShader(NULL) |
- , fMaskFilter(NULL) { |
- } |
- |
- virtual ~SamplerStressGM() { |
- } |
- |
-protected: |
- virtual SkString onShortName() { |
- return SkString("samplerstress"); |
- } |
- |
- virtual SkISize onISize() { |
- return SkISize::Make(640, 480); |
- } |
- |
- /** |
- * Create a red & green stripes on black texture |
- */ |
- void createTexture() { |
- if (fTextureCreated) { |
- return; |
- } |
- |
- static const int xSize = 16; |
- static const int ySize = 16; |
- |
- fTexture.allocN32Pixels(xSize, ySize); |
- SkPMColor* addr = fTexture.getAddr32(0, 0); |
- |
- for (int y = 0; y < ySize; ++y) { |
- for (int x = 0; x < xSize; ++x) { |
- addr[y*xSize+x] = SkPreMultiplyColor(SK_ColorBLACK); |
- |
- if ((y % 5) == 0) { |
- addr[y*xSize+x] = SkPreMultiplyColor(SK_ColorRED); |
- } |
- if ((x % 7) == 0) { |
- addr[y*xSize+x] = SkPreMultiplyColor(SK_ColorGREEN); |
- } |
- } |
- } |
- |
- fTextureCreated = true; |
- } |
- |
- void createShader() { |
- if (NULL != fShader.get()) { |
- return; |
- } |
- |
- createTexture(); |
- |
- fShader.reset(SkShader::CreateBitmapShader(fTexture, |
- SkShader::kRepeat_TileMode, |
- SkShader::kRepeat_TileMode)); |
- } |
- |
- void createMaskFilter() { |
- if (NULL != fMaskFilter.get()) { |
- return; |
- } |
- |
- fMaskFilter.reset(SkStippleMaskFilter::Create()); |
- } |
- |
- virtual void onDraw(SkCanvas* canvas) { |
- |
- createShader(); |
- createMaskFilter(); |
- |
- canvas->save(); |
- |
- // draw a letter "M" with a green & red striped texture and a |
- // stipple mask with a round rect soft clip |
- SkPaint paint; |
- paint.setAntiAlias(true); |
- sk_tool_utils::set_portable_typeface(&paint); |
- paint.setTextSize(72); |
- paint.setShader(fShader.get()); |
- paint.setMaskFilter(fMaskFilter.get()); |
- |
- SkRect temp; |
- temp.set(SkIntToScalar(115), |
- SkIntToScalar(75), |
- SkIntToScalar(144), |
- SkIntToScalar(110)); |
- |
- SkPath path; |
- path.addRoundRect(temp, SkIntToScalar(5), SkIntToScalar(5)); |
- |
- canvas->clipPath(path, SkRegion::kReplace_Op, true); // AA is on |
- |
- canvas->drawText("M", 1, |
- SkIntToScalar(100), SkIntToScalar(100), |
- paint); |
- |
- canvas->restore(); |
- |
- // Now draw stroked versions of the "M" and the round rect so we can |
- // see what is going on |
- SkPaint paint2; |
- paint2.setColor(SK_ColorBLACK); |
- paint2.setAntiAlias(true); |
- sk_tool_utils::set_portable_typeface(&paint2); |
- paint2.setTextSize(72); |
- paint2.setStyle(SkPaint::kStroke_Style); |
- paint2.setStrokeWidth(1); |
- canvas->drawText("M", 1, |
- SkIntToScalar(100), SkIntToScalar(100), |
- paint2); |
- |
- paint2.setColor(SK_ColorGRAY); |
- |
- canvas->drawPath(path, paint2); |
- } |
- |
-private: |
- SkBitmap fTexture; |
- bool fTextureCreated; |
- SkAutoTUnref<SkShader> fShader; |
- SkAutoTUnref<SkMaskFilter> fMaskFilter; |
- |
- typedef GM INHERITED; |
-}; |
- |
-////////////////////////////////////////////////////////////////////////////// |
- |
-static GM* MyFactory(void*) { return new SamplerStressGM; } |
-static GMRegistry reg(MyFactory); |
- |
-} |