mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-04-08 09:37:21 +08:00
Extract rect clipping logic into AbstractClippingDrawCommand
Summary: Both DrawView and AbstractDrawCommand have clipping logic, this diff is moving out logic into a common base class. This also reverts the screenshot tests fix, which was causing issues with overflow: visible. Reviewed By: ahmedre Differential Revision: D2933780
This commit is contained in:
committed by
Ahmed El-Helw
parent
f0535152ab
commit
3b63d7c3bc
@@ -0,0 +1,60 @@
|
||||
/**
|
||||
* Copyright (c) 2015-present, Facebook, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This source code is licensed under the BSD-style license found in the
|
||||
* LICENSE file in the root directory of this source tree. An additional grant
|
||||
* of patent rights can be found in the PATENTS file in the same directory.
|
||||
*/
|
||||
|
||||
package com.facebook.react.flat;
|
||||
|
||||
import android.graphics.Canvas;
|
||||
|
||||
/* package */ abstract class AbstractClippingDrawCommand implements DrawCommand {
|
||||
|
||||
private float mClipLeft;
|
||||
private float mClipTop;
|
||||
private float mClipRight;
|
||||
private float mClipBottom;
|
||||
|
||||
public final boolean clipBoundsMatch(
|
||||
float clipLeft,
|
||||
float clipTop,
|
||||
float clipRight,
|
||||
float clipBottom) {
|
||||
return mClipLeft == clipLeft && mClipTop == clipTop
|
||||
&& mClipRight == clipRight && mClipBottom == clipBottom;
|
||||
}
|
||||
|
||||
public final void setClipBounds(
|
||||
float clipLeft,
|
||||
float clipTop,
|
||||
float clipRight,
|
||||
float clipBottom) {
|
||||
mClipLeft = clipLeft;
|
||||
mClipTop = clipTop;
|
||||
mClipRight = clipRight;
|
||||
mClipBottom = clipBottom;
|
||||
}
|
||||
|
||||
public final float getClipLeft() {
|
||||
return mClipLeft;
|
||||
}
|
||||
|
||||
public final float getClipTop() {
|
||||
return mClipTop;
|
||||
}
|
||||
|
||||
public final float getClipRight() {
|
||||
return mClipRight;
|
||||
}
|
||||
|
||||
public final float getClipBottom() {
|
||||
return mClipBottom;
|
||||
}
|
||||
|
||||
protected final void applyClipping(Canvas canvas) {
|
||||
canvas.clipRect(mClipLeft, mClipTop, mClipRight, mClipBottom);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user