| Index: src/images/SkImageGenerator.cpp
|
| diff --git a/src/images/SkImageGenerator.cpp b/src/images/SkImageGenerator.cpp
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..daa55a3a4dcbd842f34264f79a8fa18a7f293353
|
| --- /dev/null
|
| +++ b/src/images/SkImageGenerator.cpp
|
| @@ -0,0 +1,72 @@
|
| +/*
|
| + * Copyright 2014 Google Inc.
|
| + *
|
| + * Use of this source code is governed by a BSD-style license that can be
|
| + * found in the LICENSE file.
|
| + */
|
| +
|
| +#include "SkImageGenerator.h"
|
| +
|
| +#ifndef SK_SUPPORT_LEGACY_IMAGEGENERATORAPI
|
| +bool SkImageGenerator::getInfo(SkImageInfo* info) {
|
| + SkImageInfo dummy;
|
| + if (NULL == info) {
|
| + info = &dummy;
|
| + }
|
| + return this->onGetInfo(info);
|
| +}
|
| +
|
| +bool SkImageGenerator::getPixels(const SkImageInfo& info, void* pixels, size_t rowBytes,
|
| + SkPMColor ctable[], int* ctableCount) {
|
| + if (kUnknown_SkColorType == info.colorType()) {
|
| + return false;
|
| + }
|
| + if (NULL == pixels) {
|
| + return false;
|
| + }
|
| + if (rowBytes < info.minRowBytes()) {
|
| + return false;
|
| + }
|
| +
|
| + if (kIndex_8_SkColorType == info.colorType()) {
|
| + if (NULL == ctable || NULL == ctableCount) {
|
| + return false;
|
| + }
|
| + } else {
|
| + if (ctableCount) {
|
| + *ctableCount = 0;
|
| + }
|
| + ctableCount = NULL;
|
| + ctable = NULL;
|
| + }
|
| +
|
| + bool success = this->onGetPixels(info, pixels, rowBytes, ctable, ctableCount);
|
| +
|
| + if (success && ctableCount) {
|
| + SkASSERT(*ctableCount >= 0 && *ctableCount <= 256);
|
| + }
|
| + return success;
|
| +}
|
| +
|
| +bool SkImageGenerator::getPixels(const SkImageInfo& info, void* pixels, size_t rowBytes) {
|
| + SkASSERT(kIndex_8_SkColorType != info.colorType());
|
| + if (kIndex_8_SkColorType == info.colorType()) {
|
| + return false;
|
| + }
|
| + return this->getPixels(info, pixels, rowBytes, NULL, NULL);
|
| +}
|
| +#endif
|
| +
|
| +/////////////////////////////////////////////////////////////////////////////////////////////
|
| +
|
| +SkData* SkImageGenerator::onRefEncodedData() {
|
| + return NULL;
|
| +}
|
| +
|
| +bool SkImageGenerator::onGetInfo(SkImageInfo*) {
|
| + return false;
|
| +}
|
| +
|
| +bool SkImageGenerator::onGetPixels(const SkImageInfo&, void*, size_t, SkPMColor*, int*) {
|
| + return false;
|
| +}
|
|
|