Restore final canvas state after deferred flush
bug:8450062 - Fixes overdraw indication with DeferredDisplayList - Fixes drawHardwareLayer called after flush Additionally changes drawLayer to pass its paint to native via setLayerPaint Wrap flush in save/restore so that reordering doesn't affect final transform Change-Id: I08befa42c28500da6387699eefd4be28aedf9f4c
This commit is contained in:
@ -399,12 +399,13 @@ class GLES20Canvas extends HardwareCanvas {
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
void drawHardwareLayer(HardwareLayer layer, float x, float y, Paint paint) {
|
||||
layer.setLayerPaint(paint);
|
||||
|
||||
final GLES20Layer glLayer = (GLES20Layer) layer;
|
||||
final int nativePaint = paint == null ? 0 : paint.mNativePaint;
|
||||
nDrawLayer(mRenderer, glLayer.getLayer(), x, y, nativePaint);
|
||||
nDrawLayer(mRenderer, glLayer.getLayer(), x, y);
|
||||
}
|
||||
|
||||
private static native void nDrawLayer(int renderer, int layer, float x, float y, int paint);
|
||||
private static native void nDrawLayer(int renderer, int layer, float x, float y);
|
||||
|
||||
void interrupt() {
|
||||
nInterrupt(mRenderer);
|
||||
|
Reference in New Issue
Block a user