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)
}