override fun createCircle()

in src/main/kotlin/com/jetbrains/interactiveRebase/visuals/SquashedCirclePanel.kt [94:123]


    override fun createCircle(diameter: Double) {
        val width = width.toDouble()
        val height = height.toDouble()

        // Calculate the diameter of the circle,
        // so that border is not cropped due to the panel size
        val adjustedDiameter = diameter / 1.6 - 2 * (border + 0.5)

        // Calculate the x and y coordinates for drawing the circle at the center
        val originX = (width - adjustedDiameter) / 2
        val originY = (height - adjustedDiameter) / 2

        centerX = this.x + adjustedDiameter / 2
        centerY = this.y + adjustedDiameter / 2
        middleCircle =
            Ellipse2D.Double(
                originX + adjustedDiameter * 0.25,
                originY - adjustedDiameter * 0.2,
                adjustedDiameter * 0.9,
                adjustedDiameter * 0.9,
            )
        backCircle =
            Ellipse2D.Double(
                originX + adjustedDiameter * 0.45,
                originY - adjustedDiameter * 0.35,
                adjustedDiameter * 0.8,
                adjustedDiameter * 0.8,
            )
        circle = Ellipse2D.Double(originX, originY, adjustedDiameter, adjustedDiameter)
    }