Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(105)

Side by Side Diff: include/codec/SkCodec.h

Issue 1557403002: Delete reallyHasAlpha() from SkCodec (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Rebase Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « include/codec/SkAndroidCodec.h ('k') | src/codec/SkCodecPriv.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2015 Google Inc. 2 * Copyright 2015 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 #ifndef SkCodec_DEFINED 8 #ifndef SkCodec_DEFINED
9 #define SkCodec_DEFINED 9 #define SkCodec_DEFINED
10 10
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after
271 Result getPixels(const SkImageInfo& info, void* pixels, size_t rowBytes, con st Options*, 271 Result getPixels(const SkImageInfo& info, void* pixels, size_t rowBytes, con st Options*,
272 SkPMColor ctable[], int* ctableCount); 272 SkPMColor ctable[], int* ctableCount);
273 273
274 /** 274 /**
275 * Simplified version of getPixels() that asserts that info is NOT kIndex8_ SkColorType and 275 * Simplified version of getPixels() that asserts that info is NOT kIndex8_ SkColorType and
276 * uses the default Options. 276 * uses the default Options.
277 */ 277 */
278 Result getPixels(const SkImageInfo& info, void* pixels, size_t rowBytes); 278 Result getPixels(const SkImageInfo& info, void* pixels, size_t rowBytes);
279 279
280 /** 280 /**
281 * Some images may initially report that they have alpha due to the format
282 * of the encoded data, but then never use any colors which have alpha
283 * less than 100%. This function can be called *after* decoding to
284 * determine if such an image truly had alpha. Calling it before decoding
285 * is undefined.
286 * FIXME: see skbug.com/3582.
287 */
288 bool reallyHasAlpha() const {
289 return kOpaque_SkAlphaType != this->getInfo().alphaType() && this->onRea llyHasAlpha();
290 }
291
292 /**
293 * The remaining functions revolve around decoding scanlines. 281 * The remaining functions revolve around decoding scanlines.
294 */ 282 */
295 283
296 /** 284 /**
297 * Prepare for a scanline decode with the specified options. 285 * Prepare for a scanline decode with the specified options.
298 * 286 *
299 * After this call, this class will be ready to decode the first scanline. 287 * After this call, this class will be ready to decode the first scanline.
300 * 288 *
301 * This must be called in order to call getScanlines or skipScanlines. 289 * This must be called in order to call getScanlines or skipScanlines.
302 * 290 *
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
480 void* pixels, size_t rowBytes, const Options&, 468 void* pixels, size_t rowBytes, const Options&,
481 SkPMColor ctable[], int* ctableCount, 469 SkPMColor ctable[], int* ctableCount,
482 int* rowsDecoded) = 0; 470 int* rowsDecoded) = 0;
483 471
484 virtual bool onGetValidSubset(SkIRect* /* desiredSubset */) const { 472 virtual bool onGetValidSubset(SkIRect* /* desiredSubset */) const {
485 // By default, subsets are not supported. 473 // By default, subsets are not supported.
486 return false; 474 return false;
487 } 475 }
488 476
489 /** 477 /**
490 * This is only called if the image indicates that it is not opaque.
491 * By default we will assume that the image is in fact non-opaque.
492 * Subclasses may override this function if they intend to verify
493 * that the image actually has alpha.
494 */
495 virtual bool onReallyHasAlpha() const {
496 return true;
497 }
498
499 /**
500 * If the stream was previously read, attempt to rewind. 478 * If the stream was previously read, attempt to rewind.
501 * 479 *
502 * If the stream needed to be rewound, call onRewind. 480 * If the stream needed to be rewound, call onRewind.
503 * @returns true if the codec is at the right position and can be used. 481 * @returns true if the codec is at the right position and can be used.
504 * false if there was a failure to rewind. 482 * false if there was a failure to rewind.
505 * 483 *
506 * This is called by getPixels() and start(). Subclasses may call if they 484 * This is called by getPixels() and start(). Subclasses may call if they
507 * need to rewind at another time. 485 * need to rewind at another time.
508 */ 486 */
509 bool SK_WARN_UNUSED_RESULT rewindIfNeeded(); 487 bool SK_WARN_UNUSED_RESULT rewindIfNeeded();
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
649 * not affect ownership. 627 * not affect ownership.
650 * 628 *
651 * Only valid during scanline decoding. 629 * Only valid during scanline decoding.
652 */ 630 */
653 virtual SkSampler* getSampler(bool /*createIfNecessary*/) { return nullptr; } 631 virtual SkSampler* getSampler(bool /*createIfNecessary*/) { return nullptr; }
654 632
655 friend class SkSampledCodec; 633 friend class SkSampledCodec;
656 friend class SkIcoCodec; 634 friend class SkIcoCodec;
657 }; 635 };
658 #endif // SkCodec_DEFINED 636 #endif // SkCodec_DEFINED
OLDNEW
« no previous file with comments | « include/codec/SkAndroidCodec.h ('k') | src/codec/SkCodecPriv.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698