/external/skqp/src/core/ |
D | SkConvertPixels.cpp | 23 static inline bool can_memcpy(const SkImageInfo& dstInfo, const SkImageInfo& srcInfo) { in can_memcpy() argument 24 if (dstInfo.colorType() != srcInfo.colorType()) { in can_memcpy() 28 if (kAlpha_8_SkColorType == dstInfo.colorType()) { in can_memcpy() 32 if (dstInfo.alphaType() != srcInfo.alphaType() && in can_memcpy() 33 kOpaque_SkAlphaType != dstInfo.alphaType() && in can_memcpy() 40 return !dstInfo.colorSpace() || in can_memcpy() 41 SkColorSpace::Equals(dstInfo.colorSpace(), srcInfo.colorSpace()); in can_memcpy() 56 void swizzle_and_multiply(const SkImageInfo& dstInfo, void* dstPixels, size_t dstRB, in swizzle_and_multiply() argument 59 const bool swapRB = dstInfo.colorType() != srcInfo.colorType(); in swizzle_and_multiply() 61 if (kPremul_SkAlphaType == dstInfo.alphaType() && in swizzle_and_multiply() [all …]
|
/external/skia/src/core/ |
D | SkConvertPixels.cpp | 23 static inline bool can_memcpy(const SkImageInfo& dstInfo, const SkImageInfo& srcInfo) { in can_memcpy() argument 24 if (dstInfo.colorType() != srcInfo.colorType()) { in can_memcpy() 28 if (kAlpha_8_SkColorType == dstInfo.colorType()) { in can_memcpy() 32 if (dstInfo.alphaType() != srcInfo.alphaType() && in can_memcpy() 33 kOpaque_SkAlphaType != dstInfo.alphaType() && in can_memcpy() 40 return !dstInfo.colorSpace() || in can_memcpy() 41 SkColorSpace::Equals(dstInfo.colorSpace(), srcInfo.colorSpace()); in can_memcpy() 56 void swizzle_and_multiply(const SkImageInfo& dstInfo, void* dstPixels, size_t dstRB, in swizzle_and_multiply() argument 59 const bool swapRB = dstInfo.colorType() != srcInfo.colorType(); in swizzle_and_multiply() 61 if (kPremul_SkAlphaType == dstInfo.alphaType() && in swizzle_and_multiply() [all …]
|
/external/skia/src/codec/ |
D | SkBmpStandardCodec.cpp | 36 SkCodec::Result SkBmpStandardCodec::onGetPixels(const SkImageInfo& dstInfo, in onGetPixels() argument 44 if (dstInfo.dimensions() != this->getInfo().dimensions()) { in onGetPixels() 49 Result result = this->prepareToDecode(dstInfo, opts); in onGetPixels() 53 int rows = this->decodeRows(dstInfo, dst, dstRowBytes, opts); in onGetPixels() 54 if (rows != dstInfo.height()) { in onGetPixels() 149 void SkBmpStandardCodec::initializeSwizzler(const SkImageInfo& dstInfo, const Options& opts) { in initializeSwizzler() argument 167 SkImageInfo swizzlerInfo = dstInfo; in initializeSwizzler() 171 if (kPremul_SkAlphaType == dstInfo.alphaType()) { in initializeSwizzler() 182 SkCodec::Result SkBmpStandardCodec::onPrepareToDecode(const SkImageInfo& dstInfo, in onPrepareToDecode() argument 185 this->resetXformBuffer(dstInfo.width()); in onPrepareToDecode() [all …]
|
D | SkGifCodec.cpp | 162 void SkGifCodec::initializeColorTable(const SkImageInfo& dstInfo, int frameIndex) { in initializeColorTable() argument 163 SkColorType colorTableColorType = dstInfo.colorType(); in initializeColorTable() 185 SkCodec::Result SkGifCodec::prepareToDecode(const SkImageInfo& dstInfo, const Options& opts) { in prepareToDecode() argument 191 if (frameIndex > 0 && kRGB_565_SkColorType == dstInfo.colorType()) { in prepareToDecode() 228 fXformBuffer.reset(new uint32_t[dstInfo.width()]); in prepareToDecode() 229 sk_bzero(fXformBuffer.get(), dstInfo.width() * sizeof(uint32_t)); in prepareToDecode() 232 fTmpBuffer.reset(new uint8_t[dstInfo.minRowBytes()]); in prepareToDecode() 234 this->initializeColorTable(dstInfo, frameIndex); in prepareToDecode() 235 this->initializeSwizzler(dstInfo, frameIndex); in prepareToDecode() 241 void SkGifCodec::initializeSwizzler(const SkImageInfo& dstInfo, int frameIndex) { in initializeSwizzler() argument [all …]
|
D | SkHeifCodec.cpp | 169 bool SkHeifCodec::setOutputColorFormat(const SkImageInfo& dstInfo) { in setOutputColorFormat() argument 170 if (kUnknown_SkAlphaType == dstInfo.alphaType()) { in setOutputColorFormat() 174 if (kOpaque_SkAlphaType != dstInfo.alphaType()) { in setOutputColorFormat() 179 switch (dstInfo.colorType()) { in setOutputColorFormat() 196 if (!dstInfo.colorSpace()->gammaIsLinear()) { in setOutputColorFormat() 206 int SkHeifCodec::readRows(const SkImageInfo& dstInfo, void* dst, size_t rowBytes, int count, in readRows() argument 219 int dstWidth = opts.fSubset ? opts.fSubset->width() : dstInfo.width(); in readRows() 261 SkCodec::Result SkHeifCodec::onGetPixels(const SkImageInfo& dstInfo, in onGetPixels() argument 273 if (!this->setOutputColorFormat(dstInfo)) { in onGetPixels() 282 this->allocateStorage(dstInfo); in onGetPixels() [all …]
|
D | SkBmpRLECodec.cpp | 35 SkCodec::Result SkBmpRLECodec::onGetPixels(const SkImageInfo& dstInfo, in onGetPixels() argument 44 Result result = this->prepareToDecode(dstInfo, opts); in onGetPixels() 50 int rows = this->decodeRows(dstInfo, dst, dstRowBytes, opts); in onGetPixels() 51 if (rows != dstInfo.height()) { in onGetPixels() 55 *rowsDecoded = dstInfo.height(); in onGetPixels() 169 const SkImageInfo& dstInfo, uint32_t x, uint32_t y, in setPixel() argument 171 if (dst && is_coord_necessary(x, fSampleX, dstInfo.width())) { in setPixel() 173 uint32_t row = this->getDstRow(y, dstInfo.height()); in setPixel() 177 switch (dstInfo.colorType()) { in setPixel() 202 const SkImageInfo& dstInfo, uint32_t x, in setRGBPixel() argument [all …]
|
D | SkBmpMaskCodec.cpp | 27 SkCodec::Result SkBmpMaskCodec::onGetPixels(const SkImageInfo& dstInfo, in onGetPixels() argument 35 if (dstInfo.dimensions() != this->getInfo().dimensions()) { in onGetPixels() 40 Result result = this->prepareToDecode(dstInfo, opts); in onGetPixels() 45 int rows = this->decodeRows(dstInfo, dst, dstRowBytes, opts); in onGetPixels() 46 if (rows != dstInfo.height()) { in onGetPixels() 53 SkCodec::Result SkBmpMaskCodec::onPrepareToDecode(const SkImageInfo& dstInfo, in onPrepareToDecode() argument 56 this->resetXformBuffer(dstInfo.width()); in onPrepareToDecode() 59 SkImageInfo swizzlerInfo = dstInfo; in onPrepareToDecode() 62 if (kPremul_SkAlphaType == dstInfo.alphaType()) { in onPrepareToDecode() 78 int SkBmpMaskCodec::decodeRows(const SkImageInfo& dstInfo, in decodeRows() argument [all …]
|
D | SkJpegCodec.cpp | 391 bool SkJpegCodec::setOutputColorSpace(const SkImageInfo& dstInfo) { in setOutputColorSpace() argument 392 if (kUnknown_SkAlphaType == dstInfo.alphaType()) { in setOutputColorSpace() 396 if (kOpaque_SkAlphaType != dstInfo.alphaType()) { in setOutputColorSpace() 404 switch (dstInfo.colorType()) { in setOutputColorSpace() 435 if (!dstInfo.colorSpace()->gammaIsLinear()) { in setOutputColorSpace() 496 int SkJpegCodec::readRows(const SkImageInfo& dstInfo, void* dst, size_t rowBytes, int count, in readRows() argument 515 int dstWidth = opts.fSubset ? opts.fSubset->width() : dstInfo.width(); in readRows() 574 SkCodec::Result SkJpegCodec::onGetPixels(const SkImageInfo& dstInfo, in onGetPixels() argument 593 if (!this->setOutputColorSpace(dstInfo)) { in onGetPixels() 607 this->initializeSwizzler(dstInfo, options, true); in onGetPixels() [all …]
|
D | SkBmpRLECodec.h | 46 Result onGetPixels(const SkImageInfo& dstInfo, void* dst, 50 SkCodec::Result onPrepareToDecode(const SkImageInfo& dstInfo, 76 const SkImageInfo& dstInfo, uint32_t x, uint32_t y, 82 const SkImageInfo& dstInfo, uint32_t x, uint32_t y, 88 int decodeRows(const SkImageInfo& dstInfo, void* dst, size_t dstRowBytes, 90 int decodeRLE(const SkImageInfo& dstInfo, void* dst, size_t dstRowBytes);
|
D | SkIcoCodec.cpp | 256 SkCodec::Result SkIcoCodec::onGetPixels(const SkImageInfo& dstInfo, in onGetPixels() argument 268 index = this->chooseCodec(dstInfo.dimensions(), index); in onGetPixels() 274 result = embeddedCodec->getPixels(dstInfo, dst, dstRowBytes, &opts); in onGetPixels() 280 *rowsDecoded = dstInfo.height(); in onGetPixels() 294 SkCodec::Result SkIcoCodec::onStartScanlineDecode(const SkImageInfo& dstInfo, in onStartScanlineDecode() argument 299 index = this->chooseCodec(dstInfo.dimensions(), index); in onStartScanlineDecode() 305 result = embeddedCodec->startScanlineDecode(dstInfo, &options); in onStartScanlineDecode() 328 SkCodec::Result SkIcoCodec::onStartIncrementalDecode(const SkImageInfo& dstInfo, in onStartIncrementalDecode() argument 332 index = this->chooseCodec(dstInfo.dimensions(), index); in onStartIncrementalDecode() 338 switch (embeddedCodec->startIncrementalDecode(dstInfo, in onStartIncrementalDecode() [all …]
|
D | SkHeifCodec.h | 41 const SkImageInfo& dstInfo, 72 void initializeSwizzler(const SkImageInfo& dstInfo, const Options& options); 73 void allocateStorage(const SkImageInfo& dstInfo); 74 int readRows(const SkImageInfo& dstInfo, void* dst, 81 Result onStartScanlineDecode(const SkImageInfo& dstInfo,
|
/external/skqp/src/codec/ |
D | SkBmpStandardCodec.cpp | 36 SkCodec::Result SkBmpStandardCodec::onGetPixels(const SkImageInfo& dstInfo, in onGetPixels() argument 44 if (dstInfo.dimensions() != this->getInfo().dimensions()) { in onGetPixels() 49 Result result = this->prepareToDecode(dstInfo, opts); in onGetPixels() 53 int rows = this->decodeRows(dstInfo, dst, dstRowBytes, opts); in onGetPixels() 54 if (rows != dstInfo.height()) { in onGetPixels() 149 void SkBmpStandardCodec::initializeSwizzler(const SkImageInfo& dstInfo, const Options& opts) { in initializeSwizzler() argument 167 SkImageInfo swizzlerInfo = dstInfo; in initializeSwizzler() 171 if (kPremul_SkAlphaType == dstInfo.alphaType()) { in initializeSwizzler() 184 SkCodec::Result SkBmpStandardCodec::onPrepareToDecode(const SkImageInfo& dstInfo, in onPrepareToDecode() argument 187 this->resetXformBuffer(dstInfo.width()); in onPrepareToDecode() [all …]
|
D | SkGifCodec.cpp | 162 void SkGifCodec::initializeColorTable(const SkImageInfo& dstInfo, int frameIndex) { in initializeColorTable() argument 163 SkColorType colorTableColorType = dstInfo.colorType(); in initializeColorTable() 185 SkCodec::Result SkGifCodec::prepareToDecode(const SkImageInfo& dstInfo, const Options& opts) { in prepareToDecode() argument 191 if (frameIndex > 0 && kRGB_565_SkColorType == dstInfo.colorType()) { in prepareToDecode() 228 fXformBuffer.reset(new uint32_t[dstInfo.width()]); in prepareToDecode() 229 sk_bzero(fXformBuffer.get(), dstInfo.width() * sizeof(uint32_t)); in prepareToDecode() 232 fTmpBuffer.reset(new uint8_t[dstInfo.minRowBytes()]); in prepareToDecode() 234 this->initializeColorTable(dstInfo, frameIndex); in prepareToDecode() 235 this->initializeSwizzler(dstInfo, frameIndex); in prepareToDecode() 241 void SkGifCodec::initializeSwizzler(const SkImageInfo& dstInfo, int frameIndex) { in initializeSwizzler() argument [all …]
|
D | SkBmpRLECodec.cpp | 35 SkCodec::Result SkBmpRLECodec::onGetPixels(const SkImageInfo& dstInfo, in onGetPixels() argument 44 Result result = this->prepareToDecode(dstInfo, opts); in onGetPixels() 50 int rows = this->decodeRows(dstInfo, dst, dstRowBytes, opts); in onGetPixels() 51 if (rows != dstInfo.height()) { in onGetPixels() 55 *rowsDecoded = dstInfo.height(); in onGetPixels() 169 const SkImageInfo& dstInfo, uint32_t x, uint32_t y, in setPixel() argument 171 if (dst && is_coord_necessary(x, fSampleX, dstInfo.width())) { in setPixel() 173 uint32_t row = this->getDstRow(y, dstInfo.height()); in setPixel() 177 switch (dstInfo.colorType()) { in setPixel() 202 const SkImageInfo& dstInfo, uint32_t x, in setRGBPixel() argument [all …]
|
D | SkHeifCodec.cpp | 169 bool SkHeifCodec::setOutputColorFormat(const SkImageInfo& dstInfo) { in setOutputColorFormat() argument 170 if (kUnknown_SkAlphaType == dstInfo.alphaType()) { in setOutputColorFormat() 174 if (kOpaque_SkAlphaType != dstInfo.alphaType()) { in setOutputColorFormat() 179 switch (dstInfo.colorType()) { in setOutputColorFormat() 196 if (!dstInfo.colorSpace()->gammaIsLinear()) { in setOutputColorFormat() 206 int SkHeifCodec::readRows(const SkImageInfo& dstInfo, void* dst, size_t rowBytes, int count, in readRows() argument 219 int dstWidth = opts.fSubset ? opts.fSubset->width() : dstInfo.width(); in readRows() 261 SkCodec::Result SkHeifCodec::onGetPixels(const SkImageInfo& dstInfo, in onGetPixels() argument 273 if (!this->setOutputColorFormat(dstInfo)) { in onGetPixels() 282 this->allocateStorage(dstInfo); in onGetPixels() [all …]
|
D | SkBmpMaskCodec.cpp | 27 SkCodec::Result SkBmpMaskCodec::onGetPixels(const SkImageInfo& dstInfo, in onGetPixels() argument 35 if (dstInfo.dimensions() != this->getInfo().dimensions()) { in onGetPixels() 40 Result result = this->prepareToDecode(dstInfo, opts); in onGetPixels() 45 int rows = this->decodeRows(dstInfo, dst, dstRowBytes, opts); in onGetPixels() 46 if (rows != dstInfo.height()) { in onGetPixels() 53 SkCodec::Result SkBmpMaskCodec::onPrepareToDecode(const SkImageInfo& dstInfo, in onPrepareToDecode() argument 56 this->resetXformBuffer(dstInfo.width()); in onPrepareToDecode() 59 SkImageInfo swizzlerInfo = dstInfo; in onPrepareToDecode() 62 if (kPremul_SkAlphaType == dstInfo.alphaType()) { in onPrepareToDecode() 78 int SkBmpMaskCodec::decodeRows(const SkImageInfo& dstInfo, in decodeRows() argument [all …]
|
D | SkJpegCodec.cpp | 390 bool SkJpegCodec::setOutputColorSpace(const SkImageInfo& dstInfo) { in setOutputColorSpace() argument 391 if (kUnknown_SkAlphaType == dstInfo.alphaType()) { in setOutputColorSpace() 395 if (kOpaque_SkAlphaType != dstInfo.alphaType()) { in setOutputColorSpace() 403 switch (dstInfo.colorType()) { in setOutputColorSpace() 434 if (!dstInfo.colorSpace()->gammaIsLinear()) { in setOutputColorSpace() 495 int SkJpegCodec::readRows(const SkImageInfo& dstInfo, void* dst, size_t rowBytes, int count, in readRows() argument 514 int dstWidth = opts.fSubset ? opts.fSubset->width() : dstInfo.width(); in readRows() 573 SkCodec::Result SkJpegCodec::onGetPixels(const SkImageInfo& dstInfo, in onGetPixels() argument 592 if (!this->setOutputColorSpace(dstInfo)) { in onGetPixels() 606 this->initializeSwizzler(dstInfo, options, true); in onGetPixels() [all …]
|
D | SkBmpRLECodec.h | 46 Result onGetPixels(const SkImageInfo& dstInfo, void* dst, 50 SkCodec::Result onPrepareToDecode(const SkImageInfo& dstInfo, 76 const SkImageInfo& dstInfo, uint32_t x, uint32_t y, 82 const SkImageInfo& dstInfo, uint32_t x, uint32_t y, 88 int decodeRows(const SkImageInfo& dstInfo, void* dst, size_t dstRowBytes, 90 int decodeRLE(const SkImageInfo& dstInfo, void* dst, size_t dstRowBytes);
|
D | SkIcoCodec.cpp | 256 SkCodec::Result SkIcoCodec::onGetPixels(const SkImageInfo& dstInfo, in onGetPixels() argument 268 index = this->chooseCodec(dstInfo.dimensions(), index); in onGetPixels() 274 result = embeddedCodec->getPixels(dstInfo, dst, dstRowBytes, &opts); in onGetPixels() 280 *rowsDecoded = dstInfo.height(); in onGetPixels() 294 SkCodec::Result SkIcoCodec::onStartScanlineDecode(const SkImageInfo& dstInfo, in onStartScanlineDecode() argument 299 index = this->chooseCodec(dstInfo.dimensions(), index); in onStartScanlineDecode() 305 result = embeddedCodec->startScanlineDecode(dstInfo, &options); in onStartScanlineDecode() 328 SkCodec::Result SkIcoCodec::onStartIncrementalDecode(const SkImageInfo& dstInfo, in onStartIncrementalDecode() argument 332 index = this->chooseCodec(dstInfo.dimensions(), index); in onStartIncrementalDecode() 338 switch (embeddedCodec->startIncrementalDecode(dstInfo, in onStartIncrementalDecode() [all …]
|
/external/skqp/tests/ |
D | VkUploadPixelsTests.cpp | 83 SkImageInfo dstInfo = SkImageInfo::Make(kWidth, kHeight, ct, kOpaque_SkAlphaType); in basic_texture_test() local 85 bool result = sContext->readPixels(dstInfo, dstBuffer, 0, 0, 0); in basic_texture_test() 92 dstInfo = SkImageInfo::Make(10, 2, ct, kOpaque_SkAlphaType); in basic_texture_test() 93 result = sContext->writePixels(dstInfo, srcBuffer, 0, 2, 10); in basic_texture_test() 98 result = sContext->readPixels(dstInfo, dstBuffer, 0, 2, 10); in basic_texture_test() 114 SkImageInfo dstInfo = SkImageInfo::Make(kWidth, kHeight, ct, kOpaque_SkAlphaType); in basic_texture_test() local 116 bool result = sContext->readPixels(dstInfo, dstBuffer, 0, 0, 0); in basic_texture_test() 123 dstInfo = SkImageInfo::Make(4, 5, ct, kOpaque_SkAlphaType); in basic_texture_test() 124 result = sContext->writePixels(dstInfo, srcBuffer, 0, 5, 4); in basic_texture_test() 129 result = sContext->readPixels(dstInfo, dstBuffer, 0, 5, 4); in basic_texture_test()
|
/external/skia/tests/ |
D | VkUploadPixelsTests.cpp | 83 SkImageInfo dstInfo = SkImageInfo::Make(kWidth, kHeight, ct, kOpaque_SkAlphaType); in basic_texture_test() local 85 bool result = sContext->readPixels(dstInfo, dstBuffer, 0, 0, 0); in basic_texture_test() 92 dstInfo = SkImageInfo::Make(10, 2, ct, kOpaque_SkAlphaType); in basic_texture_test() 93 result = sContext->writePixels(dstInfo, srcBuffer, 0, 2, 10); in basic_texture_test() 98 result = sContext->readPixels(dstInfo, dstBuffer, 0, 2, 10); in basic_texture_test() 114 SkImageInfo dstInfo = SkImageInfo::Make(kWidth, kHeight, ct, kOpaque_SkAlphaType); in basic_texture_test() local 116 bool result = sContext->readPixels(dstInfo, dstBuffer, 0, 0, 0); in basic_texture_test() 123 dstInfo = SkImageInfo::Make(4, 5, ct, kOpaque_SkAlphaType); in basic_texture_test() 124 result = sContext->writePixels(dstInfo, srcBuffer, 0, 5, 4); in basic_texture_test() 129 result = sContext->readPixels(dstInfo, dstBuffer, 0, 5, 4); in basic_texture_test()
|
/external/skia/include/codec/ |
D | SkCodec.h | 407 Result startIncrementalDecode(const SkImageInfo& dstInfo, void* dst, size_t rowBytes, 410 Result startIncrementalDecode(const SkImageInfo& dstInfo, void* dst, size_t rowBytes) { in startIncrementalDecode() argument 411 return this->startIncrementalDecode(dstInfo, dst, rowBytes, nullptr); in startIncrementalDecode() 464 Result startScanlineDecode(const SkImageInfo& dstInfo, const Options* options); 469 Result startScanlineDecode(const SkImageInfo& dstInfo) { in startScanlineDecode() argument 470 return this->startScanlineDecode(dstInfo, nullptr); in startScanlineDecode() 760 uint64_t getFillValue(const SkImageInfo& dstInfo) const { in getFillValue() argument 761 return this->onGetFillValue(dstInfo); in getFillValue() 775 virtual uint64_t onGetFillValue(const SkImageInfo& dstInfo) const; 793 const SkImageInfo& dstInfo() const { return fDstInfo; } in dstInfo() function [all …]
|
/external/skqp/include/codec/ |
D | SkCodec.h | 407 Result startIncrementalDecode(const SkImageInfo& dstInfo, void* dst, size_t rowBytes, 410 Result startIncrementalDecode(const SkImageInfo& dstInfo, void* dst, size_t rowBytes) { in startIncrementalDecode() argument 411 return this->startIncrementalDecode(dstInfo, dst, rowBytes, nullptr); in startIncrementalDecode() 464 Result startScanlineDecode(const SkImageInfo& dstInfo, const Options* options); 469 Result startScanlineDecode(const SkImageInfo& dstInfo) { in startScanlineDecode() argument 470 return this->startScanlineDecode(dstInfo, nullptr); in startScanlineDecode() 760 uint64_t getFillValue(const SkImageInfo& dstInfo) const { in getFillValue() argument 761 return this->onGetFillValue(dstInfo); in getFillValue() 775 virtual uint64_t onGetFillValue(const SkImageInfo& dstInfo) const; 793 const SkImageInfo& dstInfo() const { return fDstInfo; } in dstInfo() function [all …]
|
/external/skia/src/gpu/ |
D | GrSurfaceContext.cpp | 44 bool GrSurfaceContext::readPixels(const SkImageInfo& dstInfo, void* dstBuffer, in readPixels() argument 52 if (kUnpremul_SkAlphaType == dstInfo.alphaType()) { in readPixels() 55 auto colorType = SkColorTypeToGrColorType(dstInfo.colorType()); in readPixels() 59 return fContext->contextPriv().readSurfacePixels(this, x, y, dstInfo.width(), dstInfo.height(), in readPixels() 60 colorType, dstInfo.colorSpace(), dstBuffer, in readPixels()
|
/external/skqp/src/gpu/ |
D | GrSurfaceContext.cpp | 41 bool GrSurfaceContext::readPixels(const SkImageInfo& dstInfo, void* dstBuffer, in readPixels() argument 49 GrPixelConfig config = SkImageInfo2GrPixelConfig(dstInfo, *fContext->caps()); in readPixels() 55 if (kUnpremul_SkAlphaType == dstInfo.alphaType()) { in readPixels() 60 dstInfo.width(), dstInfo.height(), config, in readPixels() 61 dstInfo.colorSpace(), in readPixels()
|