#ifndef UI_GL_GL_IMAGE_EGL_H_
#define UI_GL_GL_IMAGE_EGL_H_
-#include "ui/gl/gl_bindings.h" // for EGLImageKHR
+#include "ui/gl/gl_bindings.h"
#include "ui/gl/gl_image.h"
namespace gfx {
class GL_EXPORT GLImageEGL : public GLImage {
public:
- explicit GLImageEGL(gfx::Size size);
+ explicit GLImageEGL(const gfx::Size& size);
- bool Initialize(gfx::GpuMemoryBufferHandle buffer);
+ bool Initialize(EGLenum target, EGLClientBuffer buffer, const EGLint* attrs);
- // Implement GLImage.
- virtual void Destroy() OVERRIDE;
+ // Overridden from GLImage:
+ virtual void Destroy(bool have_context) OVERRIDE;
virtual gfx::Size GetSize() OVERRIDE;
- virtual bool BindTexImage() OVERRIDE;
- virtual void ReleaseTexImage() OVERRIDE;
- virtual void WillUseTexImage() OVERRIDE;
- virtual void DidUseTexImage() OVERRIDE;
+ virtual bool BindTexImage(unsigned target) OVERRIDE;
+ virtual void ReleaseTexImage(unsigned target) OVERRIDE {}
+ virtual void WillUseTexImage() OVERRIDE {}
+ virtual void DidUseTexImage() OVERRIDE {}
+ virtual void WillModifyTexImage() OVERRIDE {}
+ virtual void DidModifyTexImage() OVERRIDE {}
+ virtual bool ScheduleOverlayPlane(gfx::AcceleratedWidget widget,
+ int z_order,
+ OverlayTransform transform,
+ const Rect& bounds_rect,
+ const RectF& crop_rect) OVERRIDE;
protected:
virtual ~GLImageEGL();
- private:
EGLImageKHR egl_image_;
- gfx::Size size_;
- bool in_use_;
+ const gfx::Size size_;
+ private:
DISALLOW_COPY_AND_ASSIGN(GLImageEGL);
};