68 lines
2.5 KiB
Java
68 lines
2.5 KiB
Java
package com.discord.utilities.spans;
|
|
|
|
import android.graphics.Canvas;
|
|
import android.graphics.Paint;
|
|
import android.graphics.RectF;
|
|
import android.text.Spanned;
|
|
import android.text.style.LineBackgroundSpan;
|
|
import androidx.annotation.ColorInt;
|
|
import androidx.core.app.NotificationCompat;
|
|
import d0.z.d.m;
|
|
/* compiled from: BlockBackgroundSpan.kt */
|
|
public final class BlockBackgroundSpan implements LineBackgroundSpan {
|
|
private final Paint fillPaint;
|
|
private final int leftMargin;
|
|
private final float radius;
|
|
private final RectF rect = new RectF();
|
|
private final Paint strokePaint;
|
|
|
|
public BlockBackgroundSpan(@ColorInt int i, @ColorInt int i2, int i3, int i4, int i5) {
|
|
this.leftMargin = i5;
|
|
Paint paint = new Paint();
|
|
paint.setStyle(Paint.Style.FILL);
|
|
paint.setColor(i);
|
|
this.fillPaint = paint;
|
|
Paint paint2 = new Paint();
|
|
paint2.setStyle(Paint.Style.STROKE);
|
|
paint2.setColor(i2);
|
|
paint2.setStrokeWidth((float) i3);
|
|
paint2.setAntiAlias(true);
|
|
this.strokePaint = paint2;
|
|
this.radius = (float) i4;
|
|
}
|
|
|
|
public final void draw(Canvas canvas) {
|
|
m.checkNotNullParameter(canvas, "canvas");
|
|
RectF rectF = this.rect;
|
|
float f = this.radius;
|
|
canvas.drawRoundRect(rectF, f, f, this.fillPaint);
|
|
RectF rectF2 = this.rect;
|
|
float f2 = this.radius;
|
|
canvas.drawRoundRect(rectF2, f2, f2, this.strokePaint);
|
|
}
|
|
|
|
@Override // android.text.style.LineBackgroundSpan
|
|
public void drawBackground(Canvas canvas, Paint paint, int i, int i2, int i3, int i4, int i5, CharSequence charSequence, int i6, int i7, int i8) {
|
|
m.checkNotNullParameter(canvas, "canvas");
|
|
m.checkNotNullParameter(paint, "paint");
|
|
m.checkNotNullParameter(charSequence, NotificationCompat.MessagingStyle.Message.KEY_TEXT);
|
|
if (((Spanned) (!(charSequence instanceof Spanned) ? null : charSequence)) != null) {
|
|
Spanned spanned = (Spanned) charSequence;
|
|
if (spanned.getSpanStart(this) == i6) {
|
|
RectF rectF = this.rect;
|
|
rectF.left = ((float) i) + ((float) this.leftMargin);
|
|
rectF.top = (float) i3;
|
|
}
|
|
if (spanned.getSpanEnd(this) == i7) {
|
|
RectF rectF2 = this.rect;
|
|
rectF2.right = (float) i2;
|
|
rectF2.bottom = (float) i5;
|
|
draw(canvas);
|
|
}
|
|
}
|
|
}
|
|
|
|
public final int getLeftMargin() {
|
|
return this.leftMargin;
|
|
}
|
|
}
|