package com.prolificinteractive.materialcalendarview.spans;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.text.style.LineBackgroundSpan;
/**
* Span to draw a dot centered under a section of text
*/
public class DotSpan implements LineBackgroundSpan {
/**
* Default radius used
*/
public static final float DEFAULT_RADIUS = 3;
private final float radius;
private final int color;
/**
* Create a span to draw a dot using default radius and color
*
* @see #DotSpan(float, int)
* @see #DEFAULT_RADIUS
*/
public DotSpan() {
this.radius = DEFAULT_RADIUS;
this.color = 0;
}
/**
* Create a span to draw a dot using a specified color
*
* @param color color of the dot
* @see #DotSpan(float, int)
* @see #DEFAULT_RADIUS
*/
public DotSpan(int color) {
this.radius = DEFAULT_RADIUS;
this.color = color;
}
/**
* Create a span to draw a dot using a specified radius
*
* @param radius radius for the dot
* @see #DotSpan(float, int)
*/
public DotSpan(float radius) {
this.radius = radius;
this.color = 0;
}
/**
* Create a span to draw a dot using a specified radius and color
*
* @param radius radius for the dot
* @param color color of the dot
*/
public DotSpan(float radius, int color) {
this.radius = radius;
this.color = color;
}
@Override
public void drawBackground(
Canvas canvas, Paint paint,
int left, int right, int top, int baseline, int bottom,
CharSequence charSequence,
int start, int end, int lineNum
) {
int oldColor = paint.getColor();
if (color != 0) {
paint.setColor(color);
}
canvas.drawCircle((left + right) / 2, bottom + radius, radius, paint);
paint.setColor(oldColor);
}
}