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 |
11 #define SkImageDecoder_DEFINED | 11 #define SkImageDecoder_DEFINED |
12 | 12 |
13 #include "SkBitmap.h" | 13 #include "SkBitmap.h" |
14 #include "SkBitmapFactory.h" | 14 #include "SkBitmapFactory.h" |
15 #include "SkImage.h" | 15 #include "SkImage.h" |
16 #include "SkRect.h" | 16 #include "SkRect.h" |
17 #include "SkRefCnt.h" | 17 #include "SkRefCnt.h" |
| 18 #include "SkTypes.h" |
18 | 19 |
19 class SkStream; | 20 class SkStream; |
20 | 21 |
21 /** \class SkImageDecoder | 22 /** \class SkImageDecoder |
22 | 23 |
23 Base class for decoding compressed images into a SkBitmap | 24 Base class for decoding compressed images into a SkBitmap |
24 */ | 25 */ |
25 class SkImageDecoder { | 26 class SkImageDecoder : public SkNoncopyable { |
26 public: | 27 public: |
27 virtual ~SkImageDecoder(); | 28 virtual ~SkImageDecoder(); |
28 | 29 |
29 enum Format { | 30 enum Format { |
30 kUnknown_Format, | 31 kUnknown_Format, |
31 kBMP_Format, | 32 kBMP_Format, |
32 kGIF_Format, | 33 kGIF_Format, |
33 kICO_Format, | 34 kICO_Format, |
34 kJPEG_Format, | 35 kJPEG_Format, |
35 kPNG_Format, | 36 kPNG_Format, |
(...skipping 389 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
425 Peeker* fPeeker; | 426 Peeker* fPeeker; |
426 Chooser* fChooser; | 427 Chooser* fChooser; |
427 SkBitmap::Allocator* fAllocator; | 428 SkBitmap::Allocator* fAllocator; |
428 int fSampleSize; | 429 int fSampleSize; |
429 SkBitmap::Config fDefaultPref; // use if fUsePrefTable is false | 430 SkBitmap::Config fDefaultPref; // use if fUsePrefTable is false |
430 SkBitmap::Config fPrefTable[6]; // use if fUsePrefTable is true | 431 SkBitmap::Config fPrefTable[6]; // use if fUsePrefTable is true |
431 bool fDitherImage; | 432 bool fDitherImage; |
432 bool fUsePrefTable; | 433 bool fUsePrefTable; |
433 mutable bool fShouldCancelDecode; | 434 mutable bool fShouldCancelDecode; |
434 bool fPreferQualityOverSpeed; | 435 bool fPreferQualityOverSpeed; |
435 | |
436 // illegal | |
437 SkImageDecoder(const SkImageDecoder&); | |
438 SkImageDecoder& operator=(const SkImageDecoder&); | |
439 }; | 436 }; |
440 | 437 |
441 /** Calling newDecoder with a stream returns a new matching imagedecoder | 438 /** Calling newDecoder with a stream returns a new matching imagedecoder |
442 instance, or NULL if none can be found. The caller must manage its ownership | 439 instance, or NULL if none can be found. The caller must manage its ownership |
443 of the stream as usual, calling unref() when it is done, as the returned | 440 of the stream as usual, calling unref() when it is done, as the returned |
444 decoder may have called ref() (and if so, the decoder is responsible for | 441 decoder may have called ref() (and if so, the decoder is responsible for |
445 balancing its ownership when it is destroyed). | 442 balancing its ownership when it is destroyed). |
446 */ | 443 */ |
447 class SkImageDecoderFactory : public SkRefCnt { | 444 class SkImageDecoderFactory : public SkRefCnt { |
448 public: | 445 public: |
(...skipping 29 matching lines...) Expand all Loading... |
478 // not all of these will be available | 475 // not all of these will be available |
479 DECLARE_DECODER_CREATOR(BMPImageDecoder); | 476 DECLARE_DECODER_CREATOR(BMPImageDecoder); |
480 DECLARE_DECODER_CREATOR(GIFImageDecoder); | 477 DECLARE_DECODER_CREATOR(GIFImageDecoder); |
481 DECLARE_DECODER_CREATOR(ICOImageDecoder); | 478 DECLARE_DECODER_CREATOR(ICOImageDecoder); |
482 DECLARE_DECODER_CREATOR(JPEGImageDecoder); | 479 DECLARE_DECODER_CREATOR(JPEGImageDecoder); |
483 DECLARE_DECODER_CREATOR(PNGImageDecoder); | 480 DECLARE_DECODER_CREATOR(PNGImageDecoder); |
484 DECLARE_DECODER_CREATOR(WBMPImageDecoder); | 481 DECLARE_DECODER_CREATOR(WBMPImageDecoder); |
485 DECLARE_DECODER_CREATOR(WEBPImageDecoder); | 482 DECLARE_DECODER_CREATOR(WEBPImageDecoder); |
486 | 483 |
487 #endif | 484 #endif |
OLD | NEW |