const int kBlockSize = atlasSize/2;
SkImageInfo info = SkImageInfo::MakeN32Premul(atlasSize, atlasSize);
- SkAutoTUnref<SkSurface> surface(caller->newSurface(info));
+ auto surface(caller->makeSurface(info));
if (nullptr == surface) {
- surface.reset(SkSurface::NewRaster(info));
+ surface = SkSurface::MakeRaster(info);
}
SkCanvas* canvas = surface->getCanvas();
SkPaint paint;
- paint.setXfermode(SkXfermode::Create(SkXfermode::kSrc_Mode));
+ paint.setXfermode(SkXfermode::Make(SkXfermode::kSrc_Mode));
paint.setColor(SK_ColorWHITE);
- SkRect r = SkRect::MakeXYWH(0, 0,
+ SkRect r = SkRect::MakeXYWH(0, 0,
SkIntToScalar(kBlockSize), SkIntToScalar(kBlockSize));
canvas->drawRect(r, paint);
paint.setColor(SK_ColorRED);
- r = SkRect::MakeXYWH(SkIntToScalar(kBlockSize), 0,
+ r = SkRect::MakeXYWH(SkIntToScalar(kBlockSize), 0,
SkIntToScalar(kBlockSize), SkIntToScalar(kBlockSize));
canvas->drawRect(r, paint);
paint.setColor(SK_ColorGREEN);
- r = SkRect::MakeXYWH(0, SkIntToScalar(kBlockSize),
+ r = SkRect::MakeXYWH(0, SkIntToScalar(kBlockSize),
SkIntToScalar(kBlockSize), SkIntToScalar(kBlockSize));
canvas->drawRect(r, paint);
paint.setColor(SK_ColorTRANSPARENT);
- r = SkRect::MakeXYWH(SkIntToScalar(kBlockSize), SkIntToScalar(kBlockSize),
+ r = SkRect::MakeXYWH(SkIntToScalar(kBlockSize), SkIntToScalar(kBlockSize),
SkIntToScalar(kBlockSize), SkIntToScalar(kBlockSize));
canvas->drawRect(r, paint);
DrawAtlasColorsGM() {
this->setBGColor(sk_tool_utils::color_to_565(0xFFCCCCCC));
}
-
+
protected:
SkString onShortName() override {
return SkString("draw-atlas-colors");
}
-
+
SkISize onISize() override {
return SkISize::Make(kNumXferModes * (kAtlasSize + kPad) + kPad,
2 * kNumColors * (kAtlasSize + kPad) + kTextPad + kPad);
}
-
+
void onDraw(SkCanvas* canvas) override {
const SkRect target = SkRect::MakeWH(SkIntToScalar(kAtlasSize), SkIntToScalar(kAtlasSize));
- if (nullptr == fAtlas) {
- fAtlas = make_atlas(canvas, kAtlasSize);
- }
+ auto atlas = make_atlas(canvas, kAtlasSize);
const struct {
SkXfermode::Mode fMode;
}
for (int i = 0; i < numModes; ++i) {
- canvas->save();
+ canvas->save();
canvas->translate(SkIntToScalar(i*(target.height()+kPad)),
SkIntToScalar(kTextPad+kPad));
// w/o a paint
- canvas->drawAtlas(fAtlas.get(), xforms, rects, quadColors, numColors,
+ canvas->drawAtlas(atlas.get(), xforms, rects, quadColors, numColors,
gModes[i].fMode, nullptr, nullptr);
canvas->translate(0.0f, numColors*(target.height()+kPad));
// w a paint
- canvas->drawAtlas(fAtlas.get(), xforms, rects, quadColors, numColors,
+ canvas->drawAtlas(atlas.get(), xforms, rects, quadColors, numColors,
gModes[i].fMode, nullptr, &paint);
- canvas->restore();
+ canvas->restore();
}
}
-
-private:
- static const int kNumXferModes = 29;
- static const int kNumColors = 4;
- static const int kAtlasSize = 30;
- static const int kPad = 2;
- static const int kTextPad = 8;
-
- sk_sp<SkImage> fAtlas;
+private:
+ static constexpr int kNumXferModes = 29;
+ static constexpr int kNumColors = 4;
+ static constexpr int kAtlasSize = 30;
+ static constexpr int kPad = 2;
+ static constexpr int kTextPad = 8;
typedef GM INHERITED;
};
DEF_GM( return new DrawAtlasColorsGM; )
-