blob: 901e165d3ae558d5995a259483ef87b3bd2a69f9 [file] [log] [blame]
package com.airbnb.lottie;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.graphics.RectF;
class SolidLayer extends BaseLayer {
private final RectF rect = new RectF();
private final Paint paint = new Paint();
private final Layer layerModel;
SolidLayer(LottieDrawable lottieDrawable, Layer layerModel) {
super(lottieDrawable, layerModel);
this.layerModel = layerModel;
paint.setAlpha(0);
paint.setStyle(Paint.Style.FILL);
paint.setColor(layerModel.getSolidColor());
}
@Override public void drawLayer(Canvas canvas, Matrix parentMatrix, int parentAlpha) {
int backgroundAlpha = Color.alpha(layerModel.getSolidColor());
if (backgroundAlpha == 0) {
return;
}
int alpha = (int) ((backgroundAlpha / 255f * transform.getOpacity().getValue() / 100f) * 255);
paint.setAlpha(alpha);
if (alpha > 0) {
rect.set(0, 0, layerModel.getSolidWidth(), layerModel.getSolidHeight());
parentMatrix.mapRect(rect);
canvas.drawRect((int) rect.left, (int) rect.top, (int) rect.right, (int) rect.bottom, paint);
}
}
}