Initial import from TransGaming
git-svn-id: https://angleproject.googlecode.com/svn/trunk@2 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/libGLESv2/Framebuffer.h b/libGLESv2/Framebuffer.h
new file mode 100644
index 0000000..fd90ae1
--- /dev/null
+++ b/libGLESv2/Framebuffer.h
@@ -0,0 +1,62 @@
+//
+// Copyright (c) 2002-2010 The ANGLE Project Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+//
+
+// Framebuffer.h: Defines the gl::Framebuffer class. Implements GL framebuffer
+// objects and related functionality. [OpenGL ES 2.0.24] section 4.4 page 105.
+
+#ifndef LIBGLESV2_FRAMEBUFFER_H_
+#define LIBGLESV2_FRAMEBUFFER_H_
+
+#define GL_APICALL
+#include <GLES2/gl2.h>
+#include <d3d9.h>
+
+#include "angleutils.h"
+
+namespace gl
+{
+class Colorbuffer;
+class Depthbuffer;
+class Stencilbuffer;
+
+class Framebuffer
+{
+ public:
+ Framebuffer();
+
+ ~Framebuffer();
+
+ void setColorbuffer(GLenum type, GLuint colorbuffer);
+ void setDepthbuffer(GLenum type, GLuint depthbuffer);
+ void setStencilbuffer(GLenum type, GLuint stencilbuffer);
+
+ void detachTexture(GLuint texture);
+ void detachRenderbuffer(GLuint renderbuffer);
+
+ IDirect3DSurface9 *getRenderTarget();
+ IDirect3DSurface9 *getDepthStencil();
+
+ Colorbuffer *getColorbuffer();
+ Depthbuffer *getDepthbuffer();
+ Stencilbuffer *getStencilbuffer();
+
+ GLenum completeness();
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(Framebuffer);
+
+ GLuint mColorbufferHandle;
+ GLenum mColorbufferType;
+
+ GLuint mDepthbufferHandle;
+ GLenum mDepthbufferType;
+
+ GLuint mStencilbufferHandle;
+ GLenum mStencilbufferType;
+};
+}
+
+#endif // LIBGLESV2_FRAMEBUFFER_H_