package jp.juggler.subwaytooter.drawable import android.graphics.* import android.graphics.drawable.Drawable class PollPlotDrawable( private val color :Int, private val startWidth: Int, // pixel width for minimum gauge private val ratio: Float, // gauge ratio in 0..1 private val isRtl :Boolean = false // false for LTR, true for RTL layout ) : Drawable(){ override fun setAlpha(alpha : Int) { } override fun getOpacity() : Int = PixelFormat.TRANSLUCENT override fun setColorFilter(colorFilter : ColorFilter?) { } private val rect = Rect() private val paint = Paint() override fun draw(canvas : Canvas) { val bounds = bounds val w = bounds.width() val ratioWidth = ( (w - startWidth) * ratio + 0.5f ).toInt() val remainWidth = w - ratioWidth - startWidth if( isRtl){ rect.set(bounds.left+remainWidth,bounds.top,bounds.right,bounds.bottom) }else{ rect.set(bounds.left,bounds.top,bounds.right-remainWidth,bounds.bottom) } paint.color = color canvas.drawRect(rect,paint) } }