| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2006 The Android Open Source Project | 3 * Copyright 2006 The Android Open Source Project |
| 4 * | 4 * |
| 5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
| 6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
| 7 */ | 7 */ |
| 8 | 8 |
| 9 | 9 |
| 10 #ifndef SkImageDecoder_DEFINED | 10 #ifndef SkImageDecoder_DEFINED |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 53 static Format GetStreamFormat(SkStreamRewindable*); | 53 static Format GetStreamFormat(SkStreamRewindable*); |
| 54 | 54 |
| 55 /** Return a readable string of the Format provided. | 55 /** Return a readable string of the Format provided. |
| 56 */ | 56 */ |
| 57 static const char* GetFormatName(Format); | 57 static const char* GetFormatName(Format); |
| 58 | 58 |
| 59 /** Return a readable string of the value returned by getFormat(). | 59 /** Return a readable string of the value returned by getFormat(). |
| 60 */ | 60 */ |
| 61 const char* getFormatName() const; | 61 const char* getFormatName() const; |
| 62 | 62 |
| 63 /** Whether the decoder should skip writing zeroes to output if possible. |
| 64 */ |
| 65 bool getSkipWritingZeroes() const { return fSkipWritingZeroes; } |
| 66 |
| 67 /** Set to true if the decoder should skip writing any zeroes when |
| 68 creating the output image. |
| 69 This is a hint that may not be respected by the decoder. |
| 70 It should only be used if it is known that the memory to write |
| 71 to has already been set to 0; otherwise the resulting image will |
| 72 have garbage. |
| 73 This is ideal for images that contain a lot of completely transparent |
| 74 pixels, but may be a performance hit for an image that has only a |
| 75 few transparent pixels. |
| 76 The default is false. |
| 77 */ |
| 78 void setSkipWritingZeroes(bool skip) { fSkipWritingZeroes = skip; } |
| 79 |
| 63 /** Returns true if the decoder should try to dither the resulting image. | 80 /** Returns true if the decoder should try to dither the resulting image. |
| 64 The default setting is true. | 81 The default setting is true. |
| 65 */ | 82 */ |
| 66 bool getDitherImage() const { return fDitherImage; } | 83 bool getDitherImage() const { return fDitherImage; } |
| 67 | 84 |
| 68 /** Set to true if the the decoder should try to dither the resulting image. | 85 /** Set to true if the the decoder should try to dither the resulting image. |
| 69 The default setting is true. | 86 The default setting is true. |
| 70 */ | 87 */ |
| 71 void setDitherImage(bool dither) { fDitherImage = dither; } | 88 void setDitherImage(bool dither) { fDitherImage = dither; } |
| 72 | 89 |
| (...skipping 428 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 501 | 518 |
| 502 private: | 519 private: |
| 503 Peeker* fPeeker; | 520 Peeker* fPeeker; |
| 504 Chooser* fChooser; | 521 Chooser* fChooser; |
| 505 SkBitmap::Allocator* fAllocator; | 522 SkBitmap::Allocator* fAllocator; |
| 506 int fSampleSize; | 523 int fSampleSize; |
| 507 SkBitmap::Config fDefaultPref; // use if fUsePrefTable is false | 524 SkBitmap::Config fDefaultPref; // use if fUsePrefTable is false |
| 508 PrefConfigTable fPrefTable; // use if fUsePrefTable is true | 525 PrefConfigTable fPrefTable; // use if fUsePrefTable is true |
| 509 bool fDitherImage; | 526 bool fDitherImage; |
| 510 bool fUsePrefTable; | 527 bool fUsePrefTable; |
| 528 bool fSkipWritingZeroes; |
| 511 mutable bool fShouldCancelDecode; | 529 mutable bool fShouldCancelDecode; |
| 512 bool fPreferQualityOverSpeed; | 530 bool fPreferQualityOverSpeed; |
| 513 bool fRequireUnpremultipliedColors; | 531 bool fRequireUnpremultipliedColors; |
| 514 }; | 532 }; |
| 515 | 533 |
| 516 /** Calling newDecoder with a stream returns a new matching imagedecoder | 534 /** Calling newDecoder with a stream returns a new matching imagedecoder |
| 517 instance, or NULL if none can be found. The caller must manage its ownership | 535 instance, or NULL if none can be found. The caller must manage its ownership |
| 518 of the stream as usual, calling unref() when it is done, as the returned | 536 of the stream as usual, calling unref() when it is done, as the returned |
| 519 decoder may have called ref() (and if so, the decoder is responsible for | 537 decoder may have called ref() (and if so, the decoder is responsible for |
| 520 balancing its ownership when it is destroyed). | 538 balancing its ownership when it is destroyed). |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 559 DECLARE_DECODER_CREATOR(WBMPImageDecoder); | 577 DECLARE_DECODER_CREATOR(WBMPImageDecoder); |
| 560 DECLARE_DECODER_CREATOR(WEBPImageDecoder); | 578 DECLARE_DECODER_CREATOR(WEBPImageDecoder); |
| 561 | 579 |
| 562 | 580 |
| 563 // Typedefs to make registering decoder and formatter callbacks easier. | 581 // Typedefs to make registering decoder and formatter callbacks easier. |
| 564 // These have to be defined outside SkImageDecoder. :( | 582 // These have to be defined outside SkImageDecoder. :( |
| 565 typedef SkTRegistry<SkImageDecoder*(*)(SkStreamRewindable*)> SkImageDecod
er_DecodeReg; | 583 typedef SkTRegistry<SkImageDecoder*(*)(SkStreamRewindable*)> SkImageDecod
er_DecodeReg; |
| 566 typedef SkTRegistry<SkImageDecoder::Format(*)(SkStreamRewindable*)> SkImageDecod
er_FormatReg; | 584 typedef SkTRegistry<SkImageDecoder::Format(*)(SkStreamRewindable*)> SkImageDecod
er_FormatReg; |
| 567 | 585 |
| 568 #endif | 586 #endif |
| OLD | NEW |