| Index: third_party/WebKit/public/platform/WebMutation.h
|
| diff --git a/third_party/WebKit/public/platform/WebMutation.h b/third_party/WebKit/public/platform/WebMutation.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..94da1c00529496f8221604b642392c182a6df022
|
| --- /dev/null
|
| +++ b/third_party/WebKit/public/platform/WebMutation.h
|
| @@ -0,0 +1,69 @@
|
| +#ifndef WebMutation_h
|
| +#define WebMutation_h
|
| +
|
| +#include "third_party/skia/include/utils/SkMatrix44.h"
|
| +
|
| +#include <map>
|
| +
|
| +namespace blink {
|
| +
|
| +struct WebMutation {
|
| +public:
|
| + enum MutationFlags {
|
| + MutationFlagsNone = 0,
|
| + MutationFlagsOpacity = 1 << 0,
|
| + MutationFlagsScrollLeft = 1 << 1,
|
| + MutationFlagsScrollTop = 1 << 2,
|
| + MutationFlagsTransform = 1 << 3,
|
| + MutationFlagsConnected = 1 << 4,
|
| + };
|
| +
|
| + void setOpacity(float opacity)
|
| + {
|
| + m_mutatedFlags |= MutationFlagsOpacity;
|
| + m_opacity = opacity;
|
| + }
|
| + void setScrollLeft(float scrollLeft)
|
| + {
|
| + m_mutatedFlags |= MutationFlagsScrollLeft;
|
| + m_scrollLeft = scrollLeft;
|
| + }
|
| + void setScrollTop(float scrollTop)
|
| + {
|
| + m_mutatedFlags |= MutationFlagsScrollTop;
|
| + m_scrollTop = scrollTop;
|
| + }
|
| + void setTransform(const SkMatrix44& transform)
|
| + {
|
| + m_mutatedFlags |= MutationFlagsTransform;
|
| + m_transform = transform;
|
| + }
|
| + void disconnect()
|
| + {
|
| + m_mutatedFlags |= MutationFlagsConnected;
|
| + }
|
| +
|
| + bool isOpacityMutated() const { return !!(m_mutatedFlags & MutationFlagsOpacity); }
|
| + bool isScrollLeftMutated() const { return !!(m_mutatedFlags & MutationFlagsScrollLeft); }
|
| + bool isScrollTopMutated() const { return !!(m_mutatedFlags & MutationFlagsScrollTop); }
|
| + bool isTransformMutated() const { return !!(m_mutatedFlags & MutationFlagsTransform); }
|
| + bool isConnectedMutated() const { return !!(m_mutatedFlags & MutationFlagsConnected); }
|
| +
|
| + float opacity() const { return m_opacity; }
|
| + float scrollLeft() const { return m_scrollLeft; }
|
| + float scrollTop() const { return m_scrollTop; }
|
| + SkMatrix44 transform() const { return m_transform; }
|
| +
|
| +private:
|
| + uint32_t m_mutatedFlags = 0;
|
| + float m_opacity = 0;
|
| + float m_scrollLeft = 0;
|
| + float m_scrollTop = 0;
|
| + SkMatrix44 m_transform;
|
| +};
|
| +
|
| +typedef std::map<uint64_t, WebMutation> WebMutationMap;
|
| +
|
| +} // namespace blink
|
| +
|
| +#endif // WebMutation_h
|
|
|