blob: 4838d66073dbd15edf82b4253beb53af5e0981e2 [file] [log] [blame]
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CompositorMutableState_h
#define CompositorMutableState_h
#include "platform/PlatformExport.h"
class SkMatrix44;
namespace cc {
class LayerImpl;
} // namespace cc
namespace blink {
class CompositorMutation;
// This class wraps the compositor-owned, mutable state for a single element.
class PLATFORM_EXPORT CompositorMutableState {
public:
CompositorMutableState(CompositorMutation*, cc::LayerImpl* main, cc::LayerImpl* scroll);
~CompositorMutableState();
double opacity() const;
void setOpacity(double);
const SkMatrix44& transform() const;
void setTransform(const SkMatrix44&);
double scrollLeft() const;
void setScrollLeft(double);
double scrollTop() const;
void setScrollTop(double);
private:
CompositorMutation* m_mutation;
cc::LayerImpl* m_mainLayer;
cc::LayerImpl* m_scrollLayer;
};
} // namespace blink
#endif // CompositorMutableState_h