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 11 matching lines...) Expand all Loading... |
22 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY | 22 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY |
23 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 23 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
25 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 25 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
26 */ | 26 */ |
27 | 27 |
28 #ifndef FrameData_h | 28 #ifndef FrameData_h |
29 #define FrameData_h | 29 #define FrameData_h |
30 | 30 |
31 #include "platform/graphics/ImageOrientation.h" | 31 #include "platform/graphics/ImageOrientation.h" |
32 #include "third_party/skia/include/core/SkImage.h" | |
33 #include "wtf/Allocator.h" | 32 #include "wtf/Allocator.h" |
34 #include "wtf/Noncopyable.h" | 33 #include "wtf/Noncopyable.h" |
35 #include "wtf/RefPtr.h" | 34 #include "wtf/RefPtr.h" |
36 #include "wtf/VectorTraits.h" | 35 #include "wtf/VectorTraits.h" |
37 | 36 |
38 namespace blink { | 37 namespace blink { |
39 | 38 |
40 struct FrameData { | 39 struct FrameData { |
41 DISALLOW_NEW_EXCEPT_PLACEMENT_NEW(); | 40 DISALLOW_NEW_EXCEPT_PLACEMENT_NEW(); |
42 WTF_MAKE_NONCOPYABLE(FrameData); | 41 WTF_MAKE_NONCOPYABLE(FrameData); |
43 public: | 42 public: |
44 FrameData(); | 43 FrameData(); |
45 ~FrameData(); | 44 ~FrameData(); |
46 | 45 |
47 // Clear the cached image data on the frame, and (optionally) the metadata. | 46 // Clear the cached image data on the frame, and (optionally) the metadata. |
48 // Returns whether there was cached image data to clear. | 47 // Returns whether there was cached image data to clear. |
49 bool clear(bool clearMetadata); | 48 void clear(bool clearMetadata); |
50 | 49 |
51 RefPtr<SkImage> m_frame; | |
52 ImageOrientation m_orientation; | 50 ImageOrientation m_orientation; |
53 float m_duration; | 51 float m_duration; |
54 bool m_haveMetadata : 1; | 52 bool m_haveMetadata : 1; |
55 bool m_isComplete : 1; | 53 bool m_isComplete : 1; |
56 bool m_hasAlpha : 1; | 54 bool m_hasAlpha : 1; |
57 size_t m_frameBytes; | 55 size_t m_frameBytes; |
58 }; | 56 }; |
59 | 57 |
60 } // namespace blink | 58 } // namespace blink |
61 | 59 |
62 namespace WTF { | 60 namespace WTF { |
63 template<> struct VectorTraits<blink::FrameData> : public SimpleClassVectorTrait
s<blink::FrameData> { | 61 template<> struct VectorTraits<blink::FrameData> : public SimpleClassVectorTrait
s<blink::FrameData> { |
64 STATIC_ONLY(VectorTraits); | 62 STATIC_ONLY(VectorTraits); |
65 static const bool canInitializeWithMemset = false; // Not all FrameData memb
ers initialize to 0. | 63 static const bool canInitializeWithMemset = false; // Not all FrameData memb
ers initialize to 0. |
66 }; | 64 }; |
67 } | 65 } |
68 | 66 |
69 #endif // FrameData_h | 67 #endif // FrameData_h |
OLD | NEW |