| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * Copyright (C) 2006 Apple Computer, Inc.  All rights reserved. | 2  * Copyright (C) 2006 Apple Computer, Inc.  All rights reserved. | 
| 3  * | 3  * | 
| 4  * Redistribution and use in source and binary forms, with or without | 4  * Redistribution and use in source and binary forms, with or without | 
| 5  * modification, are permitted provided that the following conditions | 5  * modification, are permitted provided that the following conditions | 
| 6  * are met: | 6  * are met: | 
| 7  * 1. Redistributions of source code must retain the above copyright | 7  * 1. Redistributions of source code must retain the above copyright | 
| 8  *    notice, this list of conditions and the following disclaimer. | 8  *    notice, this list of conditions and the following disclaimer. | 
| 9  * 2. Redistributions in binary form must reproduce the above copyright | 9  * 2. Redistributions in binary form must reproduce the above copyright | 
| 10  *    notice, this list of conditions and the following disclaimer in the | 10  *    notice, this list of conditions and the following disclaimer in the | 
| (...skipping 24 matching lines...) Expand all  Loading... | 
| 35 class PLATFORM_EXPORT JPEGImageDecoder : public ImageDecoder { | 35 class PLATFORM_EXPORT JPEGImageDecoder : public ImageDecoder { | 
| 36     WTF_MAKE_NONCOPYABLE(JPEGImageDecoder); | 36     WTF_MAKE_NONCOPYABLE(JPEGImageDecoder); | 
| 37 public: | 37 public: | 
| 38     JPEGImageDecoder(AlphaOption, GammaAndColorProfileOption, size_t maxDecodedB
    ytes); | 38     JPEGImageDecoder(AlphaOption, GammaAndColorProfileOption, size_t maxDecodedB
    ytes); | 
| 39     ~JPEGImageDecoder() override; | 39     ~JPEGImageDecoder() override; | 
| 40 | 40 | 
| 41     // ImageDecoder: | 41     // ImageDecoder: | 
| 42     String filenameExtension() const override { return "jpg"; } | 42     String filenameExtension() const override { return "jpg"; } | 
| 43     void onSetData(SharedBuffer* data) override; | 43     void onSetData(SharedBuffer* data) override; | 
| 44     bool hasColorProfile() const override { return m_hasColorProfile; } | 44     bool hasColorProfile() const override { return m_hasColorProfile; } | 
|  | 45     PassRefPtr<ColorSpaceProfile> colorProfile() const override { return m_color
    Profile; }; | 
|  | 46     void setDeviceProfile(ColorSpaceProfile* device) override { m_deviceProfile 
    = device; } | 
|  | 47     PassRefPtr<ColorSpaceProfile> deviceProfile() const override { return m_devi
    ceProfile; }; | 
| 45     IntSize decodedSize() const override { return m_decodedSize; } | 48     IntSize decodedSize() const override { return m_decodedSize; } | 
| 46     IntSize decodedYUVSize(int component, SizeType) const override; | 49     IntSize decodedYUVSize(int component, SizeType) const override; | 
| 47     bool setSize(unsigned width, unsigned height) override; | 50     bool setSize(unsigned width, unsigned height) override; | 
| 48     bool canDecodeToYUV() override; | 51     bool canDecodeToYUV() override; | 
| 49     bool decodeToYUV() override; | 52     bool decodeToYUV() override; | 
| 50     void setImagePlanes(PassOwnPtr<ImagePlanes>) override; | 53     void setImagePlanes(PassOwnPtr<ImagePlanes>) override; | 
| 51     bool hasImagePlanes() const { return m_imagePlanes; } | 54     bool hasImagePlanes() const { return m_imagePlanes; } | 
| 52 | 55 | 
| 53     bool outputScanlines(); | 56     bool outputScanlines(); | 
| 54     unsigned desiredScaleNumerator() const; | 57     unsigned desiredScaleNumerator() const; | 
| 55     void complete(); | 58     void complete(); | 
| 56 | 59 | 
| 57     void setOrientation(ImageOrientation orientation) { m_orientation = orientat
    ion; } | 60     void setOrientation(ImageOrientation orientation) { m_orientation = orientat
    ion; } | 
| 58     void setHasColorProfile(bool hasColorProfile) { m_hasColorProfile = hasColor
    Profile; } | 61     void setHasColorProfile(bool hasColorProfile) { m_hasColorProfile = hasColor
    Profile; } | 
|  | 62     void setColorProfile(PassRefPtr<ColorSpaceProfile> profile) { m_colorProfile
     = profile; } | 
| 59     void setDecodedSize(unsigned width, unsigned height); | 63     void setDecodedSize(unsigned width, unsigned height); | 
| 60 | 64 | 
| 61 private: | 65 private: | 
| 62     // ImageDecoder: | 66     // ImageDecoder: | 
| 63     void decodeSize() override { decode(true); } | 67     void decodeSize() override { decode(true); } | 
| 64     void decode(size_t) override { decode(false); } | 68     void decode(size_t) override { decode(false); } | 
| 65 | 69 | 
| 66     // Decodes the image.  If |onlySize| is true, stops decoding after | 70     // Decodes the image.  If |onlySize| is true, stops decoding after | 
| 67     // calculating the image size.  If decoding fails but there is no more | 71     // calculating the image size.  If decoding fails but there is no more | 
| 68     // data coming, sets the "decode failure" flag. | 72     // data coming, sets the "decode failure" flag. | 
| 69     void decode(bool onlySize); | 73     void decode(bool onlySize); | 
| 70 | 74 | 
| 71     OwnPtr<JPEGImageReader> m_reader; | 75     OwnPtr<JPEGImageReader> m_reader; | 
|  | 76     RefPtr<ColorSpaceProfile> m_colorProfile; | 
|  | 77     RefPtr<ColorSpaceProfile> m_deviceProfile; | 
| 72     OwnPtr<ImagePlanes> m_imagePlanes; | 78     OwnPtr<ImagePlanes> m_imagePlanes; | 
| 73     IntSize m_decodedSize; | 79     IntSize m_decodedSize; | 
| 74     bool m_hasColorProfile; | 80     bool m_hasColorProfile; | 
| 75 }; | 81 }; | 
| 76 | 82 | 
| 77 } // namespace blink | 83 } // namespace blink | 
| 78 | 84 | 
| 79 #endif | 85 #endif | 
| OLD | NEW | 
|---|