OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com) | 2 * Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com) |
3 * Copyright (C) 2004, 2005, 2006 Apple Computer, Inc. All rights reserved. | 3 * Copyright (C) 2004, 2005, 2006 Apple Computer, Inc. All rights reserved. |
4 * Copyright (C) 2008-2009 Torch Mobile, Inc. | 4 * Copyright (C) 2008-2009 Torch Mobile, Inc. |
5 * | 5 * |
6 * Redistribution and use in source and binary forms, with or without | 6 * Redistribution and use in source and binary forms, with or without |
7 * modification, are permitted provided that the following conditions | 7 * modification, are permitted provided that the following conditions |
8 * are met: | 8 * are met: |
9 * 1. Redistributions of source code must retain the above copyright | 9 * 1. Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
68 | 68 |
69 ~FrameData() | 69 ~FrameData() |
70 { | 70 { |
71 clear(true); | 71 clear(true); |
72 } | 72 } |
73 | 73 |
74 // Clear the cached image data on the frame, and (optionally) the metadata. | 74 // Clear the cached image data on the frame, and (optionally) the metadata. |
75 // Returns whether there was cached image data to clear. | 75 // Returns whether there was cached image data to clear. |
76 bool clear(bool clearMetadata); | 76 bool clear(bool clearMetadata); |
77 | 77 |
78 void reportMemoryUsage(MemoryObjectInfo*) const; | |
79 | |
80 NativeImagePtr m_frame; | 78 NativeImagePtr m_frame; |
81 ImageOrientation m_orientation; | 79 ImageOrientation m_orientation; |
82 float m_duration; | 80 float m_duration; |
83 bool m_haveMetadata : 1; | 81 bool m_haveMetadata : 1; |
84 bool m_isComplete : 1; | 82 bool m_isComplete : 1; |
85 bool m_hasAlpha : 1; | 83 bool m_hasAlpha : 1; |
86 unsigned m_frameBytes; | 84 unsigned m_frameBytes; |
87 }; | 85 }; |
88 | 86 |
89 // ================================================= | 87 // ================================================= |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
128 | 126 |
129 virtual PassNativeImagePtr nativeImageForCurrentFrame() OVERRIDE; | 127 virtual PassNativeImagePtr nativeImageForCurrentFrame() OVERRIDE; |
130 virtual bool currentFrameKnownToBeOpaque() OVERRIDE; | 128 virtual bool currentFrameKnownToBeOpaque() OVERRIDE; |
131 | 129 |
132 ImageOrientation currentFrameOrientation(); | 130 ImageOrientation currentFrameOrientation(); |
133 | 131 |
134 #if !ASSERT_DISABLED | 132 #if !ASSERT_DISABLED |
135 virtual bool notSolidColor(); | 133 virtual bool notSolidColor(); |
136 #endif | 134 #endif |
137 | 135 |
138 void reportMemoryUsage(MemoryObjectInfo*) const OVERRIDE; | |
139 | |
140 private: | 136 private: |
141 void updateSize() const; | 137 void updateSize() const; |
142 | 138 |
143 protected: | 139 protected: |
144 enum RepetitionCountStatus { | 140 enum RepetitionCountStatus { |
145 Unknown, // We haven't checked the source's repetition count. | 141 Unknown, // We haven't checked the source's repetition count. |
146 Uncertain, // We have a repetition count, but it might be wrong (some GIF
s have a count after the image data, and will report "loop once" until all data
has been decoded). | 142 Uncertain, // We have a repetition count, but it might be wrong (some GIF
s have a count after the image data, and will report "loop once" until all data
has been decoded). |
147 Certain // The repetition count is known to be correct. | 143 Certain // The repetition count is known to be correct. |
148 }; | 144 }; |
149 | 145 |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
243 bool m_allDataReceived : 1; // Whether or not we've received all our data. | 239 bool m_allDataReceived : 1; // Whether or not we've received all our data. |
244 mutable bool m_haveSize : 1; // Whether or not our |m_size| member variable
has the final overall image size yet. | 240 mutable bool m_haveSize : 1; // Whether or not our |m_size| member variable
has the final overall image size yet. |
245 bool m_sizeAvailable : 1; // Whether or not we can obtain the size of the fi
rst image frame yet from ImageIO. | 241 bool m_sizeAvailable : 1; // Whether or not we can obtain the size of the fi
rst image frame yet from ImageIO. |
246 mutable bool m_hasUniformFrameSize : 1; | 242 mutable bool m_hasUniformFrameSize : 1; |
247 mutable bool m_haveFrameCount : 1; | 243 mutable bool m_haveFrameCount : 1; |
248 }; | 244 }; |
249 | 245 |
250 } | 246 } |
251 | 247 |
252 #endif | 248 #endif |
OLD | NEW |