in platf-android/src/androidMain/kotlin/org/jetbrains/letsPlot/android/canvas/CanvasView.kt [101:120]
override fun onDraw(canvas: android.graphics.Canvas) {
super.onDraw(canvas)
// TODO: TERRIBLE HACK! Just pass the canvas to the figure and let draw it there.
// This also may help with resources management as figure could to not create canvases at all.
val contentCanvas = canvasControl.children.lastOrNull() ?: return
if (contentCanvas.size.x <= 0 || contentCanvas.size.y <= 0) {
// No content to draw, skip drawing
return
}
val fig = figure ?: return
centerOffsetX = ((width - fig.width * resources.displayMetrics.density) / 2f)
centerOffsetY = ((height - fig.height * resources.displayMetrics.density) / 2f)
canvas.drawRect(0f, 0f, width.toFloat(), height.toFloat(), eraser)
canvas.drawBitmap(contentCanvas.platformBitmap, centerOffsetX, centerOffsetY, null)
}