summaryrefslogtreecommitdiffstats
path: root/cc/texture_layer_impl.h
diff options
context:
space:
mode:
Diffstat (limited to 'cc/texture_layer_impl.h')
-rw-r--r--cc/texture_layer_impl.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/cc/texture_layer_impl.h b/cc/texture_layer_impl.h
index 638cbb2..ff88ff3 100644
--- a/cc/texture_layer_impl.h
+++ b/cc/texture_layer_impl.h
@@ -1,3 +1,48 @@
// Copyright 2012 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 CCTextureLayerImpl_h
+#define CCTextureLayerImpl_h
+
+#include "CCLayerImpl.h"
+
+namespace cc {
+
+class CCTextureLayerImpl : public CCLayerImpl {
+public:
+ static scoped_ptr<CCTextureLayerImpl> create(int id)
+ {
+ return make_scoped_ptr(new CCTextureLayerImpl(id));
+ }
+ virtual ~CCTextureLayerImpl();
+
+ virtual void willDraw(CCResourceProvider*) OVERRIDE;
+ virtual void appendQuads(CCQuadSink&, CCAppendQuadsData&) OVERRIDE;
+ virtual void didDraw(CCResourceProvider*) OVERRIDE;
+
+ virtual void didLoseContext() OVERRIDE;
+
+ virtual void dumpLayerProperties(std::string*, int indent) const OVERRIDE;
+
+ unsigned textureId() const { return m_textureId; }
+ void setTextureId(unsigned id) { m_textureId = id; }
+ void setPremultipliedAlpha(bool premultipliedAlpha) { m_premultipliedAlpha = premultipliedAlpha; }
+ void setFlipped(bool flipped) { m_flipped = flipped; }
+ void setUVRect(const FloatRect& rect) { m_uvRect = rect; }
+
+private:
+ explicit CCTextureLayerImpl(int);
+
+ virtual const char* layerTypeAsString() const OVERRIDE;
+
+ unsigned m_textureId;
+ CCResourceProvider::ResourceId m_externalTextureResource;
+ bool m_premultipliedAlpha;
+ bool m_flipped;
+ FloatRect m_uvRect;
+};
+
+}
+
+#endif // CCTextureLayerImpl_h