diff options
author | Tomaž Vajngerl <tomaz.vajngerl@collabora.com> | 2014-09-28 21:44:56 +0200 |
---|---|---|
committer | Tomaž Vajngerl <tomaz.vajngerl@collabora.com> | 2014-09-28 22:32:48 +0200 |
commit | 295f3c12dfc76b6faa438074bc77f8ac8ecadf06 (patch) | |
tree | 0f21dba0dd2e403567e0d433431519617e6bba26 /android | |
parent | d935e7be2c8818d028ab5ce718e7c9c5126cbf32 (diff) |
android: LayerRendered - rename member to mScreenShotLayer
Change-Id: I16fbda06c75bbf80e7d2c2b045418297589c6ff7
Diffstat (limited to 'android')
-rw-r--r-- | android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/LayerRenderer.java | 54 |
1 files changed, 31 insertions, 23 deletions
diff --git a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/LayerRenderer.java b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/LayerRenderer.java index 85ef846a401b..dcedaae6c7b3 100644 --- a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/LayerRenderer.java +++ b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/LayerRenderer.java @@ -48,7 +48,7 @@ public class LayerRenderer implements GLSurfaceView.Renderer { private final LayerView mView; private final SingleTileLayer mBackgroundLayer; - private final ScreenshotLayer mCheckerboardLayer; + private final ScreenshotLayer mScreenshotLayer; private final NinePatchTileLayer mShadowLayer; private TextLayer mFrameRateLayer; private final ScrollbarLayer mHorizScrollLayer; @@ -82,9 +82,6 @@ public class LayerRenderer implements GLSurfaceView.Renderer { private int mSampleHandle; private int mTMatrixHandle; - private int mSurfaceWidth; - private int mSurfaceHeight; - // column-major matrix applied to each vertex to shift the viewport from // one ranging from (-1, -1),(1,1) to (0,0),(1,1) and to scale all sizes by // a factor of 2 to fill up the screen @@ -129,33 +126,33 @@ public class LayerRenderer implements GLSurfaceView.Renderer { "}\n"; public void setCheckerboardBitmap(Bitmap bitmap, float pageWidth, float pageHeight) { - mCheckerboardLayer.setBitmap(bitmap); - mCheckerboardLayer.beginTransaction(); + mScreenshotLayer.setBitmap(bitmap); + mScreenshotLayer.beginTransaction(); try { - mCheckerboardLayer.setPosition(new Rect(0, 0, Math.round(pageWidth), + mScreenshotLayer.setPosition(new Rect(0, 0, Math.round(pageWidth), Math.round(pageHeight))); - mCheckerboardLayer.invalidate(); + mScreenshotLayer.invalidate(); } finally { - mCheckerboardLayer.endTransaction(); + mScreenshotLayer.endTransaction(); } } public void updateCheckerboardBitmap(Bitmap bitmap, float x, float y, float width, float height, float pageWidth, float pageHeight) { - mCheckerboardLayer.updateBitmap(bitmap, x, y, width, height); - mCheckerboardLayer.beginTransaction(); + mScreenshotLayer.updateBitmap(bitmap, x, y, width, height); + mScreenshotLayer.beginTransaction(); try { - mCheckerboardLayer.setPosition(new Rect(0, 0, Math.round(pageWidth), + mScreenshotLayer.setPosition(new Rect(0, 0, Math.round(pageWidth), Math.round(pageHeight))); - mCheckerboardLayer.invalidate(); + mScreenshotLayer.invalidate(); } finally { - mCheckerboardLayer.endTransaction(); + mScreenshotLayer.endTransaction(); } } public void resetCheckerboard() { - mCheckerboardLayer.reset(); + mScreenshotLayer.reset(); } public LayerRenderer(LayerView view) { @@ -166,7 +163,7 @@ public class LayerRenderer implements GLSurfaceView.Renderer { CairoImage backgroundImage = new BufferedCairoImage(controller.getBackgroundPattern()); mBackgroundLayer = new SingleTileLayer(true, backgroundImage); - mCheckerboardLayer = ScreenshotLayer.create(); + mScreenshotLayer = ScreenshotLayer.create(); CairoImage shadowImage = new BufferedCairoImage(controller.getShadowPattern()); mShadowLayer = new NinePatchTileLayer(shadowImage); @@ -196,6 +193,20 @@ public class LayerRenderer implements GLSurfaceView.Renderer { } } + public void destroy() { + DirectBufferAllocator.free(mCoordByteBuffer); + mCoordByteBuffer = null; + mCoordBuffer = null; + mScreenshotLayer.destroy(); + mBackgroundLayer.destroy(); + mShadowLayer.destroy(); + mHorizScrollLayer.destroy(); + mVertScrollLayer.destroy(); + if (mFrameRateLayer != null) { + mFrameRateLayer.destroy(); + } + } + public void onSurfaceCreated(GL10 gl, EGLConfig config) { checkMonitoringEnabled(); createDefaultProgram(); @@ -322,9 +333,6 @@ public class LayerRenderer implements GLSurfaceView.Renderer { } public void onSurfaceChanged(GL10 gl, final int width, final int height) { - mSurfaceWidth = width; - mSurfaceHeight = height; - GLES20.glViewport(0, 0, width, height); if (mFrameRateLayer != null) { @@ -510,7 +518,7 @@ public class LayerRenderer implements GLSurfaceView.Renderer { if (rootLayer != null) mUpdated &= rootLayer.update(mPageContext); // called on compositor thread mUpdated &= mBackgroundLayer.update(mScreenContext); // called on compositor thread mUpdated &= mShadowLayer.update(mPageContext); // called on compositor thread - mUpdated &= mCheckerboardLayer.update(mPageContext); // called on compositor thread + mUpdated &= mScreenshotLayer.update(mPageContext); // called on compositor thread if (mFrameRateLayer != null) mUpdated &= mFrameRateLayer.update(mScreenContext); // called on compositor thread mUpdated &= mVertScrollLayer.update(mPageContext); // called on compositor thread mUpdated &= mHorizScrollLayer.update(mPageContext); // called on compositor thread @@ -591,13 +599,13 @@ public class LayerRenderer implements GLSurfaceView.Renderer { if (mView.getController().checkerboardShouldShowChecks()) { /* Find the area the root layer will render into, to mask the checkerboard layer */ Rect rootMask = getMaskForLayer(mView.getController().getRoot()); - mCheckerboardLayer.setMask(rootMask); + mScreenshotLayer.setMask(rootMask); /* Scissor around the page-rect, in case the page has shrunk * since the screenshot layer was last updated. */ setScissorRect(); // Calls glEnable(GL_SCISSOR_TEST)) - mCheckerboardLayer.draw(mPageContext); + mScreenshotLayer.draw(mPageContext); } } @@ -644,7 +652,7 @@ public class LayerRenderer implements GLSurfaceView.Renderer { /* restrict the viewport to page bounds so we don't * count overscroll as checkerboard */ - if (!viewport.intersect(0, 0, mPageRect.width(), mPageRect.height())) { + if (!viewport.intersect(mPageRect)) { /* if the rectangles don't intersect intersect() doesn't change viewport so we set it to empty by hand */ |