public void draw(GLCanvas canvas) { canvas.save(GLCanvas.SAVE_FLAG_ALPHA); canvas.multiplyAlpha(mAlpha / 255.0f); Rect b = mBounds; draw(canvas, b.left, b.top, b.width(), b.height()); canvas.restore(); }
@Override public void draw(GLCanvas canvas, int x, int y, int width, int height) { synchronized (this) { if (!mHasTexture) return; mSurfaceTexture.updateTexImage(); mSurfaceTexture.getTransformMatrix(mTransform); // Flip vertically. canvas.save(GLCanvas.SAVE_FLAG_MATRIX); int cx = x + width / 2; int cy = y + height / 2; canvas.translate(cx, cy); canvas.scale(1, -1, 1); canvas.translate(-cx, -cy); canvas.drawTexture(mExtTexture, mTransform, x, y, width, height); canvas.restore(); } }