Merge libGLESv2 and libEGL classes into libANGLE.

BUG=angle:733

Change-Id: Ic491c971411fe82c56cd97c5c8325ac14ec218df
Reviewed-on: https://chromium-review.googlesource.com/230830
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libANGLE/renderer/Image.cpp b/src/libANGLE/renderer/Image.cpp
new file mode 100644
index 0000000..b3b7693
--- /dev/null
+++ b/src/libANGLE/renderer/Image.cpp
@@ -0,0 +1,45 @@
+//
+// Copyright (c) 2002-2012 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.
+//
+
+// Image.h: Implements the rx::Image class, an abstract base class for the
+// renderer-specific classes which will define the interface to the underlying
+// surfaces or resources.
+
+#include "libANGLE/renderer/Image.h"
+#include "libANGLE/Framebuffer.h"
+
+namespace rx
+{
+
+Image::Image()
+{
+    mWidth = 0;
+    mHeight = 0;
+    mDepth = 0;
+    mInternalFormat = GL_NONE;
+    mActualFormat = GL_NONE;
+    mTarget = GL_NONE;
+    mRenderable = false;
+    mDirty = false;
+}
+
+gl::Error Image::copy(GLint xoffset, GLint yoffset, GLint zoffset, const gl::Rectangle &area, gl::Framebuffer *source)
+{
+    gl::FramebufferAttachment *colorbuffer = source->getReadColorbuffer();
+    ASSERT(colorbuffer);
+
+    RenderTarget *renderTarget = NULL;
+    gl::Error error = GetAttachmentRenderTarget(colorbuffer, &renderTarget);
+    if (error.isError())
+    {
+        return error;
+    }
+
+    ASSERT(renderTarget);
+    return copy(xoffset, yoffset, zoffset, area, renderTarget);
+}
+
+}