aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar reed <reed@google.com>2015-03-19 08:31:14 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2015-03-19 08:31:14 -0700
commit3ef71e343bf075888fb50892350390b4dd47de24 (patch)
treed4765ef144928600322cf21bdb41b37f05a55697 /src
parent647211f1243f2dc925588e75038be49cad7b5431 (diff)
guarded change to SkImageGenerator to make getInfo() const
Diffstat (limited to 'src')
-rw-r--r--src/codec/SkCodec.cpp3
-rw-r--r--src/core/SkImageGenerator.cpp14
-rw-r--r--src/images/SkDecodingImageGenerator.cpp5
-rw-r--r--src/lazy/SkCachingPixelRef.cpp9
-rw-r--r--src/lazy/SkDiscardablePixelRef.cpp10
-rw-r--r--src/ports/SkImageGenerator_skia.cpp8
6 files changed, 31 insertions, 18 deletions
diff --git a/src/codec/SkCodec.cpp b/src/codec/SkCodec.cpp
index d557087c01..12341f5929 100644
--- a/src/codec/SkCodec.cpp
+++ b/src/codec/SkCodec.cpp
@@ -46,7 +46,8 @@ SkCodec* SkCodec::NewFromData(SkData* data) {
}
SkCodec::SkCodec(const SkImageInfo& info, SkStream* stream)
- : fInfo(info)
+ : INHERITED(info)
+ , fInfo(info)
, fStream(stream)
, fNeedsRewind(false)
{}
diff --git a/src/core/SkImageGenerator.cpp b/src/core/SkImageGenerator.cpp
index 4c69fd2a0b..27bc141d57 100644
--- a/src/core/SkImageGenerator.cpp
+++ b/src/core/SkImageGenerator.cpp
@@ -7,13 +7,15 @@
#include "SkImageGenerator.h"
-bool SkImageGenerator::getInfo(SkImageInfo* info) {
- SkImageInfo dummy;
- if (NULL == info) {
- info = &dummy;
+#ifdef SK_SUPPORT_LEGACY_BOOL_ONGETINFO
+SkImageInfo SkImageGenerator::getInfo() {
+ SkImageInfo info;
+ if (!this->onGetInfo(&info)) {
+ info = SkImageInfo::MakeUnknown(0, 0);
}
- return this->onGetInfo(info);
+ return info;
}
+#endif
SkImageGenerator::Result SkImageGenerator::getPixels(const SkImageInfo& info, void* pixels,
size_t rowBytes, const Options* options,
@@ -120,9 +122,11 @@ SkData* SkImageGenerator::onRefEncodedData() {
return NULL;
}
+#ifdef SK_SUPPORT_LEGACY_BOOL_ONGETINFO
bool SkImageGenerator::onGetInfo(SkImageInfo*) {
return false;
}
+#endif
#ifdef SK_SUPPORT_LEGACY_OPTIONLESS_GET_PIXELS
SkImageGenerator::Result SkImageGenerator::onGetPixels(const SkImageInfo&, void*, size_t,
diff --git a/src/images/SkDecodingImageGenerator.cpp b/src/images/SkDecodingImageGenerator.cpp
index 170397dda1..337a96407b 100644
--- a/src/images/SkDecodingImageGenerator.cpp
+++ b/src/images/SkDecodingImageGenerator.cpp
@@ -38,10 +38,12 @@ public:
protected:
SkData* onRefEncodedData() SK_OVERRIDE;
+#ifdef SK_SUPPORT_LEGACY_BOOL_ONGETINFO
bool onGetInfo(SkImageInfo* info) SK_OVERRIDE {
*info = fInfo;
return true;
}
+#endif
virtual Result onGetPixels(const SkImageInfo& info,
void* pixels, size_t rowBytes, const Options&,
SkPMColor ctable[], int* ctableCount) SK_OVERRIDE;
@@ -116,7 +118,8 @@ DecodingImageGenerator::DecodingImageGenerator(
const SkImageInfo& info,
int sampleSize,
bool ditherImage)
- : fData(data)
+ : INHERITED(info)
+ , fData(data)
, fStream(stream)
, fInfo(info)
, fSampleSize(sampleSize)
diff --git a/src/lazy/SkCachingPixelRef.cpp b/src/lazy/SkCachingPixelRef.cpp
index dc53a5d6c7..5fc0d2a87f 100644
--- a/src/lazy/SkCachingPixelRef.cpp
+++ b/src/lazy/SkCachingPixelRef.cpp
@@ -11,11 +11,12 @@
bool SkCachingPixelRef::Install(SkImageGenerator* generator,
SkBitmap* dst) {
- SkImageInfo info;
SkASSERT(dst != NULL);
- if ((NULL == generator)
- || !(generator->getInfo(&info))
- || !dst->setInfo(info)) {
+ if (NULL == generator) {
+ return false;
+ }
+ const SkImageInfo info = generator->getInfo();
+ if (!dst->setInfo(info)) {
SkDELETE(generator);
return false;
}
diff --git a/src/lazy/SkDiscardablePixelRef.cpp b/src/lazy/SkDiscardablePixelRef.cpp
index b810c2b183..1e42042fb6 100644
--- a/src/lazy/SkDiscardablePixelRef.cpp
+++ b/src/lazy/SkDiscardablePixelRef.cpp
@@ -109,12 +109,12 @@ void SkDiscardablePixelRef::onUnlockPixels() {
bool SkInstallDiscardablePixelRef(SkImageGenerator* generator, SkBitmap* dst,
SkDiscardableMemory::Factory* factory) {
- SkImageInfo info;
SkAutoTDelete<SkImageGenerator> autoGenerator(generator);
- if ((NULL == autoGenerator.get())
- || (!autoGenerator->getInfo(&info))
- || info.isEmpty()
- || (!dst->setInfo(info))) {
+ if (NULL == autoGenerator.get()) {
+ return false;
+ }
+ SkImageInfo info = autoGenerator->getInfo();
+ if (info.isEmpty() || !dst->setInfo(info)) {
return false;
}
// Since dst->setInfo() may have changed/fixed-up info, we copy it back from that bitmap
diff --git a/src/ports/SkImageGenerator_skia.cpp b/src/ports/SkImageGenerator_skia.cpp
index 1448d57ce5..6938880357 100644
--- a/src/ports/SkImageGenerator_skia.cpp
+++ b/src/ports/SkImageGenerator_skia.cpp
@@ -39,7 +39,7 @@ class SkImageDecoderGenerator : public SkImageGenerator {
public:
SkImageDecoderGenerator(const SkImageInfo& info, SkImageDecoder* decoder, SkData* data)
- : fInfo(info), fDecoder(decoder), fData(SkRef(data))
+ : INHERITED(info), fInfo(info), fDecoder(decoder), fData(SkRef(data))
{}
protected:
@@ -47,10 +47,12 @@ protected:
return SkRef(fData.get());
}
+#ifdef SK_SUPPORT_LEGACY_BOOL_ONGETINFO
virtual bool onGetInfo(SkImageInfo* info) SK_OVERRIDE {
*info = fInfo;
return true;
}
+#endif
virtual Result onGetPixels(const SkImageInfo& info, void* pixels, size_t rowBytes,
const Options&,
@@ -92,7 +94,9 @@ protected:
SkMemoryStream stream(fData->data(), fData->size(), false);
return fDecoder->decodeYUV8Planes(&stream, sizes, planes, rowBytes, colorSpace);
}
-
+
+private:
+ typedef SkImageGenerator INHERITED;
};
SkImageGenerator* SkImageGenerator::NewFromData(SkData* data) {