Unverified Commit dcc7cfe4 authored by Oleksandr Karpovich's avatar Oleksandr Karpovich Committed by GitHub

Add js exports generation (#844)

* Use compiler plugin to generate setup.mjs

* Include generation of setup.mjs into build pipeline

* Add support of TestHelpers to generation

* add mavenCentral repo

* Refactoring

---------
Co-authored-by: 's avatarIlya Goncharov <ilya.goncharov@jetbrains.com>
Co-authored-by: 's avatarOleksandr.Karpovich <a.n.karpovich@gmail.com>
parent 63dbbb7e
...@@ -12,6 +12,9 @@ plugins { ...@@ -12,6 +12,9 @@ plugins {
id("org.gradle.crypto.checksum") version "1.4.0" id("org.gradle.crypto.checksum") version "1.4.0"
} }
apply<WasmImportsGeneratorCompilerPluginSupportPlugin>()
apply<WasmImportsGeneratorForTestCompilerPluginSupportPlugin>()
val coroutinesVersion = "1.8.0-RC" val coroutinesVersion = "1.8.0-RC"
val atomicfuVersion = "0.23.1" val atomicfuVersion = "0.23.1"
...@@ -24,6 +27,7 @@ val targetArch = skiko.targetArch ...@@ -24,6 +27,7 @@ val targetArch = skiko.targetArch
val skikoProjectContext = SkikoProjectContext( val skikoProjectContext = SkikoProjectContext(
project = project, project = project,
skiko = skiko, skiko = skiko,
kotlin = kotlin,
windowsSdkPathProvider = { windowsSdkPathProvider = {
findWindowsSdkPaths(gradle, targetArch) findWindowsSdkPaths(gradle, targetArch)
}, },
...@@ -99,7 +103,9 @@ kotlin { ...@@ -99,7 +103,9 @@ kotlin {
} }
generateVersion(OS.Wasm, Arch.Wasm, skiko) generateVersion(OS.Wasm, Arch.Wasm, skiko)
val main by compilations.getting
val test by compilations.getting val test by compilations.getting
val linkWasmTasks = skikoProjectContext.createWasmLinkTasks() val linkWasmTasks = skikoProjectContext.createWasmLinkTasks()
project.tasks.named<Copy>(test.processResourcesTaskName) { project.tasks.named<Copy>(test.processResourcesTaskName) {
from(linkWasmTasks.linkWasm!!) { from(linkWasmTasks.linkWasm!!) {
...@@ -109,7 +115,12 @@ kotlin { ...@@ -109,7 +115,12 @@ kotlin {
from(linkWasmTasks.linkWasmWithES6!!) { from(linkWasmTasks.linkWasmWithES6!!) {
include("*.mjs") include("*.mjs")
} }
from(skikoTestMjs)
dependsOn(test.compileTaskProvider)
} }
setupImportsGeneratorPlugin()
} }
} }
...@@ -224,6 +235,10 @@ kotlin { ...@@ -224,6 +235,10 @@ kotlin {
} }
val wasmJsTest by getting { val wasmJsTest by getting {
dependsOn(jsWasmTest) dependsOn(jsWasmTest)
dependencies {
implementation(kotlin("test-wasm-js"))
}
} }
} }
} }
...@@ -554,4 +569,4 @@ tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinNativeCompile>().configur ...@@ -554,4 +569,4 @@ tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinNativeCompile>().configur
tasks.withType<org.jetbrains.kotlin.gradle.dsl.KotlinCompile<*>>().configureEach { tasks.withType<org.jetbrains.kotlin.gradle.dsl.KotlinCompile<*>>().configureEach {
kotlinOptions.freeCompilerArgs += "-Xexpect-actual-classes" kotlinOptions.freeCompilerArgs += "-Xexpect-actual-classes"
} }
\ No newline at end of file
...@@ -5,11 +5,13 @@ import org.gradle.api.provider.Provider ...@@ -5,11 +5,13 @@ import org.gradle.api.provider.Provider
import org.gradle.api.tasks.Copy import org.gradle.api.tasks.Copy
import org.gradle.api.tasks.TaskProvider import org.gradle.api.tasks.TaskProvider
import org.gradle.api.tasks.bundling.Jar import org.gradle.api.tasks.bundling.Jar
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
import java.io.File import java.io.File
class SkikoProjectContext( class SkikoProjectContext(
val project: Project, val project: Project,
val skiko: SkikoProperties, val skiko: SkikoProperties,
val kotlin: KotlinMultiplatformExtension,
val windowsSdkPathProvider: () -> WindowsSdkPaths, val windowsSdkPathProvider: () -> WindowsSdkPaths,
val createChecksumsTask: (OS, Arch, Provider<File>) -> TaskProvider<*> val createChecksumsTask: (OS, Arch, Provider<File>) -> TaskProvider<*>
) { ) {
......
import org.gradle.api.Project
val Project.wasmImports
get() = buildDir.resolve("imports")
val Project.setupMjs
get() = wasmImports.resolve("setup.mjs")
val Project.skikoTestMjs
get() = wasmImports.resolve("skiko-test.mjs")
const val IMPORT_GENERATOR = "import-generator"
\ No newline at end of file
...@@ -2,20 +2,29 @@ package tasks.configuration ...@@ -2,20 +2,29 @@ package tasks.configuration
import Arch import Arch
import CompileSkikoCppTask import CompileSkikoCppTask
import IMPORT_GENERATOR
import LinkSkikoWasmTask import LinkSkikoWasmTask
import OS import OS
import SkikoProjectContext import SkikoProjectContext
import compilerForTarget import compilerForTarget
import linkerForTarget import linkerForTarget
import org.gradle.api.Project
import org.gradle.api.provider.Provider
import org.gradle.api.tasks.TaskProvider import org.gradle.api.tasks.TaskProvider
import org.gradle.api.tasks.bundling.Jar import org.gradle.api.tasks.bundling.Jar
import org.gradle.kotlin.dsl.getValue import org.gradle.kotlin.dsl.getValue
import org.gradle.kotlin.dsl.getting
import org.gradle.kotlin.dsl.provideDelegate import org.gradle.kotlin.dsl.provideDelegate
import org.gradle.kotlin.dsl.registering import org.gradle.kotlin.dsl.registering
import org.jetbrains.kotlin.gradle.plugin.*
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinWasmJsTargetDsl
import projectDirs import projectDirs
import registerOrGetSkiaDirProvider import registerOrGetSkiaDirProvider
import setupMjs
import skikoTestMjs
import supportJs import supportJs
import supportWasm import supportWasm
import java.io.File
data class LinkWasmTasks( data class LinkWasmTasks(
val linkWasm: TaskProvider<LinkSkikoWasmTask>?, val linkWasm: TaskProvider<LinkSkikoWasmTask>?,
...@@ -56,7 +65,7 @@ fun SkikoProjectContext.createWasmLinkTasks(): LinkWasmTasks = with(this.project ...@@ -56,7 +65,7 @@ fun SkikoProjectContext.createWasmLinkTasks(): LinkWasmTasks = with(this.project
) )
} }
val configureCommon: LinkSkikoWasmTask.(outputES6: Boolean) -> Unit = { outputES6 -> val configureCommon: LinkSkikoWasmTask.(outputES6: Boolean, prefixPath: String) -> Unit = { outputES6, prefixPath ->
val osArch = OS.Wasm to Arch.Wasm val osArch = OS.Wasm to Arch.Wasm
dependsOn(compileWasm) dependsOn(compileWasm)
...@@ -74,7 +83,6 @@ fun SkikoProjectContext.createWasmLinkTasks(): LinkWasmTasks = with(this.project ...@@ -74,7 +83,6 @@ fun SkikoProjectContext.createWasmLinkTasks(): LinkWasmTasks = with(this.project
include("**/*.o") include("**/*.o")
} }
val jsFileExtension = if (outputES6) "mjs" else "js"
val wasmFileName = if (outputES6) { val wasmFileName = if (outputES6) {
"skikomjs.wasm" "skikomjs.wasm"
} else { } else {
...@@ -91,7 +99,7 @@ fun SkikoProjectContext.createWasmLinkTasks(): LinkWasmTasks = with(this.project ...@@ -91,7 +99,7 @@ fun SkikoProjectContext.createWasmLinkTasks(): LinkWasmTasks = with(this.project
skikoJsPrefix.from( skikoJsPrefix.from(
// the order matters // the order matters
project.layout.projectDirectory.file("src/jsWasmMain/resources/skikoCallbacks.js"), project.layout.projectDirectory.file("src/jsWasmMain/resources/skikoCallbacks.js"),
project.layout.projectDirectory.file("src/jsWasmMain/resources/setup.$jsFileExtension") project.layout.projectDirectory.file(prefixPath)
) )
@OptIn(kotlin.ExperimentalStdlibApi::class) @OptIn(kotlin.ExperimentalStdlibApi::class)
...@@ -147,12 +155,15 @@ fun SkikoProjectContext.createWasmLinkTasks(): LinkWasmTasks = with(this.project ...@@ -147,12 +155,15 @@ fun SkikoProjectContext.createWasmLinkTasks(): LinkWasmTasks = with(this.project
} }
val linkWasmWithES6 by tasks.registering(LinkSkikoWasmTask::class) { val linkWasmWithES6 by tasks.registering(LinkSkikoWasmTask::class) {
configureCommon(true) val wasmJsTarget = kotlin.wasmJs()
val main by wasmJsTarget.compilations
dependsOn(main.compileTaskProvider)
configureCommon(true, setupMjs.normalize().absolutePath)
} }
val linkWasm by tasks.registering(LinkSkikoWasmTask::class) { val linkWasm by tasks.registering(LinkSkikoWasmTask::class) {
dependsOn(linkWasmWithES6) dependsOn(linkWasmWithES6)
configureCommon(false) configureCommon(false, "src/jsWasmMain/resources/setup.js")
} }
// skikoWasmJar is used by task name // skikoWasmJar is used by task name
...@@ -178,4 +189,68 @@ fun SkikoProjectContext.createWasmLinkTasks(): LinkWasmTasks = with(this.project ...@@ -178,4 +189,68 @@ fun SkikoProjectContext.createWasmLinkTasks(): LinkWasmTasks = with(this.project
} }
return LinkWasmTasks(linkWasm, linkWasmWithES6) return LinkWasmTasks(linkWasm, linkWasmWithES6)
}
abstract class AbstractImportGeneratorCompilerPluginSupportPlugin(
val compilationName: String,
val outputFileProvider: (Project) -> File,
val prefixFileProvider: (Project) -> File
) : KotlinCompilerPluginSupportPlugin {
override fun applyToCompilation(kotlinCompilation: KotlinCompilation<*>): Provider<List<SubpluginOption>> {
val project = kotlinCompilation.target.project
val outputFile = outputFileProvider(project)
val prefixFile = prefixFileProvider(project)
return project.provider {
listOf(
SubpluginOption("import-generator-path", outputFile.normalize().absolutePath),
SubpluginOption("import-generator-prefix", prefixFile.normalize().absolutePath)
)
}
}
override fun getCompilerPluginId() = "org.jetbrains.skiko.imports.generator"
override fun getPluginArtifact(): SubpluginArtifact =
SubpluginArtifact(SkikoArtifacts.groupId, IMPORT_GENERATOR)
override fun isApplicable(kotlinCompilation: KotlinCompilation<*>): Boolean {
return kotlinCompilation.platformType == KotlinPlatformType.wasm
&& kotlinCompilation.name == compilationName
}
}
class WasmImportsGeneratorCompilerPluginSupportPlugin : AbstractImportGeneratorCompilerPluginSupportPlugin(
KotlinCompilation.MAIN_COMPILATION_NAME,
{ it.setupMjs },
{ it.projectDir.resolve("src/jsWasmMain/resources/pre-setup.mjs") }
)
class WasmImportsGeneratorForTestCompilerPluginSupportPlugin : AbstractImportGeneratorCompilerPluginSupportPlugin(
KotlinCompilation.TEST_COMPILATION_NAME,
{ it.skikoTestMjs },
{ it.projectDir.resolve("src/jsWasmMain/resources/pre-skiko-test.mjs") }
)
fun KotlinWasmJsTargetDsl.setupImportsGeneratorPlugin() {
val main by compilations.getting
val test by compilations.getting
main.compileTaskProvider.configure {
outputs.file(project.setupMjs)
}
test.compileTaskProvider.configure {
outputs.file(project.skikoTestMjs)
}
listOf(main, test).forEach {
// By default, it will try to use the same version as kotlin, because we use version=null in getPluginArtifact.
// But we don't publish the artifact, therefore we substitute it for project dependency.
it.configurations.pluginConfiguration.resolutionStrategy.dependencySubstitution {
substitute(module("${SkikoArtifacts.groupId}:$IMPORT_GENERATOR"))
.using(project(":import-generator"))
}
}
} }
\ No newline at end of file
val kspVersion: String by project
plugins {
kotlin("multiplatform")
}
repositories {
mavenCentral()
}
kotlin {
jvm()
sourceSets {
val jvmMain by getting {
dependencies {
compileOnly(kotlin("compiler-embeddable"))
}
}
}
}
\ No newline at end of file
package org.jetbrains.skiko
import org.jetbrains.kotlin.compiler.plugin.*
import org.jetbrains.kotlin.config.CompilerConfiguration
import org.jetbrains.skiko.ImportGeneratorConfigurationKeys.PATH
import org.jetbrains.skiko.ImportGeneratorConfigurationKeys.PREFIX
@OptIn(ExperimentalCompilerApi::class)
class ImportGeneratorCommandLineProcessor : CommandLineProcessor {
override val pluginId = "org.jetbrains.skiko.imports.generator"
override val pluginOptions = listOf(PATH_OPTION, PREFIX_OPTION)
override fun processOption(option: AbstractCliOption, value: String, configuration: CompilerConfiguration) =
when (option) {
PATH_OPTION -> configuration.put(PATH, value)
PREFIX_OPTION -> configuration.put(PREFIX, value)
else -> throw CliOptionProcessingException("Unknown option: ${option.optionName}")
}
companion object {
val PATH_OPTION = CliOption(
PATH_OPTION_NAME, "<path>",
"path",
required = true, allowMultipleOccurrences = false
)
val PREFIX_OPTION = CliOption(
PREFIX_OPTION_NAME, "<path>",
"prefix",
required = false, allowMultipleOccurrences = false
)
}
}
\ No newline at end of file
package org.jetbrains.skiko
import org.jetbrains.kotlin.config.CompilerConfigurationKey
object ImportGeneratorConfigurationKeys {
val PATH: CompilerConfigurationKey<String> = CompilerConfigurationKey.create(
PATH_OPTION_NAME
)
val PREFIX: CompilerConfigurationKey<String> = CompilerConfigurationKey.create(
PREFIX_OPTION_NAME
)
}
\ No newline at end of file
package org.jetbrains.skiko
import org.jetbrains.kotlin.backend.common.extensions.IrGenerationExtension
import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext
import org.jetbrains.kotlin.ir.declarations.IrModuleFragment
import java.io.File
internal class ImportGeneratorExtension(
private val path: String,
private val prefix: String?
) : IrGenerationExtension {
override fun generate(
moduleFragment: IrModuleFragment,
pluginContext: IrPluginContext,
) {
val outputFile = File(path)
outputFile.parentFile.mkdirs()
val prefixFile = prefix?.let { File(it) }
outputFile.writer().use { writer ->
prefixFile?.let { writer.appendLine(it.readText()) }
writer.appendLine("export const {")
moduleFragment.transformChildren(ImportGeneratorTransformer(), writer)
writer.appendLine("} = loadedWasm.wasmExports;")
}
}
}
\ No newline at end of file
package org.jetbrains.skiko
import org.jetbrains.kotlin.backend.common.extensions.IrGenerationExtension
import org.jetbrains.kotlin.compiler.plugin.CompilerPluginRegistrar
import org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi
import org.jetbrains.kotlin.config.CompilerConfiguration
@OptIn(ExperimentalCompilerApi::class)
class ImportGeneratorRegistrar : CompilerPluginRegistrar() {
override val supportsK2: Boolean = true
override fun ExtensionStorage.registerExtensions(
configuration: CompilerConfiguration,
) {
IrGenerationExtension.registerExtension(
ImportGeneratorExtension(
configuration.get(ImportGeneratorConfigurationKeys.PATH)!!,
configuration.get(ImportGeneratorConfigurationKeys.PREFIX)
)
)
}
}
\ No newline at end of file
package org.jetbrains.skiko
import org.jetbrains.kotlin.ir.IrStatement
import org.jetbrains.kotlin.ir.declarations.IrFunction
import org.jetbrains.kotlin.ir.expressions.IrConst
import org.jetbrains.kotlin.ir.util.getAnnotation
import org.jetbrains.kotlin.ir.util.getValueArgument
import org.jetbrains.kotlin.ir.visitors.IrElementTransformer
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.Name
import java.io.OutputStreamWriter
internal class ImportGeneratorTransformer : IrElementTransformer<OutputStreamWriter> {
override fun visitFunction(declaration: IrFunction, data: OutputStreamWriter): IrStatement {
return super.visitFunction(declaration, data).apply {
val wasmImportAnnotation = declaration.getAnnotation(FqName("kotlin.wasm.WasmImport"))
?: return@apply
@Suppress("UNCHECKED_CAST")
val const = wasmImportAnnotation.getValueArgument(Name.identifier("name")) as IrConst<String>
data.appendLine(" ${const.value},")
}
}
}
\ No newline at end of file
package org.jetbrains.skiko
const val PATH_OPTION_NAME = "import-generator-path"
const val PREFIX_OPTION_NAME = "import-generator-prefix"
\ No newline at end of file
org.jetbrains.skiko.ImportGeneratorCommandLineProcessor
\ No newline at end of file
...@@ -23,3 +23,4 @@ pluginManagement { ...@@ -23,3 +23,4 @@ pluginManagement {
} }
rootProject.name = "skiko" rootProject.name = "skiko"
include("ci") include("ci")
include("import-generator")
...@@ -80,57 +80,57 @@ class TestHelpers { ...@@ -80,57 +80,57 @@ class TestHelpers {
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE") // See KT-44014 @Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE") // See KT-44014
@ExternalSymbolName("org_jetbrains_skiko_tests_TestHelpers__1nFillByteArrayOf5") @ExternalSymbolName("org_jetbrains_skiko_tests_TestHelpers__1nFillByteArrayOf5")
@ModuleImport("./skiko.mjs", "org_jetbrains_skiko_tests_TestHelpers__1nFillByteArrayOf5") @ModuleImport("./skiko-test.mjs", "org_jetbrains_skiko_tests_TestHelpers__1nFillByteArrayOf5")
private external fun _nFillByteArrayOf5(interopPointer: InteropPointer) private external fun _nFillByteArrayOf5(interopPointer: InteropPointer)
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE") // See KT-44014 @Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE") // See KT-44014
@ExternalSymbolName("org_jetbrains_skiko_tests_TestHelpers__1nFillFloatArrayOf5") @ExternalSymbolName("org_jetbrains_skiko_tests_TestHelpers__1nFillFloatArrayOf5")
@ModuleImport("./skiko.mjs", "org_jetbrains_skiko_tests_TestHelpers__1nFillFloatArrayOf5") @ModuleImport("./skiko-test.mjs", "org_jetbrains_skiko_tests_TestHelpers__1nFillFloatArrayOf5")
private external fun _nFillFloatArrayOf5(interopPointer: InteropPointer) private external fun _nFillFloatArrayOf5(interopPointer: InteropPointer)
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE") // See KT-44014 @Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE") // See KT-44014
@ExternalSymbolName("org_jetbrains_skiko_tests_TestHelpers__1nFillShortArrayOf5") @ExternalSymbolName("org_jetbrains_skiko_tests_TestHelpers__1nFillShortArrayOf5")
@ModuleImport("./skiko.mjs", "org_jetbrains_skiko_tests_TestHelpers__1nFillShortArrayOf5") @ModuleImport("./skiko-test.mjs", "org_jetbrains_skiko_tests_TestHelpers__1nFillShortArrayOf5")
private external fun _nFillShortArrayOf5(interopPointer: InteropPointer) private external fun _nFillShortArrayOf5(interopPointer: InteropPointer)
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE") // See KT-44014 @Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE") // See KT-44014
@ExternalSymbolName("org_jetbrains_skiko_tests_TestHelpers__1nFillIntArrayOf5") @ExternalSymbolName("org_jetbrains_skiko_tests_TestHelpers__1nFillIntArrayOf5")
@ModuleImport("./skiko.mjs", "org_jetbrains_skiko_tests_TestHelpers__1nFillIntArrayOf5") @ModuleImport("./skiko-test.mjs", "org_jetbrains_skiko_tests_TestHelpers__1nFillIntArrayOf5")
private external fun _nFillIntArrayOf5(interopPointer: InteropPointer) private external fun _nFillIntArrayOf5(interopPointer: InteropPointer)
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE") // See KT-44014 @Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE") // See KT-44014
@ExternalSymbolName("org_jetbrains_skiko_tests_TestHelpers__1nFillDoubleArrayOf5") @ExternalSymbolName("org_jetbrains_skiko_tests_TestHelpers__1nFillDoubleArrayOf5")
@ModuleImport("./skiko.mjs", "org_jetbrains_skiko_tests_TestHelpers__1nFillDoubleArrayOf5") @ModuleImport("./skiko-test.mjs", "org_jetbrains_skiko_tests_TestHelpers__1nFillDoubleArrayOf5")
private external fun _nFillDoubleArrayOf5(interopPointer: InteropPointer) private external fun _nFillDoubleArrayOf5(interopPointer: InteropPointer)
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE") // See KT-44014 @Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE") // See KT-44014
@ExternalSymbolName("org_jetbrains_skiko_tests_TestHelpers__1nWriteArraysOfInts") @ExternalSymbolName("org_jetbrains_skiko_tests_TestHelpers__1nWriteArraysOfInts")
@ModuleImport("./skiko.mjs", "org_jetbrains_skiko_tests_TestHelpers__1nWriteArraysOfInts") @ModuleImport("./skiko-test.mjs", "org_jetbrains_skiko_tests_TestHelpers__1nWriteArraysOfInts")
private external fun _nWriteArraysOfInts(interopPointer: InteropPointer): NativePointer private external fun _nWriteArraysOfInts(interopPointer: InteropPointer): NativePointer
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE") // See KT-44014 @Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE") // See KT-44014
@ExternalSymbolName("org_jetbrains_skiko_tests_TestHelpers__nStringByIndex") @ExternalSymbolName("org_jetbrains_skiko_tests_TestHelpers__nStringByIndex")
@ModuleImport("./skiko.mjs", "org_jetbrains_skiko_tests_TestHelpers__nStringByIndex") @ModuleImport("./skiko-test.mjs", "org_jetbrains_skiko_tests_TestHelpers__nStringByIndex")
private external fun _nStringByIndex(index: Int): NativePointer private external fun _nStringByIndex(index: Int): NativePointer
internal fun nativeStringByIndex(index: Int): NativePointer = _nStringByIndex(index) internal fun nativeStringByIndex(index: Int): NativePointer = _nStringByIndex(index)
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE") // See KT-44014 @Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE") // See KT-44014
@ExternalSymbolName("org_jetbrains_skiko_tests_TestHelpers__1nCreateTestGlContext") @ExternalSymbolName("org_jetbrains_skiko_tests_TestHelpers__1nCreateTestGlContext")
@ModuleImport("./skiko.mjs", "org_jetbrains_skiko_tests_TestHelpers__1nCreateTestGlContext") @ModuleImport("./skiko-test.mjs", "org_jetbrains_skiko_tests_TestHelpers__1nCreateTestGlContext")
private external fun TestGlContext_nCreate(): NativePointer private external fun TestGlContext_nCreate(): NativePointer
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE") // See KT-44014 @Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE") // See KT-44014
@ExternalSymbolName("org_jetbrains_skiko_tests_TestHelpers__1nGlContextGetFinalizer") @ExternalSymbolName("org_jetbrains_skiko_tests_TestHelpers__1nGlContextGetFinalizer")
@ModuleImport("./skiko.mjs", "org_jetbrains_skiko_tests_TestHelpers__1nGlContextGetFinalizer") @ModuleImport("./skiko-test.mjs", "org_jetbrains_skiko_tests_TestHelpers__1nGlContextGetFinalizer")
private external fun TestGlContext_nGetFinalizer(): NativePointer private external fun TestGlContext_nGetFinalizer(): NativePointer
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE") // See KT-44014 @Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE") // See KT-44014
@ExternalSymbolName("org_jetbrains_skiko_tests_TestHelpers__1nMakeGlContextCurrent") @ExternalSymbolName("org_jetbrains_skiko_tests_TestHelpers__1nMakeGlContextCurrent")
@ModuleImport("./skiko.mjs", "org_jetbrains_skiko_tests_TestHelpers__1nMakeGlContextCurrent") @ModuleImport("./skiko-test.mjs", "org_jetbrains_skiko_tests_TestHelpers__1nMakeGlContextCurrent")
private external fun TestGlContext_nMakeCurrent(ptr: NativePointer) private external fun TestGlContext_nMakeCurrent(ptr: NativePointer)
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE") // See KT-44014 @Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE") // See KT-44014
@ExternalSymbolName("org_jetbrains_skiko_tests_TestHelpers__1nGlContextSwapBuffers") @ExternalSymbolName("org_jetbrains_skiko_tests_TestHelpers__1nGlContextSwapBuffers")
@ModuleImport("./skiko.mjs", "org_jetbrains_skiko_tests_TestHelpers__1nGlContextSwapBuffers") @ModuleImport("./skiko-test.mjs", "org_jetbrains_skiko_tests_TestHelpers__1nGlContextSwapBuffers")
private external fun TestGlContext_nSwapBuffers(ptr: NativePointer) private external fun TestGlContext_nSwapBuffers(ptr: NativePointer)
// This file is merged with skiko.mjs by emcc")
export const {
_callCallback,
_registerCallback,
_releaseCallback,
_createLocalCallbackScope,
_releaseLocalCallbackScope
} = SkikoCallbacks;
export const loadedWasm = await loadSkikoWASM();
export const { GL } = loadedWasm;
\ No newline at end of file
import { loadedWasm } from "./skiko.mjs";
\ No newline at end of file
// This file is merged with skiko.mjs by emcc
export const { _callCallback, _registerCallback, _releaseCallback, _createLocalCallbackScope, _releaseLocalCallbackScope } = SkikoCallbacks;
const loadedWasm = await loadSkikoWASM()
export const { GL } = loadedWasm;
export const {
BackendRenderTarget_MakeDirect3D,
org_jetbrains_skia_BackendRenderTarget__1nMakeGL,
BackendRenderTarget_nMakeMetal,
org_jetbrains_skia_BackendRenderTarget__1nGetFinalizer,
org_jetbrains_skia_Bitmap__1nAllocPixels,
org_jetbrains_skia_Bitmap__1nAllocPixelsFlags,
org_jetbrains_skia_Bitmap__1nAllocPixelsRowBytes,
org_jetbrains_skia_Bitmap__1nComputeByteSize,
org_jetbrains_skia_Bitmap__1nComputeIsOpaque,
org_jetbrains_skia_Bitmap__1nErase,
org_jetbrains_skia_Bitmap__1nEraseColor,
org_jetbrains_skia_Bitmap__1nExtractAlpha,
org_jetbrains_skia_Bitmap__1nExtractSubset,
org_jetbrains_skia_Bitmap__1nGetAlphaf,
org_jetbrains_skia_Bitmap__1nGetGenerationId,
org_jetbrains_skia_Bitmap__1nGetImageInfo,
org_jetbrains_skia_Bitmap__1nGetPixelRef,
org_jetbrains_skia_Bitmap__1nGetPixelRefOriginX,
org_jetbrains_skia_Bitmap__1nGetPixelRefOriginY,
org_jetbrains_skia_Bitmap__1nGetPixmap,
org_jetbrains_skia_Bitmap__1nGetRowBytes,
org_jetbrains_skia_Bitmap__1nGetRowBytesAsPixels,
org_jetbrains_skia_Bitmap__1nInstallPixels,
org_jetbrains_skia_Bitmap__1nIsImmutable,
org_jetbrains_skia_Bitmap__1nIsNull,
org_jetbrains_skia_Bitmap__1nIsReadyToDraw,
org_jetbrains_skia_Bitmap__1nIsVolatile,
org_jetbrains_skia_Bitmap__1nMake,
org_jetbrains_skia_Bitmap__1nMakeClone,
org_jetbrains_skia_Bitmap__1nMakeShader,
org_jetbrains_skia_Bitmap__1nNotifyPixelsChanged,
org_jetbrains_skia_Bitmap__1nPeekPixels,
org_jetbrains_skia_Bitmap__1nReadPixels,
org_jetbrains_skia_Bitmap__1nReset,
org_jetbrains_skia_Bitmap__1nSetAlphaType,
org_jetbrains_skia_Bitmap__1nSetImageInfo,
org_jetbrains_skia_Bitmap__1nSetImmutable,
org_jetbrains_skia_Bitmap__1nSetPixelRef,
org_jetbrains_skia_Bitmap__1nSetVolatile,
org_jetbrains_skia_Bitmap__1nSwap,
org_jetbrains_skia_Bitmap__1nGetColor,
org_jetbrains_skia_Bitmap__1nGetFinalizer,
org_jetbrains_skia_BreakIterator__1nClone,
org_jetbrains_skia_BreakIterator__1nCurrent,
org_jetbrains_skia_BreakIterator__1nFirst,
org_jetbrains_skia_BreakIterator__1nFollowing,
org_jetbrains_skia_BreakIterator__1nGetRuleStatus,
org_jetbrains_skia_BreakIterator__1nGetRuleStatuses,
org_jetbrains_skia_BreakIterator__1nGetRuleStatusesLen,
org_jetbrains_skia_BreakIterator__1nIsBoundary,
org_jetbrains_skia_BreakIterator__1nLast,
org_jetbrains_skia_BreakIterator__1nMake,
org_jetbrains_skia_BreakIterator__1nNext,
org_jetbrains_skia_BreakIterator__1nPreceding,
org_jetbrains_skia_BreakIterator__1nPrevious,
org_jetbrains_skia_BreakIterator__1nSetText,
org_jetbrains_skia_BreakIterator__1nGetFinalizer,
org_jetbrains_skia_Canvas__1nClear,
org_jetbrains_skia_Canvas__1nClipPath,
org_jetbrains_skia_Canvas__1nClipRect,
org_jetbrains_skia_Canvas__1nClipRegion,
org_jetbrains_skia_Canvas__1nClipRRect,
org_jetbrains_skia_Canvas__1nConcat,
org_jetbrains_skia_Canvas__1nConcat44,
org_jetbrains_skia_Canvas__1nDrawArc,
org_jetbrains_skia_Canvas__1nDrawDrawable,
org_jetbrains_skia_Canvas__1nDrawDRRect,
org_jetbrains_skia_Canvas__1nDrawImageNine,
org_jetbrains_skia_Canvas__1nDrawImageRect,
org_jetbrains_skia_Canvas__1nDrawLine,
org_jetbrains_skia_Canvas__1nDrawOval,
org_jetbrains_skia_Canvas__1nDrawPaint,
org_jetbrains_skia_Canvas__1nDrawPatch,
org_jetbrains_skia_Canvas__1nDrawPath,
org_jetbrains_skia_Canvas__1nDrawPicture,
org_jetbrains_skia_Canvas__1nDrawPoint,
org_jetbrains_skia_Canvas__1nDrawPoints,
org_jetbrains_skia_Canvas__1nDrawRect,
org_jetbrains_skia_Canvas__1nDrawRegion,
org_jetbrains_skia_Canvas__1nDrawRRect,
org_jetbrains_skia_Canvas__1nDrawString,
org_jetbrains_skia_Canvas__1nDrawTextBlob,
org_jetbrains_skia_Canvas__1nDrawVertices,
org_jetbrains_skia_Canvas__1nGetLocalToDevice,
org_jetbrains_skia_Canvas__1nGetSaveCount,
org_jetbrains_skia_Canvas__1nMakeFromBitmap,
org_jetbrains_skia_Canvas__1nReadPixels,
org_jetbrains_skia_Canvas__1nResetMatrix,
org_jetbrains_skia_Canvas__1nRestore,
org_jetbrains_skia_Canvas__1nRestoreToCount,
org_jetbrains_skia_Canvas__1nRotate,
org_jetbrains_skia_Canvas__1nSave,
org_jetbrains_skia_Canvas__1nSaveLayer,
org_jetbrains_skia_Canvas__1nSaveLayerRect,
org_jetbrains_skia_Canvas__1nScale,
org_jetbrains_skia_Canvas__1nSetMatrix,
org_jetbrains_skia_Canvas__1nSkew,
org_jetbrains_skia_Canvas__1nTranslate,
org_jetbrains_skia_Canvas__1nWritePixels,
org_jetbrains_skia_Canvas__1nGetFinalizer,
org_jetbrains_skia_Codec__1nGetEncodedImageFormat,
org_jetbrains_skia_Codec__1nGetEncodedOrigin,
org_jetbrains_skia_Codec__1nGetFrameCount,
org_jetbrains_skia_Codec__1nGetFrameInfo,
org_jetbrains_skia_Codec__1nGetFramesInfo,
org_jetbrains_skia_Codec__1nGetRepetitionCount,
org_jetbrains_skia_Codec__1nGetSizeHeight,
org_jetbrains_skia_Codec__1nGetSizeWidth,
org_jetbrains_skia_Codec__1nMakeFromData,
org_jetbrains_skia_Codec__1nGetFinalizer,
org_jetbrains_skia_Codec__1nGetImageInfo,
org_jetbrains_skia_Codec__1nReadPixels,
org_jetbrains_skia_Codec__1nFramesInfo_Delete,
org_jetbrains_skia_Codec__1nFramesInfo_GetInfos,
org_jetbrains_skia_Codec__1nFramesInfo_GetSize,
org_jetbrains_skia_ColorFilter__1nGetLinearToSRGBGamma,
org_jetbrains_skia_ColorFilter__1nGetLuma,
org_jetbrains_skia_ColorFilter__1nGetSRGBToLinearGamma,
org_jetbrains_skia_ColorFilter__1nMakeBlend,
org_jetbrains_skia_ColorFilter__1nMakeComposed,
org_jetbrains_skia_ColorFilter__1nMakeHighContrast,
org_jetbrains_skia_ColorFilter__1nMakeHSLAMatrix,
org_jetbrains_skia_ColorFilter__1nMakeLerp,
org_jetbrains_skia_ColorFilter__1nMakeLighting,
org_jetbrains_skia_ColorFilter__1nMakeMatrix,
org_jetbrains_skia_ColorFilter__1nMakeOverdraw,
org_jetbrains_skia_ColorFilter__1nMakeTable,
org_jetbrains_skia_ColorFilter__1nMakeTableARGB,
org_jetbrains_skia_ColorSpace__nConvert,
org_jetbrains_skia_ColorSpace__1nIsGammaCloseToSRGB,
org_jetbrains_skia_ColorSpace__1nIsGammaLinear,
org_jetbrains_skia_ColorSpace__1nIsSRGB,
org_jetbrains_skia_ColorSpace__1nMakeDisplayP3,
org_jetbrains_skia_ColorSpace__1nMakeSRGB,
org_jetbrains_skia_ColorSpace__1nMakeSRGBLinear,
org_jetbrains_skia_ColorSpace__1nGetFinalizer,
org_jetbrains_skia_ColorType__1nIsAlwaysOpaque,
org_jetbrains_skia_Data__1nBytes,
org_jetbrains_skia_Data__1nEquals,
org_jetbrains_skia_Data__1nMakeEmpty,
org_jetbrains_skia_Data__1nMakeFromBytes,
org_jetbrains_skia_Data__1nMakeFromFileName,
org_jetbrains_skia_Data__1nMakeSubset,
org_jetbrains_skia_Data__1nMakeUninitialized,
org_jetbrains_skia_Data__1nMakeWithoutCopy,
org_jetbrains_skia_Data__1nSize,
org_jetbrains_skia_Data__1nWritableData,
org_jetbrains_skia_Data__1nGetFinalizer,
org_jetbrains_skia_DirectContext__1nAbandon,
org_jetbrains_skia_DirectContext__1nMakeDirect3D,
org_jetbrains_skia_DirectContext__1nMakeGL,
org_jetbrains_skia_DirectContext__1nMakeMetal,
org_jetbrains_skia_DirectContext__1nReset,
org_jetbrains_skia_DirectContext__1nSubmit,
org_jetbrains_skia_DirectContext__1nFlush,
org_jetbrains_skia_Drawable__1nDraw,
org_jetbrains_skia_Drawable__1nGetOnDrawCanvas,
org_jetbrains_skia_Drawable__1nMakePictureSnapshot,
org_jetbrains_skia_Drawable__1nNotifyDrawingChanged,
org_jetbrains_skia_Drawable__1nSetBounds,
org_jetbrains_skia_Drawable__1nGetBounds,
org_jetbrains_skia_Drawable__1nGetFinalizer,
org_jetbrains_skia_Drawable__1nGetGenerationId,
org_jetbrains_skia_Drawable__1nInit,
org_jetbrains_skia_Drawable__1nMake,
org_jetbrains_skia_Font__1nAreBitmapsEmbedded,
org_jetbrains_skia_Font__1nAreMetricsLinear,
org_jetbrains_skia_Font__1nGetBounds,
org_jetbrains_skia_Font__1nGetEdging,
org_jetbrains_skia_Font__1nGetHinting,
org_jetbrains_skia_Font__1nGetMetrics,
org_jetbrains_skia_Font__1nGetPath,
org_jetbrains_skia_Font__1nGetPaths,
org_jetbrains_skia_Font__1nGetPositions,
org_jetbrains_skia_Font__1nGetScaleX,
org_jetbrains_skia_Font__1nGetSkewX,
org_jetbrains_skia_Font__1nGetSpacing,
org_jetbrains_skia_Font__1nGetStringGlyphsCount,
org_jetbrains_skia_Font__1nGetTypeface,
org_jetbrains_skia_Font__1nGetTypefaceOrDefault,
org_jetbrains_skia_Font__1nGetUTF32Glyph,
org_jetbrains_skia_Font__1nGetUTF32Glyphs,
org_jetbrains_skia_Font__1nGetWidths,
org_jetbrains_skia_Font__1nGetXPositions,
org_jetbrains_skia_Font__1nIsAutoHintingForced,
org_jetbrains_skia_Font__1nIsBaselineSnapped,
org_jetbrains_skia_Font__1nIsEmboldened,
org_jetbrains_skia_Font__1nIsSubpixel,
org_jetbrains_skia_Font__1nMakeDefault,
org_jetbrains_skia_Font__1nMakeTypeface,
org_jetbrains_skia_Font__1nMakeTypefaceSize,
org_jetbrains_skia_Font__1nMakeTypefaceSizeScaleSkew,
org_jetbrains_skia_Font__1nMeasureText,
org_jetbrains_skia_Font__1nMeasureTextWidth,
org_jetbrains_skia_Font__1nSetAutoHintingForced,
org_jetbrains_skia_Font__1nSetBaselineSnapped,
org_jetbrains_skia_Font__1nSetBitmapsEmbedded,
org_jetbrains_skia_Font__1nSetEdging,
org_jetbrains_skia_Font__1nSetEmboldened,
org_jetbrains_skia_Font__1nSetHinting,
org_jetbrains_skia_Font__1nSetMetricsLinear,
org_jetbrains_skia_Font__1nSetScaleX,
org_jetbrains_skia_Font__1nSetSize,
org_jetbrains_skia_Font__1nSetSkewX,
org_jetbrains_skia_Font__1nSetSubpixel,
org_jetbrains_skia_Font__1nSetTypeface,
org_jetbrains_skia_Font__1nEquals,
org_jetbrains_skia_Font__1nGetFinalizer,
org_jetbrains_skia_Font__1nGetSize,
org_jetbrains_skia_Font__1nMakeClone,
org_jetbrains_skia_FontMgr__1nDefault,
org_jetbrains_skia_FontMgr__1nGetFamiliesCount,
org_jetbrains_skia_FontMgr__1nGetFamilyName,
org_jetbrains_skia_FontMgr__1nMakeFromData,
org_jetbrains_skia_FontMgr__1nMakeStyleSet,
org_jetbrains_skia_FontMgr__1nMatchFamily,
org_jetbrains_skia_FontMgr__1nMatchFamilyStyle,
org_jetbrains_skia_FontMgr__1nMatchFamilyStyleCharacter,
org_jetbrains_skia_FontStyleSet__1nCount,
org_jetbrains_skia_FontStyleSet__1nGetStyle,
org_jetbrains_skia_FontStyleSet__1nGetStyleName,
org_jetbrains_skia_FontStyleSet__1nGetTypeface,
org_jetbrains_skia_FontStyleSet__1nMatchStyle,
org_jetbrains_skia_FontStyleSet__1nMakeEmpty,
org_jetbrains_skia_GraphicsKt__1nGetFontCacheCountLimit,
org_jetbrains_skia_GraphicsKt__1nGetFontCacheCountUsed,
org_jetbrains_skia_GraphicsKt__1nGetFontCacheLimit,
org_jetbrains_skia_GraphicsKt__1nGetFontCacheUsed,
org_jetbrains_skia_GraphicsKt__1nGetResourceCacheSingleAllocationByteLimit,
org_jetbrains_skia_GraphicsKt__1nGetResourceCacheTotalByteLimit,
org_jetbrains_skia_GraphicsKt__1nGetResourceCacheTotalBytesUsed,
org_jetbrains_skia_GraphicsKt__1nPurgeAllCaches,
org_jetbrains_skia_GraphicsKt__1nPurgeFontCache,
org_jetbrains_skia_GraphicsKt__1nPurgeResourceCache,
org_jetbrains_skia_GraphicsKt__1nSetFontCacheCountLimit,
org_jetbrains_skia_GraphicsKt__1nSetFontCacheLimit,
org_jetbrains_skia_GraphicsKt__1nSetResourceCacheSingleAllocationByteLimit,
org_jetbrains_skia_GraphicsKt__1nSetResourceCacheTotalByteLimit,
org_jetbrains_skia_Image__1nEncodeToData,
org_jetbrains_skia_Image__1nMakeFromBitmap,
org_jetbrains_skia_Image__1nMakeFromEncoded,
org_jetbrains_skia_Image__1nMakeFromPixmap,
org_jetbrains_skia_Image__1nMakeRaster,
org_jetbrains_skia_Image__1nMakeRasterData,
org_jetbrains_skia_Image__1nPeekPixelsToPixmap,
org_jetbrains_skia_Image__1nReadPixelsBitmap,
org_jetbrains_skia_Image__1nReadPixelsPixmap,
org_jetbrains_skia_Image__1nScalePixels,
org_jetbrains_skia_Image__1nGetImageInfo,
org_jetbrains_skia_Image__1nMakeShader,
org_jetbrains_skia_Image__1nPeekPixels,
org_jetbrains_skia_ImageFilter__1nMakeArithmetic,
org_jetbrains_skia_ImageFilter__1nMakeBlend,
org_jetbrains_skia_ImageFilter__1nMakeBlur,
org_jetbrains_skia_ImageFilter__1nMakeColorFilter,
org_jetbrains_skia_ImageFilter__1nMakeCompose,
org_jetbrains_skia_ImageFilter__1nMakeDilate,
org_jetbrains_skia_ImageFilter__1nMakeDisplacementMap,
org_jetbrains_skia_ImageFilter__1nMakeDistantLitDiffuse,
org_jetbrains_skia_ImageFilter__1nMakeDistantLitSpecular,
org_jetbrains_skia_ImageFilter__1nMakeDropShadow,
org_jetbrains_skia_ImageFilter__1nMakeDropShadowOnly,
org_jetbrains_skia_ImageFilter__1nMakeErode,
org_jetbrains_skia_ImageFilter__1nMakeImage,
org_jetbrains_skia_ImageFilter__1nMakeMagnifier,
org_jetbrains_skia_ImageFilter__1nMakeMatrixConvolution,
org_jetbrains_skia_ImageFilter__1nMakeMatrixTransform,
org_jetbrains_skia_ImageFilter__1nMakeMerge,
org_jetbrains_skia_ImageFilter__1nMakeOffset,
org_jetbrains_skia_ImageFilter__1nMakePicture,
org_jetbrains_skia_ImageFilter__1nMakePointLitDiffuse,
org_jetbrains_skia_ImageFilter__1nMakePointLitSpecular,
org_jetbrains_skia_ImageFilter__1nMakeRuntimeShader,
org_jetbrains_skia_ImageFilter__1nMakeRuntimeShaderFromArray,
org_jetbrains_skia_ImageFilter__1nMakeShader,
org_jetbrains_skia_ImageFilter__1nMakeSpotLitDiffuse,
org_jetbrains_skia_ImageFilter__1nMakeSpotLitSpecular,
org_jetbrains_skia_ImageFilter__1nMakeTile,
org_jetbrains_skia_ManagedString__1nAppend,
org_jetbrains_skia_ManagedString__1nInsert,
org_jetbrains_skia_ManagedString__1nMake,
org_jetbrains_skia_ManagedString__1nRemove,
org_jetbrains_skia_ManagedString__1nRemoveSuffix,
org_jetbrains_skia_ManagedString__nStringData,
org_jetbrains_skia_ManagedString__nStringSize,
org_jetbrains_skia_ManagedString__1nGetFinalizer,
org_jetbrains_skia_MaskFilter__1nMakeBlur,
org_jetbrains_skia_MaskFilter__1nMakeClip,
org_jetbrains_skia_MaskFilter__1nMakeGamma,
org_jetbrains_skia_MaskFilter__1nMakeShader,
org_jetbrains_skia_MaskFilter__1nMakeTable,
org_jetbrains_skia_Paint__1nGetBlendMode,
org_jetbrains_skia_Paint__1nGetColor4f,
org_jetbrains_skia_Paint__1nGetColorFilter,
org_jetbrains_skia_Paint__1nGetImageFilter,
org_jetbrains_skia_Paint__1nGetMaskFilter,
org_jetbrains_skia_Paint__1nGetMode,
org_jetbrains_skia_Paint__1nGetPathEffect,
org_jetbrains_skia_Paint__1nGetShader,
org_jetbrains_skia_Paint__1nGetStrokeCap,
org_jetbrains_skia_Paint__1nGetStrokeJoin,
org_jetbrains_skia_Paint__1nGetStrokeMiter,
org_jetbrains_skia_Paint__1nGetStrokeWidth,
org_jetbrains_skia_Paint__1nHasNothingToDraw,
org_jetbrains_skia_Paint__1nIsAntiAlias,
org_jetbrains_skia_Paint__1nIsDither,
org_jetbrains_skia_Paint__1nSetAntiAlias,
org_jetbrains_skia_Paint__1nSetBlendMode,
org_jetbrains_skia_Paint__1nSetColor,
org_jetbrains_skia_Paint__1nSetColor4f,
org_jetbrains_skia_Paint__1nSetColorFilter,
org_jetbrains_skia_Paint__1nSetDither,
org_jetbrains_skia_Paint__1nSetImageFilter,
org_jetbrains_skia_Paint__1nSetMaskFilter,
org_jetbrains_skia_Paint__1nSetMode,
org_jetbrains_skia_Paint__1nSetPathEffect,
org_jetbrains_skia_Paint__1nSetShader,
org_jetbrains_skia_Paint__1nSetStrokeCap,
org_jetbrains_skia_Paint__1nSetStrokeJoin,
org_jetbrains_skia_Paint__1nSetStrokeMiter,
org_jetbrains_skia_Paint__1nSetStrokeWidth,
org_jetbrains_skia_Paint__1nEquals,
org_jetbrains_skia_Paint__1nGetColor,
org_jetbrains_skia_Paint__1nGetFinalizer,
org_jetbrains_skia_Paint__1nMake,
org_jetbrains_skia_Paint__1nMakeClone,
org_jetbrains_skia_Paint__1nReset,
org_jetbrains_skia_PaintFilterCanvas__1nGetOnFilterPaint,
org_jetbrains_skia_PaintFilterCanvas__1nInit,
org_jetbrains_skia_PaintFilterCanvas__1nMake,
org_jetbrains_skia_Path__1nAddArc,
org_jetbrains_skia_Path__1nAddCircle,
org_jetbrains_skia_Path__1nAddOval,
org_jetbrains_skia_Path__1nAddPath,
org_jetbrains_skia_Path__1nAddPathOffset,
org_jetbrains_skia_Path__1nAddPathTransform,
org_jetbrains_skia_Path__1nAddPoly,
org_jetbrains_skia_Path__1nAddRect,
org_jetbrains_skia_Path__1nAddRRect,
org_jetbrains_skia_Path__1nApproximateBytesUsed,
org_jetbrains_skia_Path__1nArcTo,
org_jetbrains_skia_Path__1nClosePath,
org_jetbrains_skia_Path__1nComputeTightBounds,
org_jetbrains_skia_Path__1nConicTo,
org_jetbrains_skia_Path__1nConservativelyContainsRect,
org_jetbrains_skia_Path__1nContains,
org_jetbrains_skia_Path__1nConvertConicToQuads,
org_jetbrains_skia_Path__1nCountVerbs,
org_jetbrains_skia_Path__1nCubicTo,
org_jetbrains_skia_Path__1nDump,
org_jetbrains_skia_Path__1nDumpHex,
org_jetbrains_skia_Path__1nEllipticalArcTo,
org_jetbrains_skia_Path__1nGetBounds,
org_jetbrains_skia_Path__1nGetFillMode,
org_jetbrains_skia_Path__1nGetLastPt,
org_jetbrains_skia_Path__1nGetPoint,
org_jetbrains_skia_Path__1nGetPoints,
org_jetbrains_skia_Path__1nGetPointsCount,
org_jetbrains_skia_Path__1nGetSegmentMasks,
org_jetbrains_skia_Path__1nGetVerbs,
org_jetbrains_skia_Path__1nIncReserve,
org_jetbrains_skia_Path__1nIsConvex,
org_jetbrains_skia_Path__1nIsCubicDegenerate,
org_jetbrains_skia_Path__1nIsEmpty,
org_jetbrains_skia_Path__1nIsFinite,
org_jetbrains_skia_Path__1nIsInterpolatable,
org_jetbrains_skia_Path__1nIsLastContourClosed,
org_jetbrains_skia_Path__1nIsLineDegenerate,
org_jetbrains_skia_Path__1nIsOval,
org_jetbrains_skia_Path__1nIsQuadDegenerate,
org_jetbrains_skia_Path__1nIsRect,
org_jetbrains_skia_Path__1nIsRRect,
org_jetbrains_skia_Path__1nIsValid,
org_jetbrains_skia_Path__1nLineTo,
org_jetbrains_skia_Path__1nMakeCombining,
org_jetbrains_skia_Path__1nMakeFromBytes,
org_jetbrains_skia_Path__1nMakeFromSVGString,
org_jetbrains_skia_Path__1nMakeLerp,
org_jetbrains_skia_Path__1nMaybeGetAsLine,
org_jetbrains_skia_Path__1nMoveTo,
org_jetbrains_skia_Path__1nOffset,
org_jetbrains_skia_Path__1nQuadTo,
org_jetbrains_skia_Path__1nRConicTo,
org_jetbrains_skia_Path__1nRCubicTo,
org_jetbrains_skia_Path__1nREllipticalArcTo,
org_jetbrains_skia_Path__1nReverseAddPath,
org_jetbrains_skia_Path__1nRewind,
org_jetbrains_skia_Path__1nRLineTo,
org_jetbrains_skia_Path__1nRMoveTo,
org_jetbrains_skia_Path__1nRQuadTo,
org_jetbrains_skia_Path__1nSerializeToBytes,
org_jetbrains_skia_Path__1nSetFillMode,
org_jetbrains_skia_Path__1nSetLastPt,
org_jetbrains_skia_Path__1nTangentArcTo,
org_jetbrains_skia_Path__1nTransform,
org_jetbrains_skia_Path__1nUpdateBoundsCache,
org_jetbrains_skia_Path__1nEquals,
org_jetbrains_skia_Path__1nGetFinalizer,
org_jetbrains_skia_Path__1nGetGenerationId,
org_jetbrains_skia_Path__1nIsVolatile,
org_jetbrains_skia_Path__1nMake,
org_jetbrains_skia_Path__1nReset,
org_jetbrains_skia_Path__1nSetVolatile,
org_jetbrains_skia_Path__1nSwap,
org_jetbrains_skia_PathEffect__1nMakeCorner,
org_jetbrains_skia_PathEffect__1nMakeDash,
org_jetbrains_skia_PathEffect__1nMakeDiscrete,
org_jetbrains_skia_PathEffect__1nMakeLine2D,
org_jetbrains_skia_PathEffect__1nMakePath1D,
org_jetbrains_skia_PathEffect__1nMakePath2D,
org_jetbrains_skia_PathEffect__1nMakeSum,
org_jetbrains_skia_PathEffect__1nMakeCompose,
org_jetbrains_skia_PathMeasure__1nGetLength,
org_jetbrains_skia_PathMeasure__1nGetMatrix,
org_jetbrains_skia_PathMeasure__1nGetPosition,
org_jetbrains_skia_PathMeasure__1nGetRSXform,
org_jetbrains_skia_PathMeasure__1nGetSegment,
org_jetbrains_skia_PathMeasure__1nGetTangent,
org_jetbrains_skia_PathMeasure__1nIsClosed,
org_jetbrains_skia_PathMeasure__1nMakePath,
org_jetbrains_skia_PathMeasure__1nNextContour,
org_jetbrains_skia_PathMeasure__1nSetPath,
org_jetbrains_skia_PathMeasure__1nGetFinalizer,
org_jetbrains_skia_PathMeasure__1nMake,
org_jetbrains_skia_PathSegmentIterator__1nMake,
org_jetbrains_skia_PathSegmentIterator__1nGetFinalizer,
org_jetbrains_skia_PathSegmentIterator__1nNext,
org_jetbrains_skia_PathUtils__1nFillPathWithPaint,
org_jetbrains_skia_PathUtils__1nFillPathWithPaintCull,
org_jetbrains_skia_Picture__1nGetApproximateBytesUsed,
org_jetbrains_skia_Picture__1nGetApproximateOpCount,
org_jetbrains_skia_Picture__1nGetCullRect,
org_jetbrains_skia_Picture__1nGetUniqueId,
org_jetbrains_skia_Picture__1nMakePlaceholder,
org_jetbrains_skia_Picture__1nMakeShader,
org_jetbrains_skia_Picture__1nPlayback,
org_jetbrains_skia_Picture__1nSerializeToData,
org_jetbrains_skia_Picture__1nMakeFromData,
org_jetbrains_skia_PictureRecorder__1nBeginRecording,
org_jetbrains_skia_PictureRecorder__1nFinishRecordingAsDrawable,
org_jetbrains_skia_PictureRecorder__1nFinishRecordingAsPicture,
org_jetbrains_skia_PictureRecorder__1nFinishRecordingAsPictureWithCull,
org_jetbrains_skia_PictureRecorder__1nGetRecordingCanvas,
org_jetbrains_skia_PictureRecorder__1nGetFinalizer,
org_jetbrains_skia_PictureRecorder__1nMake,
org_jetbrains_skia_PixelRef__1nGetHeight,
org_jetbrains_skia_PixelRef__1nGetWidth,
org_jetbrains_skia_PixelRef__1nGetGenerationId,
org_jetbrains_skia_PixelRef__1nGetRowBytes,
org_jetbrains_skia_PixelRef__1nIsImmutable,
org_jetbrains_skia_PixelRef__1nNotifyPixelsChanged,
org_jetbrains_skia_PixelRef__1nSetImmutable,
org_jetbrains_skia_Pixmap__1nErase,
org_jetbrains_skia_Pixmap__1nEraseSubset,
org_jetbrains_skia_Pixmap__1nGetAddr,
org_jetbrains_skia_Pixmap__1nGetAddrAt,
org_jetbrains_skia_Pixmap__1nGetAlphaF,
org_jetbrains_skia_Pixmap__1nGetInfo,
org_jetbrains_skia_Pixmap__1nMakeNull,
org_jetbrains_skia_Pixmap__1nReadPixels,
org_jetbrains_skia_Pixmap__1nReadPixelsFromPoint,
org_jetbrains_skia_Pixmap__1nReadPixelsToPixmap,
org_jetbrains_skia_Pixmap__1nReadPixelsToPixmapFromPoint,
org_jetbrains_skia_Pixmap__1nResetWithInfo,
org_jetbrains_skia_Pixmap__1nScalePixels,
org_jetbrains_skia_Pixmap__1nSetColorSpace,
org_jetbrains_skia_Pixmap__1nComputeByteSize,
org_jetbrains_skia_Pixmap__1nComputeIsOpaque,
org_jetbrains_skia_Pixmap__1nExtractSubset,
org_jetbrains_skia_Pixmap__1nGetColor,
org_jetbrains_skia_Pixmap__1nGetFinalizer,
org_jetbrains_skia_Pixmap__1nGetRowBytes,
org_jetbrains_skia_Pixmap__1nGetRowBytesAsPixels,
org_jetbrains_skia_Pixmap__1nMake,
org_jetbrains_skia_Pixmap__1nReset,
org_jetbrains_skia_Region__1nComputeRegionComplexity,
org_jetbrains_skia_Region__1nContainsIPoint,
org_jetbrains_skia_Region__1nContainsIRect,
org_jetbrains_skia_Region__1nContainsRegion,
org_jetbrains_skia_Region__1nGetBoundaryPath,
org_jetbrains_skia_Region__1nGetBounds,
org_jetbrains_skia_Region__1nGetFinalizer,
org_jetbrains_skia_Region__1nIntersectsIRect,
org_jetbrains_skia_Region__1nIntersectsRegion,
org_jetbrains_skia_Region__1nIsComplex,
org_jetbrains_skia_Region__1nIsEmpty,
org_jetbrains_skia_Region__1nIsRect,
org_jetbrains_skia_Region__1nMake,
org_jetbrains_skia_Region__1nOpIRect,
org_jetbrains_skia_Region__1nOpIRectRegion,
org_jetbrains_skia_Region__1nOpRegion,
org_jetbrains_skia_Region__1nOpRegionIRect,
org_jetbrains_skia_Region__1nOpRegionRegion,
org_jetbrains_skia_Region__1nQuickContains,
org_jetbrains_skia_Region__1nQuickRejectIRect,
org_jetbrains_skia_Region__1nQuickRejectRegion,
org_jetbrains_skia_Region__1nSet,
org_jetbrains_skia_Region__1nSetEmpty,
org_jetbrains_skia_Region__1nSetPath,
org_jetbrains_skia_Region__1nSetRect,
org_jetbrains_skia_Region__1nSetRects,
org_jetbrains_skia_Region__1nSetRegion,
org_jetbrains_skia_Region__1nTranslate,
org_jetbrains_skia_RuntimeEffect__1nMakeForColorFilter,
org_jetbrains_skia_RuntimeEffect__1nMakeForShader,
org_jetbrains_skia_RuntimeEffect__1nMakeShader,
org_jetbrains_skia_RuntimeEffect__1Result_nDestroy,
org_jetbrains_skia_RuntimeEffect__1Result_nGetError,
org_jetbrains_skia_RuntimeEffect__1Result_nGetPtr,
org_jetbrains_skia_RuntimeShaderBuilder__1nChildColorFilter,
org_jetbrains_skia_RuntimeShaderBuilder__1nChildShader,
org_jetbrains_skia_RuntimeShaderBuilder__1nMakeFromRuntimeEffect,
org_jetbrains_skia_RuntimeShaderBuilder__1nMakeShader,
org_jetbrains_skia_RuntimeShaderBuilder__1nUniformFloat,
org_jetbrains_skia_RuntimeShaderBuilder__1nUniformFloat2,
org_jetbrains_skia_RuntimeShaderBuilder__1nUniformFloat3,
org_jetbrains_skia_RuntimeShaderBuilder__1nUniformFloat4,
org_jetbrains_skia_RuntimeShaderBuilder__1nUniformFloatMatrix22,
org_jetbrains_skia_RuntimeShaderBuilder__1nUniformFloatMatrix33,
org_jetbrains_skia_RuntimeShaderBuilder__1nUniformFloatMatrix44,
org_jetbrains_skia_RuntimeShaderBuilder__1nUniformInt,
org_jetbrains_skia_RuntimeShaderBuilder__1nUniformInt2,
org_jetbrains_skia_RuntimeShaderBuilder__1nUniformInt3,
org_jetbrains_skia_RuntimeShaderBuilder__1nUniformInt4,
org_jetbrains_skia_RuntimeShaderBuilder__1nGetFinalizer,
org_jetbrains_skia_Shader__1nMakeBlend,
org_jetbrains_skia_Shader__1nMakeColor,
org_jetbrains_skia_Shader__1nMakeColorCS,
org_jetbrains_skia_Shader__1nMakeFractalNoise,
org_jetbrains_skia_Shader__1nMakeLinearGradient,
org_jetbrains_skia_Shader__1nMakeLinearGradientCS,
org_jetbrains_skia_Shader__1nMakeRadialGradient,
org_jetbrains_skia_Shader__1nMakeRadialGradientCS,
org_jetbrains_skia_Shader__1nMakeSweepGradient,
org_jetbrains_skia_Shader__1nMakeSweepGradientCS,
org_jetbrains_skia_Shader__1nMakeTurbulence,
org_jetbrains_skia_Shader__1nMakeTwoPointConicalGradient,
org_jetbrains_skia_Shader__1nMakeTwoPointConicalGradientCS,
org_jetbrains_skia_Shader__1nMakeWithColorFilter,
org_jetbrains_skia_Shader__1nMakeEmpty,
org_jetbrains_skia_ShadowUtils__1nComputeTonalAmbientColor,
org_jetbrains_skia_ShadowUtils__1nComputeTonalSpotColor,
org_jetbrains_skia_ShadowUtils__1nDrawShadow,
org_jetbrains_skia_StdVectorDecoder__1nDisposeArray,
org_jetbrains_skia_StdVectorDecoder__1nGetArraySize,
org_jetbrains_skia_StdVectorDecoder__1nReleaseElement,
org_jetbrains_skia_Surface__1nDraw,
org_jetbrains_skia_Surface__1nFlushAndSubmit,
org_jetbrains_skia_Surface__1nGenerationId,
org_jetbrains_skia_Surface__1nGetCanvas,
org_jetbrains_skia_Surface__1nGetRecordingContext,
org_jetbrains_skia_Surface__1nMakeFromBackendRenderTarget,
org_jetbrains_skia_Surface__1nMakeFromMTKView,
org_jetbrains_skia_Surface__1nMakeImageSnapshot,
org_jetbrains_skia_Surface__1nMakeImageSnapshotR,
org_jetbrains_skia_Surface__1nMakeNull,
org_jetbrains_skia_Surface__1nMakeRaster,
org_jetbrains_skia_Surface__1nMakeRasterDirect,
org_jetbrains_skia_Surface__1nMakeRasterDirectWithPixmap,
org_jetbrains_skia_Surface__1nMakeRasterN32Premul,
org_jetbrains_skia_Surface__1nMakeRenderTarget,
org_jetbrains_skia_Surface__1nMakeSurface,
org_jetbrains_skia_Surface__1nMakeSurfaceI,
org_jetbrains_skia_Surface__1nNotifyContentWillChange,
org_jetbrains_skia_Surface__1nPeekPixels,
org_jetbrains_skia_Surface__1nReadPixelsToPixmap,
org_jetbrains_skia_Surface__1nUnique,
org_jetbrains_skia_Surface__1nWritePixelsFromPixmap,
org_jetbrains_skia_Surface__1nFlush,
org_jetbrains_skia_Surface__1nGetHeight,
org_jetbrains_skia_Surface__1nGetImageInfo,
org_jetbrains_skia_Surface__1nGetWidth,
org_jetbrains_skia_Surface__1nReadPixels,
org_jetbrains_skia_Surface__1nWritePixels,
org_jetbrains_skia_TextBlob__1nBounds,
org_jetbrains_skia_TextBlob__1nGetBlockBounds,
org_jetbrains_skia_TextBlob__1nGetClusters,
org_jetbrains_skia_TextBlob__1nGetClustersLength,
org_jetbrains_skia_TextBlob__1nGetFirstBaseline,
org_jetbrains_skia_TextBlob__1nGetGlyphs,
org_jetbrains_skia_TextBlob__1nGetGlyphsLength,
org_jetbrains_skia_TextBlob__1nGetIntercepts,
org_jetbrains_skia_TextBlob__1nGetInterceptsLength,
org_jetbrains_skia_TextBlob__1nGetLastBaseline,
org_jetbrains_skia_TextBlob__1nGetPositions,
org_jetbrains_skia_TextBlob__1nGetPositionsLength,
org_jetbrains_skia_TextBlob__1nGetTightBounds,
org_jetbrains_skia_TextBlob__1nMakeFromPos,
org_jetbrains_skia_TextBlob__1nMakeFromPosH,
org_jetbrains_skia_TextBlob__1nMakeFromRSXform,
org_jetbrains_skia_TextBlob_Iter__1nCreate,
org_jetbrains_skia_TextBlob_Iter__1nFetch,
org_jetbrains_skia_TextBlob_Iter__1nGetFinalizer,
org_jetbrains_skia_TextBlob_Iter__1nGetGlyphCount,
org_jetbrains_skia_TextBlob_Iter__1nGetGlyphs,
org_jetbrains_skia_TextBlob_Iter__1nGetTypeface,
org_jetbrains_skia_TextBlob_Iter__1nHasNext,
org_jetbrains_skia_TextBlob__1nGetFinalizer,
org_jetbrains_skia_TextBlob__1nGetUniqueId,
org_jetbrains_skia_TextBlob__1nMakeFromData,
org_jetbrains_skia_TextBlob__1nSerializeToData,
org_jetbrains_skia_TextBlobBuilder__1nAppendRun,
org_jetbrains_skia_TextBlobBuilder__1nAppendRunPos,
org_jetbrains_skia_TextBlobBuilder__1nAppendRunPosH,
org_jetbrains_skia_TextBlobBuilder__1nAppendRunRSXform,
org_jetbrains_skia_TextBlobBuilder__1nBuild,
org_jetbrains_skia_TextBlobBuilder__1nGetFinalizer,
org_jetbrains_skia_TextBlobBuilder__1nMake,
org_jetbrains_skia_TextLine__1nGetAscent,
org_jetbrains_skia_TextLine__1nGetBreakOffsets,
org_jetbrains_skia_TextLine__1nGetBreakOffsetsCount,
org_jetbrains_skia_TextLine__1nGetBreakPositions,
org_jetbrains_skia_TextLine__1nGetBreakPositionsCount,
org_jetbrains_skia_TextLine__1nGetCapHeight,
org_jetbrains_skia_TextLine__1nGetCoordAtOffset,
org_jetbrains_skia_TextLine__1nGetDescent,
org_jetbrains_skia_TextLine__1nGetLeading,
org_jetbrains_skia_TextLine__1nGetLeftOffsetAtCoord,
org_jetbrains_skia_TextLine__1nGetOffsetAtCoord,
org_jetbrains_skia_TextLine__1nGetRunPositions,
org_jetbrains_skia_TextLine__1nGetRunPositionsCount,
org_jetbrains_skia_TextLine__1nGetTextBlob,
org_jetbrains_skia_TextLine__1nGetXHeight,
org_jetbrains_skia_TextLine__1nGetFinalizer,
org_jetbrains_skia_TextLine__1nGetGlyphs,
org_jetbrains_skia_TextLine__1nGetGlyphsLength,
org_jetbrains_skia_TextLine__1nGetHeight,
org_jetbrains_skia_TextLine__1nGetPositions,
org_jetbrains_skia_TextLine__1nGetWidth,
org_jetbrains_skia_Typeface__1nGetFamilyName,
org_jetbrains_skia_Typeface__1nGetFamilyNames,
org_jetbrains_skia_Typeface__1nGetFontStyle,
org_jetbrains_skia_Typeface__1nGetGlyphsCount,
org_jetbrains_skia_Typeface__1nGetKerningPairAdjustments,
org_jetbrains_skia_Typeface__1nGetTableData,
org_jetbrains_skia_Typeface__1nGetTablesCount,
org_jetbrains_skia_Typeface__1nGetTableSize,
org_jetbrains_skia_Typeface__1nGetTableTags,
org_jetbrains_skia_Typeface__1nGetTableTagsCount,
org_jetbrains_skia_Typeface__1nGetUnitsPerEm,
org_jetbrains_skia_Typeface__1nGetVariationAxes,
org_jetbrains_skia_Typeface__1nGetVariationAxesCount,
org_jetbrains_skia_Typeface__1nGetVariations,
org_jetbrains_skia_Typeface__1nGetVariationsCount,
org_jetbrains_skia_Typeface__1nIsFixedPitch,
org_jetbrains_skia_Typeface__1nMakeClone,
org_jetbrains_skia_Typeface__1nMakeFromData,
org_jetbrains_skia_Typeface__1nMakeFromFile,
org_jetbrains_skia_Typeface__1nMakeFromName,
org_jetbrains_skia_Typeface__1nEquals,
org_jetbrains_skia_Typeface__1nGetBounds,
org_jetbrains_skia_Typeface__1nGetUniqueId,
org_jetbrains_skia_Typeface__1nGetUTF32Glyph,
org_jetbrains_skia_Typeface__1nGetUTF32Glyphs,
org_jetbrains_skia_Typeface__1nMakeDefault,
org_jetbrains_skia_U16String__1nGetFinalizer,
org_jetbrains_skia_icu_Unicode_charDirection,
org_jetbrains_skia_paragraph_FontCollection__1nDefaultFallback,
org_jetbrains_skia_paragraph_FontCollection__1nDefaultFallbackChar,
org_jetbrains_skia_paragraph_FontCollection__1nFindTypefaces,
org_jetbrains_skia_paragraph_FontCollection__1nGetFallbackManager,
org_jetbrains_skia_paragraph_FontCollection__1nGetFontManagersCount,
org_jetbrains_skia_paragraph_FontCollection__1nGetParagraphCache,
org_jetbrains_skia_paragraph_FontCollection__1nMake,
org_jetbrains_skia_paragraph_FontCollection__1nSetAssetFontManager,
org_jetbrains_skia_paragraph_FontCollection__1nSetDefaultFontManager,
org_jetbrains_skia_paragraph_FontCollection__1nSetDynamicFontManager,
org_jetbrains_skia_paragraph_FontCollection__1nSetEnableFallback,
org_jetbrains_skia_paragraph_FontCollection__1nSetTestFontManager,
org_jetbrains_skia_paragraph_LineMetrics__1nDisposeArray,
org_jetbrains_skia_paragraph_LineMetrics__1nGetArrayElement,
org_jetbrains_skia_paragraph_LineMetrics__1nGetArraySize,
org_jetbrains_skia_paragraph_Paragraph__1nDidExceedMaxLines,
org_jetbrains_skia_paragraph_Paragraph__1nGetAlphabeticBaseline,
org_jetbrains_skia_paragraph_Paragraph__1nGetGlyphPositionAtCoordinate,
org_jetbrains_skia_paragraph_Paragraph__1nGetHeight,
org_jetbrains_skia_paragraph_Paragraph__1nGetIdeographicBaseline,
org_jetbrains_skia_paragraph_Paragraph__1nGetLineMetrics,
org_jetbrains_skia_paragraph_Paragraph__1nGetLineNumber,
org_jetbrains_skia_paragraph_Paragraph__1nGetLongestLine,
org_jetbrains_skia_paragraph_Paragraph__1nGetMaxIntrinsicWidth,
org_jetbrains_skia_paragraph_Paragraph__1nGetMaxWidth,
org_jetbrains_skia_paragraph_Paragraph__1nGetMinIntrinsicWidth,
org_jetbrains_skia_paragraph_Paragraph__1nGetRectsForPlaceholders,
org_jetbrains_skia_paragraph_Paragraph__1nGetRectsForRange,
org_jetbrains_skia_paragraph_Paragraph__1nGetUnresolvedGlyphsCount,
org_jetbrains_skia_paragraph_Paragraph__1nGetWordBoundary,
org_jetbrains_skia_paragraph_Paragraph__1nLayout,
org_jetbrains_skia_paragraph_Paragraph__1nMarkDirty,
org_jetbrains_skia_paragraph_Paragraph__1nPaint,
org_jetbrains_skia_paragraph_Paragraph__1nUpdateAlignment,
org_jetbrains_skia_paragraph_Paragraph__1nUpdateBackgroundPaint,
org_jetbrains_skia_paragraph_Paragraph__1nUpdateFontSize,
org_jetbrains_skia_paragraph_Paragraph__1nUpdateForegroundPaint,
org_jetbrains_skia_paragraph_Paragraph__1nGetFinalizer,
org_jetbrains_skia_paragraph_ParagraphBuilder__1nAddPlaceholder,
org_jetbrains_skia_paragraph_ParagraphBuilder__1nAddText,
org_jetbrains_skia_paragraph_ParagraphBuilder__1nBuild,
org_jetbrains_skia_paragraph_ParagraphBuilder__1nMake,
org_jetbrains_skia_paragraph_ParagraphBuilder__1nPopStyle,
org_jetbrains_skia_paragraph_ParagraphBuilder__1nPushStyle,
org_jetbrains_skia_paragraph_ParagraphBuilder__1nGetFinalizer,
org_jetbrains_skia_paragraph_ParagraphCache__1nAbandon,
org_jetbrains_skia_paragraph_ParagraphCache__1nFindParagraph,
org_jetbrains_skia_paragraph_ParagraphCache__1nGetCount,
org_jetbrains_skia_paragraph_ParagraphCache__1nPrintStatistics,
org_jetbrains_skia_paragraph_ParagraphCache__1nReset,
org_jetbrains_skia_paragraph_ParagraphCache__1nSetEnabled,
org_jetbrains_skia_paragraph_ParagraphCache__1nUpdateParagraph,
org_jetbrains_skia_paragraph_ParagraphStyle__1nDisableHinting,
org_jetbrains_skia_paragraph_ParagraphStyle__1nEquals,
org_jetbrains_skia_paragraph_ParagraphStyle__1nGetAlignment,
org_jetbrains_skia_paragraph_ParagraphStyle__1nGetDirection,
org_jetbrains_skia_paragraph_ParagraphStyle__1nGetEdging,
org_jetbrains_skia_paragraph_ParagraphStyle__1nGetEffectiveAlignment,
org_jetbrains_skia_paragraph_ParagraphStyle__1nGetEllipsis,
org_jetbrains_skia_paragraph_ParagraphStyle__1nGetHeightMode,
org_jetbrains_skia_paragraph_ParagraphStyle__1nGetHinting,
org_jetbrains_skia_paragraph_ParagraphStyle__1nGetMaxLinesCount,
org_jetbrains_skia_paragraph_ParagraphStyle__1nGetStrutStyle,
org_jetbrains_skia_paragraph_ParagraphStyle__1nGetSubpixel,
org_jetbrains_skia_paragraph_ParagraphStyle__1nGetTextIndent,
org_jetbrains_skia_paragraph_ParagraphStyle__1nGetTextStyle,
org_jetbrains_skia_paragraph_ParagraphStyle__1nIsHintingEnabled,
org_jetbrains_skia_paragraph_ParagraphStyle__1nSetAlignment,
org_jetbrains_skia_paragraph_ParagraphStyle__1nSetDirection,
org_jetbrains_skia_paragraph_ParagraphStyle__1nSetEllipsis,
org_jetbrains_skia_paragraph_ParagraphStyle__1nSetFontRastrSettings,
org_jetbrains_skia_paragraph_ParagraphStyle__1nSetHeight,
org_jetbrains_skia_paragraph_ParagraphStyle__1nSetHeightMode,
org_jetbrains_skia_paragraph_ParagraphStyle__1nSetMaxLinesCount,
org_jetbrains_skia_paragraph_ParagraphStyle__1nSetStrutStyle,
org_jetbrains_skia_paragraph_ParagraphStyle__1nSetTextIndent,
org_jetbrains_skia_paragraph_ParagraphStyle__1nSetTextStyle,
org_jetbrains_skia_paragraph_ParagraphStyle__1nGetFinalizer,
org_jetbrains_skia_paragraph_ParagraphStyle__1nGetHeight,
org_jetbrains_skia_paragraph_ParagraphStyle__1nMake,
org_jetbrains_skia_paragraph_StrutStyle__1nGetFontFamilies,
org_jetbrains_skia_paragraph_StrutStyle__1nGetFontSize,
org_jetbrains_skia_paragraph_StrutStyle__1nGetFontStyle,
org_jetbrains_skia_paragraph_StrutStyle__1nGetLeading,
org_jetbrains_skia_paragraph_StrutStyle__1nIsEnabled,
org_jetbrains_skia_paragraph_StrutStyle__1nIsHalfLeading,
org_jetbrains_skia_paragraph_StrutStyle__1nIsHeightForced,
org_jetbrains_skia_paragraph_StrutStyle__1nIsHeightOverridden,
org_jetbrains_skia_paragraph_StrutStyle__1nSetFontSize,
org_jetbrains_skia_paragraph_StrutStyle__1nSetFontStyle,
org_jetbrains_skia_paragraph_StrutStyle__1nSetHalfLeading,
org_jetbrains_skia_paragraph_StrutStyle__1nSetHeightForced,
org_jetbrains_skia_paragraph_StrutStyle__1nSetHeightOverridden,
org_jetbrains_skia_paragraph_StrutStyle__1nSetLeading,
org_jetbrains_skia_paragraph_StrutStyle__1nEquals,
org_jetbrains_skia_paragraph_StrutStyle__1nGetFinalizer,
org_jetbrains_skia_paragraph_StrutStyle__1nGetHeight,
org_jetbrains_skia_paragraph_StrutStyle__1nMake,
org_jetbrains_skia_paragraph_StrutStyle__1nSetEnabled,
org_jetbrains_skia_paragraph_StrutStyle__1nSetFontFamilies,
org_jetbrains_skia_paragraph_StrutStyle__1nSetHeight,
org_jetbrains_skia_paragraph_TextBox__1nDisposeArray,
org_jetbrains_skia_paragraph_TextBox__1nGetArrayElement,
org_jetbrains_skia_paragraph_TextBox__1nGetArraySize,
org_jetbrains_skia_paragraph_TextStyle__1nAddFontFeature,
org_jetbrains_skia_paragraph_TextStyle__1nAddShadow,
org_jetbrains_skia_paragraph_TextStyle__1nAttributeEquals,
org_jetbrains_skia_paragraph_TextStyle__1nClearFontFeatures,
org_jetbrains_skia_paragraph_TextStyle__1nClearShadows,
org_jetbrains_skia_paragraph_TextStyle__1nGetBackground,
org_jetbrains_skia_paragraph_TextStyle__1nGetBaselineMode,
org_jetbrains_skia_paragraph_TextStyle__1nGetColor,
org_jetbrains_skia_paragraph_TextStyle__1nGetDecorationStyle,
org_jetbrains_skia_paragraph_TextStyle__1nGetFontFeatures,
org_jetbrains_skia_paragraph_TextStyle__1nGetFontFeaturesSize,
org_jetbrains_skia_paragraph_TextStyle__1nGetFontMetrics,
org_jetbrains_skia_paragraph_TextStyle__1nGetForeground,
org_jetbrains_skia_paragraph_TextStyle__1nGetLetterSpacing,
org_jetbrains_skia_paragraph_TextStyle__1nGetLocale,
org_jetbrains_skia_paragraph_TextStyle__1nGetShadows,
org_jetbrains_skia_paragraph_TextStyle__1nGetShadowsCount,
org_jetbrains_skia_paragraph_TextStyle__1nGetTypeface,
org_jetbrains_skia_paragraph_TextStyle__1nGetWordSpacing,
org_jetbrains_skia_paragraph_TextStyle__1nIsPlaceholder,
org_jetbrains_skia_paragraph_TextStyle__1nSetBackground,
org_jetbrains_skia_paragraph_TextStyle__1nSetBaselineMode,
org_jetbrains_skia_paragraph_TextStyle__1nSetColor,
org_jetbrains_skia_paragraph_TextStyle__1nSetDecorationStyle,
org_jetbrains_skia_paragraph_TextStyle__1nSetFontFamilies,
org_jetbrains_skia_paragraph_TextStyle__1nSetForeground,
org_jetbrains_skia_paragraph_TextStyle__1nSetLetterSpacing,
org_jetbrains_skia_paragraph_TextStyle__1nSetLocale,
org_jetbrains_skia_paragraph_TextStyle__1nSetPlaceholder,
org_jetbrains_skia_paragraph_TextStyle__1nSetTypeface,
org_jetbrains_skia_paragraph_TextStyle__1nSetWordSpacing,
org_jetbrains_skia_paragraph_TextStyle__1nEquals,
org_jetbrains_skia_paragraph_TextStyle__1nGetBaselineShift,
org_jetbrains_skia_paragraph_TextStyle__1nGetFinalizer,
org_jetbrains_skia_paragraph_TextStyle__1nGetFontFamilies,
org_jetbrains_skia_paragraph_TextStyle__1nGetFontSize,
org_jetbrains_skia_paragraph_TextStyle__1nGetFontStyle,
org_jetbrains_skia_paragraph_TextStyle__1nGetHalfLeading,
org_jetbrains_skia_paragraph_TextStyle__1nGetHeight,
org_jetbrains_skia_paragraph_TextStyle__1nMake,
org_jetbrains_skia_paragraph_TextStyle__1nSetBaselineShift,
org_jetbrains_skia_paragraph_TextStyle__1nSetFontSize,
org_jetbrains_skia_paragraph_TextStyle__1nSetFontStyle,
org_jetbrains_skia_paragraph_TextStyle__1nSetHalfLeading,
org_jetbrains_skia_paragraph_TextStyle__1nSetHeight,
org_jetbrains_skia_paragraph_TypefaceFontProvider__1nRegisterTypeface,
org_jetbrains_skia_paragraph_TypefaceFontProvider__1nMake,
org_jetbrains_skia_shaper_FontMgrRunIterator__1nGetCurrentFont,
org_jetbrains_skia_shaper_FontMgrRunIterator__1nMake,
org_jetbrains_skia_shaper_HbIcuScriptRunIterator__1nGetCurrentScriptTag,
org_jetbrains_skia_shaper_HbIcuScriptRunIterator__1nMake,
org_jetbrains_skia_shaper_IcuBidiRunIterator__1nGetCurrentLevel,
org_jetbrains_skia_shaper_IcuBidiRunIterator__1nMake,
org_jetbrains_skia_shaper_ManagedRunIterator__1nConsume,
org_jetbrains_skia_shaper_ManagedRunIterator__1nGetEndOfCurrentRun,
org_jetbrains_skia_shaper_ManagedRunIterator__1nGetFinalizer,
org_jetbrains_skia_shaper_ManagedRunIterator__1nIsAtEnd,
org_jetbrains_skia_shaper_Shaper__1nMakeCoreText,
org_jetbrains_skia_shaper_Shaper__1nMakePrimitive,
org_jetbrains_skia_shaper_Shaper__1nMakeShapeDontWrapOrReorder,
org_jetbrains_skia_shaper_Shaper__1nMakeShaperDrivenWrapper,
org_jetbrains_skia_shaper_Shaper__1nMakeShapeThenWrap,
org_jetbrains_skia_shaper_Shaper__1nShapeBlob,
org_jetbrains_skia_shaper_Shaper__1nShapeLine,
org_jetbrains_skia_shaper_Shaper_RunHandler_1nCreate,
org_jetbrains_skia_shaper_Shaper_RunHandler_1nGetClusters,
org_jetbrains_skia_shaper_Shaper_RunHandler_1nGetFinalizer,
org_jetbrains_skia_shaper_Shaper_RunHandler_1nGetGlyphs,
org_jetbrains_skia_shaper_Shaper_RunHandler_1nGetPositions,
org_jetbrains_skia_shaper_Shaper_RunHandler_1nGetRunInfo,
org_jetbrains_skia_shaper_Shaper_RunHandler_1nInit,
org_jetbrains_skia_shaper_Shaper_RunHandler_1nSetOffset,
org_jetbrains_skia_shaper_Shaper_RunIterator_1nCreateRunIterator,
org_jetbrains_skia_shaper_Shaper_RunIterator_1nGetFinalizer,
org_jetbrains_skia_shaper_Shaper_RunIterator_1nInitRunIterator,
org_jetbrains_skia_shaper_Shaper__1nGetFinalizer,
org_jetbrains_skia_shaper_Shaper__1nMake,
org_jetbrains_skia_shaper_Shaper__1nShape,
org_jetbrains_skia_TextBlobBuilderRunHandler__1nMakeBlob,
org_jetbrains_skia_TextBlobBuilderRunHandler__1nGetFinalizer,
org_jetbrains_skia_TextBlobBuilderRunHandler__1nMake,
org_jetbrains_skia_skottie_Animation__1nGetDuration,
org_jetbrains_skia_skottie_Animation__1nGetFinalizer,
org_jetbrains_skia_skottie_Animation__1nGetFPS,
org_jetbrains_skia_skottie_Animation__1nGetInPoint,
org_jetbrains_skia_skottie_Animation__1nGetOutPoint,
org_jetbrains_skia_skottie_Animation__1nGetSize,
org_jetbrains_skia_skottie_Animation__1nGetVersion,
org_jetbrains_skia_skottie_Animation__1nMakeFromData,
org_jetbrains_skia_skottie_Animation__1nMakeFromFile,
org_jetbrains_skia_skottie_Animation__1nMakeFromString,
org_jetbrains_skia_skottie_Animation__1nRender,
org_jetbrains_skia_skottie_Animation__1nSeek,
org_jetbrains_skia_skottie_Animation__1nSeekFrame,
org_jetbrains_skia_skottie_Animation__1nSeekFrameTime,
org_jetbrains_skia_skottie_AnimationBuilder__1nBuildFromData,
org_jetbrains_skia_skottie_AnimationBuilder__1nBuildFromFile,
org_jetbrains_skia_skottie_AnimationBuilder__1nBuildFromString,
org_jetbrains_skia_skottie_AnimationBuilder__1nSetFontManager,
org_jetbrains_skia_skottie_AnimationBuilder__1nSetLogger,
org_jetbrains_skia_skottie_AnimationBuilder__1nGetFinalizer,
org_jetbrains_skia_skottie_AnimationBuilder__1nMake,
org_jetbrains_skia_skottie_Logger__1nMake,
org_jetbrains_skia_skottie_Logger__1nGetLogJson,
org_jetbrains_skia_skottie_Logger__1nGetLogLevel,
org_jetbrains_skia_skottie_Logger__1nGetLogMessage,
org_jetbrains_skia_skottie_Logger__1nInit,
org_jetbrains_skia_sksg_InvalidationController_nGetBounds,
org_jetbrains_skia_sksg_InvalidationController_nGetFinalizer,
org_jetbrains_skia_sksg_InvalidationController_nInvalidate,
org_jetbrains_skia_sksg_InvalidationController_nMake,
org_jetbrains_skia_sksg_InvalidationController_nReset,
org_jetbrains_skia_svg_SVGCanvasKt__1nMake,
org_jetbrains_skia_svg_SVGDOM__1nGetContainerSize,
org_jetbrains_skia_svg_SVGDOM__1nGetRoot,
org_jetbrains_skia_svg_SVGDOM__1nMakeFromData,
org_jetbrains_skia_svg_SVGDOM__1nRender,
org_jetbrains_skia_svg_SVGDOM__1nSetContainerSize,
org_jetbrains_skia_svg_SVGNode__1nGetTag,
org_jetbrains_skia_svg_SVGSVG__1nGetHeight,
org_jetbrains_skia_svg_SVGSVG__1nGetIntrinsicSize,
org_jetbrains_skia_svg_SVGSVG__1nGetPreserveAspectRatio,
org_jetbrains_skia_svg_SVGSVG__1nGetViewBox,
org_jetbrains_skia_svg_SVGSVG__1nGetWidth,
org_jetbrains_skia_svg_SVGSVG__1nGetX,
org_jetbrains_skia_svg_SVGSVG__1nGetY,
org_jetbrains_skia_svg_SVGSVG__1nSetHeight,
org_jetbrains_skia_svg_SVGSVG__1nSetPreserveAspectRatio,
org_jetbrains_skia_svg_SVGSVG__1nSetViewBox,
org_jetbrains_skia_svg_SVGSVG__1nSetWidth,
org_jetbrains_skia_svg_SVGSVG__1nSetX,
org_jetbrains_skia_svg_SVGSVG__1nSetY,
org_jetbrains_skiko_tests_TestHelpers__1nFillByteArrayOf5,
org_jetbrains_skiko_tests_TestHelpers__1nFillDoubleArrayOf5,
org_jetbrains_skiko_tests_TestHelpers__1nFillFloatArrayOf5,
org_jetbrains_skiko_tests_TestHelpers__1nFillIntArrayOf5,
org_jetbrains_skiko_tests_TestHelpers__1nFillShortArrayOf5,
org_jetbrains_skiko_tests_TestHelpers__nStringByIndex,
org_jetbrains_skiko_tests_TestHelpers__1nWriteArraysOfInts,
org_jetbrains_skiko_tests_TestHelpers__1nCreateTestGlContext,
org_jetbrains_skiko_tests_TestHelpers__1nGlContextGetFinalizer,
org_jetbrains_skiko_tests_TestHelpers__1nMakeGlContextCurrent,
org_jetbrains_skiko_tests_TestHelpers__1nGlContextSwapBuffers,
org_jetbrains_skia_impl_Managed__invokeFinalizer,
free,
malloc,
org_jetbrains_skia_impl_RefCnt__getRefCount,
org_jetbrains_skia_impl_RefCnt__getFinalizer,
org_jetbrains_skia_OutputWStream__1nMake,
org_jetbrains_skia_OutputWStream__1nGetFinalizer,
skia_memGetByte,
skia_memGetChar,
skia_memGetDouble,
skia_memGetFloat,
skia_memGetInt,
skia_memGetShort,
skia_memSetByte,
skia_memSetChar,
skia_memSetDouble,
skia_memSetFloat,
skia_memSetInt,
skia_memSetShort
} = loadedWasm.wasmExports;
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment