in platf-android/src/androidMain/kotlin/org/jetbrains/letsPlot/android/canvas/CanvasView2.kt [88:110]
override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
val density = resources.displayMetrics.density
val figureWidthInDp = figure?.size?.x ?: 0
val figureHeightInDp = figure?.size?.y ?: 0
val desiredWidth = (figureWidthInDp * density).toInt()
val desiredHeight = (figureHeightInDp * density).toInt()
val finalWidth = when (MeasureSpec.getMode(widthMeasureSpec)) {
MeasureSpec.EXACTLY -> MeasureSpec.getSize(widthMeasureSpec)
MeasureSpec.AT_MOST -> minOf(desiredWidth, MeasureSpec.getSize(widthMeasureSpec))
else -> desiredWidth
}
val finalHeight = when (MeasureSpec.getMode(heightMeasureSpec)) {
MeasureSpec.EXACTLY -> MeasureSpec.getSize(heightMeasureSpec)
MeasureSpec.AT_MOST -> minOf(desiredHeight, MeasureSpec.getSize(heightMeasureSpec))
else -> desiredHeight
}
setMeasuredDimension(finalWidth, finalHeight)
}