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