jimu-decompiled/sources/com/google/android/material/textfield/CutoutDrawable.java
2025-05-13 19:24:51 +02:00

87 lines
2.3 KiB
Java

package com.google.android.material.textfield;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.PorterDuff;
import android.graphics.PorterDuffXfermode;
import android.graphics.RectF;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.GradientDrawable;
import android.os.Build;
import android.view.View;
/* loaded from: classes.dex */
class CutoutDrawable extends GradientDrawable {
private final Paint a = new Paint(1);
private final RectF b;
private int c;
CutoutDrawable() {
c();
this.b = new RectF();
}
private void c() {
this.a.setStyle(Paint.Style.FILL_AND_STROKE);
this.a.setColor(-1);
this.a.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_OUT));
}
boolean a() {
return !this.b.isEmpty();
}
void b() {
a(0.0f, 0.0f, 0.0f, 0.0f);
}
@Override // android.graphics.drawable.GradientDrawable, android.graphics.drawable.Drawable
public void draw(Canvas canvas) {
b(canvas);
super.draw(canvas);
canvas.drawRect(this.b, this.a);
a(canvas);
}
private void b(Canvas canvas) {
Drawable.Callback callback = getCallback();
if (a(callback)) {
((View) callback).setLayerType(2, null);
} else {
c(canvas);
}
}
void a(float f, float f2, float f3, float f4) {
RectF rectF = this.b;
if (f == rectF.left && f2 == rectF.top && f3 == rectF.right && f4 == rectF.bottom) {
return;
}
this.b.set(f, f2, f3, f4);
invalidateSelf();
}
private void c(Canvas canvas) {
if (Build.VERSION.SDK_INT >= 21) {
this.c = canvas.saveLayer(0.0f, 0.0f, canvas.getWidth(), canvas.getHeight(), null);
} else {
this.c = canvas.saveLayer(0.0f, 0.0f, canvas.getWidth(), canvas.getHeight(), null, 31);
}
}
void a(RectF rectF) {
a(rectF.left, rectF.top, rectF.right, rectF.bottom);
}
private void a(Canvas canvas) {
if (a(getCallback())) {
return;
}
canvas.restoreToCount(this.c);
}
private boolean a(Drawable.Callback callback) {
return callback instanceof View;
}
}