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

Side by Side Diff: Source/platform/image-decoders/jpeg/JPEGImageDecoder.h

Issue 352873002: [wip] image color correction (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 6 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 | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006 Apple Computer, Inc. All rights reserved. 2 * Copyright (C) 2006 Apple Computer, Inc. All rights reserved.
3 * Copyright (C) 2008-2009 Torch Mobile, Inc. 3 * Copyright (C) 2008-2009 Torch Mobile, Inc.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 29 matching lines...) Expand all
40 class PLATFORM_EXPORT JPEGImageDecoder : public ImageDecoder { 40 class PLATFORM_EXPORT JPEGImageDecoder : public ImageDecoder {
41 WTF_MAKE_NONCOPYABLE(JPEGImageDecoder); 41 WTF_MAKE_NONCOPYABLE(JPEGImageDecoder);
42 public: 42 public:
43 JPEGImageDecoder(ImageSource::AlphaOption, ImageSource::GammaAndColorProfile Option, size_t maxDecodedBytes); 43 JPEGImageDecoder(ImageSource::AlphaOption, ImageSource::GammaAndColorProfile Option, size_t maxDecodedBytes);
44 virtual ~JPEGImageDecoder(); 44 virtual ~JPEGImageDecoder();
45 45
46 // ImageDecoder 46 // ImageDecoder
47 virtual String filenameExtension() const OVERRIDE { return "jpg"; } 47 virtual String filenameExtension() const OVERRIDE { return "jpg"; }
48 virtual bool isSizeAvailable() OVERRIDE; 48 virtual bool isSizeAvailable() OVERRIDE;
49 virtual bool hasColorProfile() const OVERRIDE { return m_hasColorProfile; } 49 virtual bool hasColorProfile() const OVERRIDE { return m_hasColorProfile; }
50 virtual PassRefPtr<ColorSpaceProfile> colorProfile() const OVERRIDE;
50 virtual IntSize decodedSize() const OVERRIDE { return m_decodedSize; } 51 virtual IntSize decodedSize() const OVERRIDE { return m_decodedSize; }
51 virtual bool setSize(unsigned width, unsigned height) OVERRIDE; 52 virtual bool setSize(unsigned width, unsigned height) OVERRIDE;
52 virtual ImageFrame* frameBufferAtIndex(size_t) OVERRIDE; 53 virtual ImageFrame* frameBufferAtIndex(size_t) OVERRIDE;
53 // CAUTION: setFailed() deletes |m_reader|. Be careful to avoid 54 // CAUTION: setFailed() deletes |m_reader|. Be careful to avoid
54 // accessing deleted memory, especially when calling this from inside 55 // accessing deleted memory, especially when calling this from inside
55 // JPEGImageReader! 56 // JPEGImageReader!
56 virtual bool setFailed() OVERRIDE; 57 virtual bool setFailed() OVERRIDE;
57 58
58 bool outputScanlines(); 59 bool outputScanlines();
59 unsigned desiredScaleNumerator() const; 60 unsigned desiredScaleNumerator() const;
60 void jpegComplete(); 61 void jpegComplete();
61 62
62 void setOrientation(ImageOrientation orientation) { m_orientation = orientat ion; } 63 void setOrientation(ImageOrientation orientation) { m_orientation = orientat ion; }
63 void setHasColorProfile(bool hasColorProfile) { m_hasColorProfile = hasColor Profile; } 64 void setHasColorProfile(bool hasColorProfile) { m_hasColorProfile = hasColor Profile; }
65 void setColorProfile(PassRefPtr<ColorSpaceProfile> profile) { m_colorProfile = profile; }
64 void setDecodedSize(unsigned width, unsigned height); 66 void setDecodedSize(unsigned width, unsigned height);
65 67
66 private: 68 private:
67 // Decodes the image. If |onlySize| is true, stops decoding after 69 // Decodes the image. If |onlySize| is true, stops decoding after
68 // calculating the image size. If decoding fails but there is no more 70 // calculating the image size. If decoding fails but there is no more
69 // data coming, sets the "decode failure" flag. 71 // data coming, sets the "decode failure" flag.
70 void decode(bool onlySize); 72 void decode(bool onlySize);
71 73
72 OwnPtr<JPEGImageReader> m_reader; 74 OwnPtr<JPEGImageReader> m_reader;
75 RefPtr<ColorSpaceProfile> m_colorProfile;
73 IntSize m_decodedSize; 76 IntSize m_decodedSize;
74 bool m_hasColorProfile; 77 bool m_hasColorProfile;
75 }; 78 };
76 79
77 } // namespace WebCore 80 } // namespace WebCore
78 81
79 #endif 82 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698