Index: skia/gl/SkGLDevice_FBO.cpp |
=================================================================== |
--- skia/gl/SkGLDevice_FBO.cpp (revision 16859) |
+++ skia/gl/SkGLDevice_FBO.cpp (working copy) |
@@ -1,57 +0,0 @@ |
-#include "SkGLDevice_FBO.h" |
-#include "SkRegion.h" |
- |
-SkGLDevice_FBO::SkGLDevice_FBO(const SkBitmap& bitmap, bool offscreen) |
- : SkGLDevice(bitmap, offscreen) { |
- fFBO = 0; |
- fTextureID = 0; |
- |
- if (offscreen) { |
- int nw = SkNextPow2(bitmap.rowBytesAsPixels()); |
- int nh = SkNextPow2(bitmap.height()); |
- |
- glGenFramebuffersEXT(1, &fFBO); |
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, fFBO); |
- |
- glGenTextures(1, &fTextureID); |
- glBindTexture(GL_TEXTURE_2D, fTextureID); |
- SkGL::SetTexParamsClamp(false); |
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, nw, nh, 0, |
- GL_RGBA, GL_UNSIGNED_BYTE, NULL); |
- |
- glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT, |
- GL_TEXTURE_2D, fTextureID, 0); |
- GLenum status = glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT); |
- if (status != GL_FRAMEBUFFER_COMPLETE_EXT) { |
- SkDebugf("-- glCheckFramebufferStatusEXT %x\n", status); |
- } |
- |
- // now reset back to "normal" drawing target |
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); |
- } |
-} |
- |
-SkGLDevice_FBO::~SkGLDevice_FBO() { |
- if (fTextureID) { |
- glDeleteTextures(1, &fTextureID); |
- } |
- if (fFBO) { |
- glDeleteFramebuffersEXT(1, &fFBO); |
- } |
-} |
- |
-SkGLDevice::TexOrientation SkGLDevice_FBO::bindDeviceAsTexture() { |
- if (fTextureID) { |
- glBindTexture(GL_TEXTURE_2D, fTextureID); |
- return kBottomToTop_TexOrientation; |
- } |
- return kNo_TexOrientation; |
-} |
- |
-void SkGLDevice_FBO::gainFocus(SkCanvas* canvas) { |
- glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, fFBO); |
- |
- // now we're ready for the viewport and projection matrix |
- this->INHERITED::gainFocus(canvas); |
-} |
- |