| Index: src/utils/SkImageGeneratorUtils.cpp
|
| diff --git a/src/utils/SkImageGeneratorUtils.cpp b/src/utils/SkImageGeneratorUtils.cpp
|
| deleted file mode 100644
|
| index ebffb30b3f4627ae370e3b7256050467085484ef..0000000000000000000000000000000000000000
|
| --- a/src/utils/SkImageGeneratorUtils.cpp
|
| +++ /dev/null
|
| @@ -1,134 +0,0 @@
|
| -/*
|
| - * Copyright 2015 Google Inc.
|
| - *
|
| - * Use of this source code is governed by a BSD-style license that can be
|
| - * found in the LICENSE file.
|
| - */
|
| -
|
| -#include "SkImageGeneratorUtils.h"
|
| -#include "SkBitmap.h"
|
| -
|
| -class GeneratorFromEmpty : public SkImageGenerator {
|
| -public:
|
| - GeneratorFromEmpty(const SkImageInfo& info) : SkImageGenerator(info) {}
|
| -};
|
| -
|
| -SkImageGenerator* SkImageGeneratorUtils::NewEmpty(const SkImageInfo& info) {
|
| - return new GeneratorFromEmpty(info);
|
| -}
|
| -
|
| -///////////////////////////////////////////////////////////////////////////////////////////////////
|
| -
|
| -class GeneratorFromBitmap : public SkImageGenerator {
|
| -public:
|
| - GeneratorFromBitmap(const SkBitmap& bm) : SkImageGenerator(bm.info()), fBM(bm) {
|
| - if (!bm.isImmutable()) {
|
| - bm.copyTo(&fBM);
|
| - }
|
| - }
|
| -
|
| -protected:
|
| - bool onGetPixels(const SkImageInfo& info, void* pixels, size_t rowBytes,
|
| - SkPMColor*, int*) override {
|
| - return fBM.readPixels(info, pixels, rowBytes, 0, 0);
|
| - }
|
| -
|
| -private:
|
| - SkBitmap fBM;
|
| -};
|
| -
|
| -SkImageGenerator* SkImageGeneratorUtils::NewFromBitmap(const SkBitmap& bm) {
|
| - return new GeneratorFromBitmap(bm);
|
| -}
|
| -
|
| -///////////////////////////////////////////////////////////////////////////////////////////////////
|
| -
|
| -#if SK_SUPPORT_GPU
|
| -
|
| -#include "GrContext.h"
|
| -#include "GrTexture.h"
|
| -#include "SkGrPriv.h"
|
| -
|
| -class GeneratorFromTexture : public SkImageGenerator {
|
| -public:
|
| - GeneratorFromTexture(GrContext* ctx, GrTexture* tex, const SkImageInfo& info)
|
| - : SkImageGenerator(info), fCtx(ctx), fTexture(tex)
|
| - {}
|
| -
|
| -protected:
|
| - GrTexture* onGenerateTexture(GrContext* ctx, const SkIRect* subset) override {
|
| - if (ctx) {
|
| - SkASSERT(ctx == fCtx.get());
|
| - }
|
| -
|
| - if (!subset) {
|
| - return SkRef(fTexture.get());
|
| - }
|
| - // need to copy the subset into a new texture
|
| - GrSurfaceDesc desc = fTexture->desc();
|
| - desc.fWidth = subset->width();
|
| - desc.fHeight = subset->height();
|
| -
|
| - GrTexture* dst = fCtx->textureProvider()->createTexture(desc, SkBudgeted::kNo);
|
| - fCtx->copySurface(dst, fTexture, *subset, SkIPoint::Make(0, 0));
|
| - return dst;
|
| - }
|
| -private:
|
| - SkAutoTUnref<GrContext> fCtx;
|
| - SkAutoTUnref<GrTexture> fTexture;
|
| -};
|
| -#endif
|
| -
|
| -SkImageGenerator* SkImageGeneratorUtils::NewFromTexture(GrContext* ctx, GrTexture* tex) {
|
| -#if SK_SUPPORT_GPU
|
| - if (ctx && tex) {
|
| - const GrSurfaceDesc desc = tex->desc();
|
| -
|
| - SkColorType ct;
|
| - SkColorProfileType cpt;
|
| - if (!GrPixelConfig2ColorAndProfileType(desc.fConfig, &ct, &cpt)) {
|
| - return nullptr;
|
| - }
|
| - const SkAlphaType at = kPremul_SkAlphaType; // take isOpaque from caller?
|
| - SkImageInfo info = SkImageInfo::Make(desc.fWidth, desc.fHeight, ct, at, cpt);
|
| - return new GeneratorFromTexture(ctx, tex, info);
|
| - }
|
| -#endif
|
| - return nullptr;
|
| -}
|
| -
|
| -///////////////////////////////////////////////////////////////////////////////////////////////////
|
| -
|
| -#include "SkImage.h"
|
| -
|
| -class GeneratorFromImage : public SkImageGenerator {
|
| -public:
|
| - GeneratorFromImage(const SkImage* image, const SkImageInfo& info)
|
| - : SkImageGenerator(info), fImage(image) {}
|
| -
|
| -protected:
|
| - bool onGetPixels(const SkImageInfo& info, void* pixels, size_t rowBytes,
|
| - SkPMColor*, int*) override {
|
| - return fImage->readPixels(info, pixels, rowBytes, 0, 0);
|
| - }
|
| -
|
| - GrTexture* onGenerateTexture(GrContext* ctx, const SkIRect* subset) override {
|
| - // waiting on https://code.google.com/p/skia/issues/detail?id=4233
|
| - return nullptr;
|
| - }
|
| -
|
| -private:
|
| - SkAutoTUnref<const SkImage> fImage;
|
| -};
|
| -
|
| -SkImageGenerator* SkImageGeneratorUtils::NewFromImage(const SkImage* image) {
|
| - if (image) {
|
| - const SkColorType ct = kN32_SkColorType;
|
| - const SkAlphaType at = image->isOpaque() ? kOpaque_SkAlphaType : kPremul_SkAlphaType;
|
| - const SkImageInfo info = SkImageInfo::Make(image->width(), image->height(), ct, at);
|
| - return new GeneratorFromImage(image, info);
|
| - }
|
| - return nullptr;
|
| -}
|
| -
|
| -
|
|
|