what-the-bank/sources/io/flutter/embedding/engine/mutatorsstack/FlutterMutatorsStack.java

114 lines
3.4 KiB
Java
Raw Normal View History

2024-07-27 18:17:47 +07:00
package io.flutter.embedding.engine.mutatorsstack;
import android.graphics.Matrix;
import android.graphics.Path;
import android.graphics.Rect;
import android.graphics.RectF;
import java.util.ArrayList;
import java.util.List;
/* loaded from: classes6.dex */
public class FlutterMutatorsStack {
private List<FlutterMutator> mutators = new ArrayList();
private Matrix finalMatrix = new Matrix();
private List<Path> finalClippingPaths = new ArrayList();
/* loaded from: classes6.dex */
public enum FlutterMutatorType {
CLIP_RECT,
CLIP_RRECT,
CLIP_PATH,
TRANSFORM,
OPACITY
}
public List<Path> getFinalClippingPaths() {
return this.finalClippingPaths;
}
public Matrix getFinalMatrix() {
return this.finalMatrix;
}
public List<FlutterMutator> getMutators() {
return this.mutators;
}
/* loaded from: classes6.dex */
public class FlutterMutator {
private Matrix matrix;
private Path path;
private float[] radiis;
private Rect rect;
final FlutterMutatorsStack this$0;
private FlutterMutatorType type;
public Matrix getMatrix() {
return this.matrix;
}
public Path getPath() {
return this.path;
}
public Rect getRect() {
return this.rect;
}
public FlutterMutatorType getType() {
return this.type;
}
public FlutterMutator(FlutterMutatorsStack flutterMutatorsStack, Rect rect) {
this.this$0 = flutterMutatorsStack;
this.type = FlutterMutatorType.CLIP_RECT;
this.rect = rect;
}
public FlutterMutator(FlutterMutatorsStack flutterMutatorsStack, Rect rect, float[] fArr) {
this.this$0 = flutterMutatorsStack;
this.type = FlutterMutatorType.CLIP_RRECT;
this.rect = rect;
this.radiis = fArr;
}
public FlutterMutator(FlutterMutatorsStack flutterMutatorsStack, Path path) {
this.this$0 = flutterMutatorsStack;
this.type = FlutterMutatorType.CLIP_PATH;
this.path = path;
}
public FlutterMutator(FlutterMutatorsStack flutterMutatorsStack, Matrix matrix) {
this.this$0 = flutterMutatorsStack;
this.type = FlutterMutatorType.TRANSFORM;
this.matrix = matrix;
}
}
public void pushTransform(float[] fArr) {
Matrix matrix = new Matrix();
matrix.setValues(fArr);
FlutterMutator flutterMutator = new FlutterMutator(this, matrix);
this.mutators.add(flutterMutator);
this.finalMatrix.preConcat(flutterMutator.getMatrix());
}
public void pushClipRect(int i, int i2, int i3, int i4) {
Rect rect = new Rect(i, i2, i3, i4);
this.mutators.add(new FlutterMutator(this, rect));
Path path = new Path();
path.addRect(new RectF(rect), Path.Direction.CCW);
path.transform(this.finalMatrix);
this.finalClippingPaths.add(path);
}
public void pushClipRRect(int i, int i2, int i3, int i4, float[] fArr) {
Rect rect = new Rect(i, i2, i3, i4);
this.mutators.add(new FlutterMutator(this, rect, fArr));
Path path = new Path();
path.addRoundRect(new RectF(rect), fArr, Path.Direction.CCW);
path.transform(this.finalMatrix);
this.finalClippingPaths.add(path);
}
}