Нарисовать линии с закругленными краями на Canvas

Пытаюсь нарисовать линии с закругленными углами, но начало второй линии должна быть закругленной внутрь а не наружу. Как это реализовать?

Что делаю я:

val p3 = Paint()
p3.isAntiAlias = true
p3.color = Color.BLUE
p3.setStrokeWidth(10F)
p3.strokeCap = Paint.Cap.ROUND
canvas.drawLine(10F, 120F, 400F, 120F, p3)

Что получаю:

введите сюда описание изображения

А вот что нужно n

Вот реализация в "лоб" (хотелось бы узнать правильное решение)

public override fun onDraw(canvas: Canvas) {
    p.color = Color.BLACK
    rectf = RectF(400F, 100F, 530F, 150F)
    canvas.drawRoundRect(rectf, 0F, 0F, p)

    p.color = Color.BLACK
    rectf = RectF(500F, 100F, 800F, 150F)
    canvas.drawRoundRect(rectf, 30F, 30F, p)



    p.color = Color.WHITE
    rectf = RectF(385F, 100F, 420F, 150F)
    canvas.drawRoundRect(rectf, 30F, 30F, p)



    p.color = Color.BLACK
    rectf = RectF(0F, 100F, 400F, 150F)
    canvas.drawRoundRect(rectf, 30F, 30F, p)
}

Результат введите сюда описание изображения


Ответы (0 шт):