fun draw()

in sample/src/main/kotlin/org/jetbrains/desktop/sample/linux/SkikoCustomTitlebarLinux.kt [338:354]


    fun draw(canvas: Canvas, scale: Float, xdgDesktopSettings: XdgDesktopSettings, title: String, windowState: WindowState) {
        val physicalOrigin = origin.toPhysical(scale)
        val physicalSize = size.toPhysical(scale)
        val l = physicalOrigin.x.toFloat()
        val t = physicalOrigin.y.toFloat()
        val w = physicalSize.width.toFloat()
        val h = physicalSize.height.toFloat()
        Paint().use { paint ->
            paint.color = xdgDesktopSettings.accentColor
            canvas.drawRect(Rect.makeXYWH(l, t, w, h), paint)
        }
        for ((rect, button) in rectangles) {
            val hovered = !isDragging && (lastMouseLocation?.let { rect.contains(it) } == true)
            val highlighted = hovered && (leftClickStartLocation?.let { rect.contains(it) } == true)
            drawButton(canvas, button, rect, highlighted = highlighted, hovered = hovered, scale, title, windowState)
        }
    }