2021-07-24 02:37:17 +00:00
|
|
|
package androidx.core.graphics;
|
|
|
|
|
|
|
|
import android.graphics.Point;
|
|
|
|
import android.graphics.Rect;
|
|
|
|
import android.graphics.Region;
|
|
|
|
import android.graphics.RegionIterator;
|
|
|
|
import d0.z.d.m;
|
|
|
|
import java.util.Iterator;
|
|
|
|
import kotlin.Unit;
|
|
|
|
import kotlin.jvm.functions.Function1;
|
|
|
|
/* compiled from: Region.kt */
|
|
|
|
public final class RegionKt {
|
|
|
|
public static final Region and(Region region, Rect rect) {
|
2021-09-21 07:33:49 +00:00
|
|
|
m.checkNotNullParameter(region, "<this>");
|
|
|
|
m.checkNotNullParameter(rect, "r");
|
2021-07-24 02:37:17 +00:00
|
|
|
Region region2 = new Region(region);
|
|
|
|
region2.op(rect, Region.Op.INTERSECT);
|
|
|
|
return region2;
|
|
|
|
}
|
|
|
|
|
|
|
|
public static final Region and(Region region, Region region2) {
|
2021-09-21 07:33:49 +00:00
|
|
|
m.checkNotNullParameter(region, "<this>");
|
|
|
|
m.checkNotNullParameter(region2, "r");
|
2021-07-24 02:37:17 +00:00
|
|
|
Region region3 = new Region(region);
|
|
|
|
region3.op(region2, Region.Op.INTERSECT);
|
|
|
|
return region3;
|
|
|
|
}
|
|
|
|
|
|
|
|
public static final boolean contains(Region region, Point point) {
|
2021-09-21 07:33:49 +00:00
|
|
|
m.checkNotNullParameter(region, "<this>");
|
|
|
|
m.checkNotNullParameter(point, "p");
|
2021-07-24 02:37:17 +00:00
|
|
|
return region.contains(point.x, point.y);
|
|
|
|
}
|
|
|
|
|
|
|
|
public static final void forEach(Region region, Function1<? super Rect, Unit> function1) {
|
2021-09-21 07:33:49 +00:00
|
|
|
m.checkNotNullParameter(region, "<this>");
|
|
|
|
m.checkNotNullParameter(function1, "action");
|
2021-07-24 02:37:17 +00:00
|
|
|
RegionIterator regionIterator = new RegionIterator(region);
|
|
|
|
while (true) {
|
|
|
|
Rect rect = new Rect();
|
|
|
|
if (regionIterator.next(rect)) {
|
|
|
|
function1.invoke(rect);
|
|
|
|
} else {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public static final Iterator<Rect> iterator(Region region) {
|
2021-09-21 07:33:49 +00:00
|
|
|
m.checkNotNullParameter(region, "<this>");
|
2021-07-24 02:37:17 +00:00
|
|
|
return new RegionKt$iterator$1(region);
|
|
|
|
}
|
|
|
|
|
|
|
|
public static final Region minus(Region region, Rect rect) {
|
2021-09-21 07:33:49 +00:00
|
|
|
m.checkNotNullParameter(region, "<this>");
|
|
|
|
m.checkNotNullParameter(rect, "r");
|
2021-07-24 02:37:17 +00:00
|
|
|
Region region2 = new Region(region);
|
|
|
|
region2.op(rect, Region.Op.DIFFERENCE);
|
|
|
|
return region2;
|
|
|
|
}
|
|
|
|
|
|
|
|
public static final Region minus(Region region, Region region2) {
|
2021-09-21 07:33:49 +00:00
|
|
|
m.checkNotNullParameter(region, "<this>");
|
|
|
|
m.checkNotNullParameter(region2, "r");
|
2021-07-24 02:37:17 +00:00
|
|
|
Region region3 = new Region(region);
|
|
|
|
region3.op(region2, Region.Op.DIFFERENCE);
|
|
|
|
return region3;
|
|
|
|
}
|
|
|
|
|
|
|
|
public static final Region not(Region region) {
|
2021-09-21 07:33:49 +00:00
|
|
|
m.checkNotNullParameter(region, "<this>");
|
2021-07-24 02:37:17 +00:00
|
|
|
Region region2 = new Region(region.getBounds());
|
|
|
|
region2.op(region, Region.Op.DIFFERENCE);
|
|
|
|
return region2;
|
|
|
|
}
|
|
|
|
|
|
|
|
public static final Region or(Region region, Rect rect) {
|
2021-09-21 07:33:49 +00:00
|
|
|
m.checkNotNullParameter(region, "<this>");
|
|
|
|
m.checkNotNullParameter(rect, "r");
|
2021-07-24 02:37:17 +00:00
|
|
|
Region region2 = new Region(region);
|
|
|
|
region2.union(rect);
|
|
|
|
return region2;
|
|
|
|
}
|
|
|
|
|
|
|
|
public static final Region or(Region region, Region region2) {
|
2021-09-21 07:33:49 +00:00
|
|
|
m.checkNotNullParameter(region, "<this>");
|
|
|
|
m.checkNotNullParameter(region2, "r");
|
2021-07-24 02:37:17 +00:00
|
|
|
Region region3 = new Region(region);
|
|
|
|
region3.op(region2, Region.Op.UNION);
|
|
|
|
return region3;
|
|
|
|
}
|
|
|
|
|
|
|
|
public static final Region plus(Region region, Rect rect) {
|
2021-09-21 07:33:49 +00:00
|
|
|
m.checkNotNullParameter(region, "<this>");
|
|
|
|
m.checkNotNullParameter(rect, "r");
|
2021-07-24 02:37:17 +00:00
|
|
|
Region region2 = new Region(region);
|
|
|
|
region2.union(rect);
|
|
|
|
return region2;
|
|
|
|
}
|
|
|
|
|
|
|
|
public static final Region plus(Region region, Region region2) {
|
2021-09-21 07:33:49 +00:00
|
|
|
m.checkNotNullParameter(region, "<this>");
|
|
|
|
m.checkNotNullParameter(region2, "r");
|
2021-07-24 02:37:17 +00:00
|
|
|
Region region3 = new Region(region);
|
|
|
|
region3.op(region2, Region.Op.UNION);
|
|
|
|
return region3;
|
|
|
|
}
|
|
|
|
|
|
|
|
public static final Region unaryMinus(Region region) {
|
2021-09-21 07:33:49 +00:00
|
|
|
m.checkNotNullParameter(region, "<this>");
|
2021-07-24 02:37:17 +00:00
|
|
|
Region region2 = new Region(region.getBounds());
|
|
|
|
region2.op(region, Region.Op.DIFFERENCE);
|
|
|
|
return region2;
|
|
|
|
}
|
|
|
|
|
|
|
|
public static final Region xor(Region region, Rect rect) {
|
2021-09-21 07:33:49 +00:00
|
|
|
m.checkNotNullParameter(region, "<this>");
|
|
|
|
m.checkNotNullParameter(rect, "r");
|
2021-07-24 02:37:17 +00:00
|
|
|
Region region2 = new Region(region);
|
|
|
|
region2.op(rect, Region.Op.XOR);
|
|
|
|
return region2;
|
|
|
|
}
|
|
|
|
|
|
|
|
public static final Region xor(Region region, Region region2) {
|
2021-09-21 07:33:49 +00:00
|
|
|
m.checkNotNullParameter(region, "<this>");
|
|
|
|
m.checkNotNullParameter(region2, "r");
|
2021-07-24 02:37:17 +00:00
|
|
|
Region region3 = new Region(region);
|
|
|
|
region3.op(region2, Region.Op.XOR);
|
|
|
|
return region3;
|
|
|
|
}
|
|
|
|
}
|