package com.quran.labs.androidquran.widgets;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.Point;
import android.support.v4.content.ContextCompat;
import android.util.AttributeSet;
import android.view.View;
import com.quran.labs.androidquran.R;
import static com.quran.labs.androidquran.widgets.AyahToolBar.PipPosition;
public class AyahToolBarPip extends View {
private Path mPath;
private Paint mPaint;
private PipPosition mPosition;
public AyahToolBarPip(Context context) {
super(context);
init(context);
}
public AyahToolBarPip(Context context, AttributeSet attrs) {
super(context, attrs);
init(context);
}
public AyahToolBarPip(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init(context);
}
private void init(Context context) {
mPosition = PipPosition.DOWN;
mPaint = new Paint();
mPaint.setAntiAlias(true);
mPaint.setColor(ContextCompat.getColor(context, R.color.toolbar_background));
mPaint.setStyle(Paint.Style.FILL_AND_STROKE);
}
public void ensurePosition(PipPosition position) {
mPosition = position;
updatePoints();
}
private void updatePoints() {
final int width = getWidth();
final int height = getHeight();
final Point pointA;
final Point pointB;
final Point pointC;
if (mPosition == PipPosition.DOWN) {
pointA = new Point(width / 2, height);
pointB = new Point(0, 0);
pointC = new Point(width, 0);
} else {
pointA = new Point(width / 2, 0);
pointB = new Point(0, height);
pointC = new Point(width, height);
}
mPath = new Path();
mPath.setFillType(Path.FillType.EVEN_ODD);
mPath.moveTo(pointA.x, pointA.y);
mPath.lineTo(pointB.x, pointB.y);
mPath.lineTo(pointC.x, pointC.y);
mPath.close();
invalidate();
}
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
updatePoints();
}
@Override
protected void onDraw(Canvas canvas) {
canvas.drawPath(mPath, mPaint);
}
}