package com.marshalchen.common.uimodule.materialanimatedswitch.painter;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Paint;
import com.marshalchen.ultimateandroiduilollipop.R;
/**
* @author Adrián García Lomas
*/
public abstract class IconPainter implements SwitchInboxPinnedPainter {
protected Bitmap iconBitmap;
protected Context context;
protected Paint paint;
protected int width;
protected int height;
protected int imageHeight;
protected int imageWidth;
protected boolean isVisible = false;
protected int iconXPosition;
protected int iconYPosition;
protected int margin;
public IconPainter(Context context, Bitmap bitmap, int margin) {
this.context = context;
this.iconBitmap = bitmap;
this.margin = margin;
init();
}
private void init() {
paint = new Paint();
paint.setAntiAlias(true);
initBitmap();
}
protected void initBitmap() {
int iconSize = (int) context.getResources().getDimension(R.dimen.mas_icon_size);
iconBitmap = Bitmap.createScaledBitmap(iconBitmap, iconSize, iconSize, false);
imageHeight = iconBitmap.getHeight();
imageWidth = iconBitmap.getWidth();
}
@Override public void draw(Canvas canvas) {
if (isVisible) {
canvas.drawBitmap(iconBitmap, iconXPosition, iconYPosition, paint);
}
}
@Override public void onSizeChanged(int height, int width) {
this.height = height;
this.width = width;
}
}