Example of what I mean: <https://github.com/JetBr...
# kotlin-native
g
Example of what I mean: https://github.com/JetBrains/skija/blob/64b715ceb0764e366eb98ff852d3c42fe30328ab/platform/cc/Canvas.cc#L147
Copy code
extern "C" JNIEXPORT void JNICALL Java_org_jetbrains_skija_Canvas__1nDrawPicture
  (JNIEnv* env, jclass jclass, jlong ptr, jlong picturePtr, jfloatArray matrixArr, jlong paintPtr) {}
https://github.com/JetBrains/skija/blob/64b715ceb0764e366eb98ff852d3c42fe30328ab/shared/java/Canvas.java#L448
Copy code
public Canvas drawPicture(@NotNull Picture picture) {} // Calls below overload with some defaults
public Canvas drawPicture(@NotNull Picture picture, @Nullable Matrix33 matrix, @Nullable Paint paint) {}
https://github.com/JetBrains/skiko/blob/023a169556129b0f68d236eac1c38d08d9741039/s[…]nativeMain/kotlin/org/jetbrains/skiko/context/ContextHandler.kt
Copy code
package org.jetbrains.skiko.native.context

import kotlinx.cinterop.ptr
import org.jetbrains.skia.*
import org.jetbrains.skiko.native.*

internal abstract class ContextHandler(val layer: HardwareLayer) {
    open fun drawOnCanvas(picture: Picture) {
        println("ContextHandler::drawOnCanvas")
        canvas?.drawPicture(picture)
    }
}