OLD | NEW |
(Empty) | |
| 1 #ifndef WebMutation_h |
| 2 #define WebMutation_h |
| 3 |
| 4 #include "third_party/skia/include/utils/SkMatrix44.h" |
| 5 |
| 6 #include <map> |
| 7 |
| 8 namespace blink { |
| 9 |
| 10 struct WebMutation { |
| 11 public: |
| 12 enum MutationFlags { |
| 13 MutationFlagsNone = 0, |
| 14 MutationFlagsOpacity = 1 << 0, |
| 15 MutationFlagsScrollLeft = 1 << 1, |
| 16 MutationFlagsScrollTop = 1 << 2, |
| 17 MutationFlagsTransform = 1 << 3, |
| 18 MutationFlagsConnected = 1 << 4, |
| 19 }; |
| 20 |
| 21 void setOpacity(float opacity) |
| 22 { |
| 23 m_mutatedFlags |= MutationFlagsOpacity; |
| 24 m_opacity = opacity; |
| 25 } |
| 26 void setScrollLeft(float scrollLeft) |
| 27 { |
| 28 m_mutatedFlags |= MutationFlagsScrollLeft; |
| 29 m_scrollLeft = scrollLeft; |
| 30 } |
| 31 void setScrollTop(float scrollTop) |
| 32 { |
| 33 m_mutatedFlags |= MutationFlagsScrollTop; |
| 34 m_scrollTop = scrollTop; |
| 35 } |
| 36 void setTransform(const SkMatrix44& transform) |
| 37 { |
| 38 m_mutatedFlags |= MutationFlagsTransform; |
| 39 m_transform = transform; |
| 40 } |
| 41 void disconnect() |
| 42 { |
| 43 m_mutatedFlags |= MutationFlagsConnected; |
| 44 } |
| 45 |
| 46 bool isOpacityMutated() const { return !!(m_mutatedFlags & MutationFlagsOpac
ity); } |
| 47 bool isScrollLeftMutated() const { return !!(m_mutatedFlags & MutationFlagsS
crollLeft); } |
| 48 bool isScrollTopMutated() const { return !!(m_mutatedFlags & MutationFlagsSc
rollTop); } |
| 49 bool isTransformMutated() const { return !!(m_mutatedFlags & MutationFlagsTr
ansform); } |
| 50 bool isConnectedMutated() const { return !!(m_mutatedFlags & MutationFlagsCo
nnected); } |
| 51 |
| 52 float opacity() const { return m_opacity; } |
| 53 float scrollLeft() const { return m_scrollLeft; } |
| 54 float scrollTop() const { return m_scrollTop; } |
| 55 SkMatrix44 transform() const { return m_transform; } |
| 56 |
| 57 private: |
| 58 uint32_t m_mutatedFlags = 0; |
| 59 float m_opacity = 0; |
| 60 float m_scrollLeft = 0; |
| 61 float m_scrollTop = 0; |
| 62 SkMatrix44 m_transform; |
| 63 }; |
| 64 |
| 65 typedef std::map<uint64_t, WebMutation> WebMutationMap; |
| 66 |
| 67 } // namespace blink |
| 68 |
| 69 #endif // WebMutation_h |
OLD | NEW |