| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2014 Google Inc. | 2 * Copyright 2014 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #include "SkImageGenerator.h" | 8 #include "SkImageGenerator.h" |
| 9 | 9 |
| 10 bool SkImageGenerator::getPixels(const SkImageInfo& info, void* pixels, size_t r
owBytes, | 10 bool SkImageGenerator::getPixels(const SkImageInfo& info, void* pixels, size_t r
owBytes, |
| (...skipping 13 matching lines...) Expand all Loading... |
| 24 return false; | 24 return false; |
| 25 } | 25 } |
| 26 } else { | 26 } else { |
| 27 if (ctableCount) { | 27 if (ctableCount) { |
| 28 *ctableCount = 0; | 28 *ctableCount = 0; |
| 29 } | 29 } |
| 30 ctableCount = NULL; | 30 ctableCount = NULL; |
| 31 ctable = NULL; | 31 ctable = NULL; |
| 32 } | 32 } |
| 33 | 33 |
| 34 #ifdef SK_LEGACY_IMAGE_GENERATOR_ENUMS_AND_OPTIONS | |
| 35 // Default options. | |
| 36 Options options; | |
| 37 const Result result = this->onGetPixels(info, pixels, rowBytes, options, cta
ble, ctableCount); | |
| 38 | |
| 39 if (kIncompleteInput != result && kSuccess != result) { | |
| 40 return false; | |
| 41 } | |
| 42 if (ctableCount) { | |
| 43 SkASSERT(*ctableCount >= 0 && *ctableCount <= 256); | |
| 44 } | |
| 45 return true; | |
| 46 #else | |
| 47 const bool success = this->onGetPixels(info, pixels, rowBytes, ctable, ctabl
eCount); | 34 const bool success = this->onGetPixels(info, pixels, rowBytes, ctable, ctabl
eCount); |
| 48 if (success && ctableCount) { | 35 if (success && ctableCount) { |
| 49 SkASSERT(*ctableCount >= 0 && *ctableCount <= 256); | 36 SkASSERT(*ctableCount >= 0 && *ctableCount <= 256); |
| 50 } | 37 } |
| 51 return success; | 38 return success; |
| 52 #endif | |
| 53 } | 39 } |
| 54 | 40 |
| 55 bool SkImageGenerator::getPixels(const SkImageInfo& info, void* pixels, size_t r
owBytes) { | 41 bool SkImageGenerator::getPixels(const SkImageInfo& info, void* pixels, size_t r
owBytes) { |
| 56 SkASSERT(kIndex_8_SkColorType != info.colorType()); | 42 SkASSERT(kIndex_8_SkColorType != info.colorType()); |
| 57 if (kIndex_8_SkColorType == info.colorType()) { | 43 if (kIndex_8_SkColorType == info.colorType()) { |
| 58 return false; | 44 return false; |
| 59 } | 45 } |
| 60 return this->getPixels(info, pixels, rowBytes, NULL, NULL); | 46 return this->getPixels(info, pixels, rowBytes, NULL, NULL); |
| 61 } | 47 } |
| 62 | 48 |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 111 } | 97 } |
| 112 return this->onGetYUV8Planes(sizes, planes, rowBytes); | 98 return this->onGetYUV8Planes(sizes, planes, rowBytes); |
| 113 } | 99 } |
| 114 | 100 |
| 115 ////////////////////////////////////////////////////////////////////////////////
///////////// | 101 ////////////////////////////////////////////////////////////////////////////////
///////////// |
| 116 | 102 |
| 117 SkData* SkImageGenerator::onRefEncodedData() { | 103 SkData* SkImageGenerator::onRefEncodedData() { |
| 118 return NULL; | 104 return NULL; |
| 119 } | 105 } |
| 120 | 106 |
| 121 #ifdef SK_LEGACY_IMAGE_GENERATOR_ENUMS_AND_OPTIONS | |
| 122 SkImageGenerator::Result SkImageGenerator::onGetPixels(const SkImageInfo& info,
void* dst, | |
| 123 size_t rb, const Options&
options, | |
| 124 SkPMColor* colors, int* c
olorCount) { | |
| 125 return kUnimplemented; | |
| 126 } | |
| 127 #else | |
| 128 bool SkImageGenerator::onGetPixels(const SkImageInfo& info, void* dst, size_t rb
, | 107 bool SkImageGenerator::onGetPixels(const SkImageInfo& info, void* dst, size_t rb
, |
| 129 SkPMColor* colors, int* colorCount) { | 108 SkPMColor* colors, int* colorCount) { |
| 130 return false; | 109 return false; |
| 131 } | 110 } |
| 132 #endif | |
| 133 | 111 |
| 134 ////////////////////////////////////////////////////////////////////////////////
/////////////////// | 112 ////////////////////////////////////////////////////////////////////////////////
/////////////////// |
| 135 | 113 |
| 136 #include "SkGraphics.h" | 114 #include "SkGraphics.h" |
| 137 | 115 |
| 138 static SkGraphics::ImageGeneratorFromEncodedFactory gFactory; | 116 static SkGraphics::ImageGeneratorFromEncodedFactory gFactory; |
| 139 | 117 |
| 140 SkGraphics::ImageGeneratorFromEncodedFactory | 118 SkGraphics::ImageGeneratorFromEncodedFactory |
| 141 SkGraphics::SetImageGeneratorFromEncodedFactory(ImageGeneratorFromEncodedFactory
factory) | 119 SkGraphics::SetImageGeneratorFromEncodedFactory(ImageGeneratorFromEncodedFactory
factory) |
| 142 { | 120 { |
| 143 ImageGeneratorFromEncodedFactory prev = gFactory; | 121 ImageGeneratorFromEncodedFactory prev = gFactory; |
| 144 gFactory = factory; | 122 gFactory = factory; |
| 145 return prev; | 123 return prev; |
| 146 } | 124 } |
| 147 | 125 |
| 148 SkImageGenerator* SkImageGenerator::NewFromEncoded(SkData* data) { | 126 SkImageGenerator* SkImageGenerator::NewFromEncoded(SkData* data) { |
| 149 if (NULL == data) { | 127 if (NULL == data) { |
| 150 return NULL; | 128 return NULL; |
| 151 } | 129 } |
| 152 if (gFactory) { | 130 if (gFactory) { |
| 153 if (SkImageGenerator* generator = gFactory(data)) { | 131 if (SkImageGenerator* generator = gFactory(data)) { |
| 154 return generator; | 132 return generator; |
| 155 } | 133 } |
| 156 } | 134 } |
| 157 return SkImageGenerator::NewFromEncodedImpl(data); | 135 return SkImageGenerator::NewFromEncodedImpl(data); |
| 158 } | 136 } |
| OLD | NEW |