Don't save matrix when using canvas.save
Summary: Canvas.save by default saves both the matrix (for translations, scaling, etc) and the clip (clipRect) - in most of our cases, we really only care to save and restore the clip, not the matrix. Reviewed By: sriramramani Differential Revision: D3235698
This commit is contained in:
parent
118cc4b9b7
commit
0d21baf604
|
@ -62,8 +62,6 @@ import android.graphics.Canvas;
|
||||||
// shows up during screenshot testing. Note that checking one side is enough, since if one side
|
// shows up during screenshot testing. Note that checking one side is enough, since if one side
|
||||||
// is infinite, all sides will be infinite, since we only set infinite for all sides at the
|
// is infinite, all sides will be infinite, since we only set infinite for all sides at the
|
||||||
// same time - conversely, if one side is finite, all sides will be finite.
|
// same time - conversely, if one side is finite, all sides will be finite.
|
||||||
if (mNeedsClipping) {
|
canvas.clipRect(mClipLeft, mClipTop, mClipRight, mClipBottom);
|
||||||
canvas.clipRect(mClipLeft, mClipTop, mClipRight, mClipBottom);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,7 +31,7 @@ import android.graphics.Canvas;
|
||||||
public final void draw(FlatViewGroup parent, Canvas canvas) {
|
public final void draw(FlatViewGroup parent, Canvas canvas) {
|
||||||
onPreDraw(parent, canvas);
|
onPreDraw(parent, canvas);
|
||||||
if (shouldClip()) {
|
if (shouldClip()) {
|
||||||
canvas.save();
|
canvas.save(Canvas.CLIP_SAVE_FLAG);
|
||||||
applyClipping(canvas);
|
applyClipping(canvas);
|
||||||
onDraw(canvas);
|
onDraw(canvas);
|
||||||
canvas.restore();
|
canvas.restore();
|
||||||
|
|
|
@ -22,7 +22,7 @@ import android.graphics.Canvas;
|
||||||
@Override
|
@Override
|
||||||
public void draw(FlatViewGroup parent, Canvas canvas) {
|
public void draw(FlatViewGroup parent, Canvas canvas) {
|
||||||
if (mNeedsClipping) {
|
if (mNeedsClipping) {
|
||||||
canvas.save();
|
canvas.save(Canvas.CLIP_SAVE_FLAG);
|
||||||
applyClipping(canvas);
|
applyClipping(canvas);
|
||||||
parent.drawNextChild(canvas);
|
parent.drawNextChild(canvas);
|
||||||
canvas.restore();
|
canvas.restore();
|
||||||
|
|
|
@ -346,7 +346,7 @@ import com.facebook.react.views.image.ImageLoadEvent;
|
||||||
super.drawChild(canvas, child, getDrawingTime());
|
super.drawChild(canvas, child, getDrawingTime());
|
||||||
} else {
|
} else {
|
||||||
// Make sure non-React Views clip properly.
|
// Make sure non-React Views clip properly.
|
||||||
canvas.save();
|
canvas.save(Canvas.CLIP_SAVE_FLAG);
|
||||||
child.getHitRect(VIEW_BOUNDS);
|
child.getHitRect(VIEW_BOUNDS);
|
||||||
canvas.clipRect(VIEW_BOUNDS);
|
canvas.clipRect(VIEW_BOUNDS);
|
||||||
super.drawChild(canvas, child, getDrawingTime());
|
super.drawChild(canvas, child, getDrawingTime());
|
||||||
|
|
Loading…
Reference in New Issue