Index: cc/geometry_binding.h |
diff --git a/cc/geometry_binding.h b/cc/geometry_binding.h |
index 638cbb270ce9b24689d5095baf174ade4f4d1a13..f0b6e72a6ef56164e79a0e4b2aa0051172842ece 100644 |
--- a/cc/geometry_binding.h |
+++ b/cc/geometry_binding.h |
@@ -1,3 +1,48 @@ |
-// Copyright 2012 The Chromium Authors. All rights reserved. |
+// Copyright 2011 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 GeometryBinding_h |
+#define GeometryBinding_h |
+ |
+#include "FloatRect.h" |
+ |
+#if USE(ACCELERATED_COMPOSITING) |
+ |
+namespace WebKit { |
+class WebGraphicsContext3D; |
+} |
+ |
+namespace cc { |
+ |
+class GeometryBinding { |
+public: |
+ GeometryBinding(WebKit::WebGraphicsContext3D*, const FloatRect& quadVertexRect); |
+ ~GeometryBinding(); |
+ |
+ bool initialized() const { return m_initialized; } |
+ |
+ WebKit::WebGraphicsContext3D* context() const { return m_context; } |
+ unsigned quadVerticesVbo() const { return m_quadVerticesVbo; } |
+ unsigned quadElementsVbo() const { return m_quadElementsVbo; } |
+ |
+ void prepareForDraw(); |
+ |
+ // All layer shaders share the same attribute locations for the vertex |
+ // positions and texture coordinates. This allows switching shaders without |
+ // rebinding attribute arrays. |
+ static int positionAttribLocation() { return 0; } |
+ static int texCoordAttribLocation() { return 1; } |
+ |
+private: |
+ WebKit::WebGraphicsContext3D* m_context; |
+ unsigned m_quadVerticesVbo; |
+ unsigned m_quadElementsVbo; |
+ bool m_initialized; |
+}; |
+ |
+} // namespace cc |
+ |
+#endif // USE(ACCELERATED_COMPOSITING) |
+ |
+#endif |