summaryrefslogtreecommitdiffstats
path: root/jni/feature_mos/src/mosaic_renderer/FrameBuffer.h
diff options
context:
space:
mode:
authorSascha Haeberling <haeberling@google.com>2013-08-14 11:20:34 -0700
committerSascha Haeberling <haeberling@google.com>2013-08-14 11:20:34 -0700
commit8bddf8ce4f3dcbb56edb12cee7e93f3a9daa3f96 (patch)
tree3382b4b8b52be577c3d0525df0e7da8178673d1c /jni/feature_mos/src/mosaic_renderer/FrameBuffer.h
parenta34e8c7d439d17355df51e5e536bdbbd1744cc74 (diff)
downloadandroid_packages_apps_Camera2-8bddf8ce4f3dcbb56edb12cee7e93f3a9daa3f96.tar.gz
android_packages_apps_Camera2-8bddf8ce4f3dcbb56edb12cee7e93f3a9daa3f96.tar.bz2
android_packages_apps_Camera2-8bddf8ce4f3dcbb56edb12cee7e93f3a9daa3f96.zip
Copy over libjni_mosaic from Camera. We need to support the SRI pano
mode for Carlsbad. Change-Id: Id14e64d8248236e8170c12cfca2cbf2ca952e993
Diffstat (limited to 'jni/feature_mos/src/mosaic_renderer/FrameBuffer.h')
-rwxr-xr-xjni/feature_mos/src/mosaic_renderer/FrameBuffer.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/jni/feature_mos/src/mosaic_renderer/FrameBuffer.h b/jni/feature_mos/src/mosaic_renderer/FrameBuffer.h
new file mode 100755
index 000000000..314b12622
--- /dev/null
+++ b/jni/feature_mos/src/mosaic_renderer/FrameBuffer.h
@@ -0,0 +1,34 @@
+#pragma once
+
+#include <EGL/egl.h>
+#include <GLES2/gl2.h>
+#include <GLES2/gl2ext.h>
+
+#define checkGlError(op) checkGLErrorDetail(__FILE__, __LINE__, (op))
+
+extern bool checkGLErrorDetail(const char* file, int line, const char* op);
+extern void checkFramebufferStatus(const char* name);
+
+class FrameBuffer {
+ public:
+ FrameBuffer();
+ virtual ~FrameBuffer();
+
+ bool InitializeGLContext();
+ bool Init(int width, int height, GLenum format);
+ GLuint GetTextureName() const;
+ GLuint GetFrameBufferName() const;
+ GLenum GetFormat() const;
+
+ int GetWidth() const;
+ int GetHeight() const;
+
+ private:
+ void Reset();
+ bool CreateBuffers();
+ GLuint mFrameBufferName;
+ GLuint mTextureName;
+ int mWidth;
+ int mHeight;
+ GLenum mFormat;
+};