Unverified Commit a8dbcb11 authored by alexander-gorshenev's avatar alexander-gorshenev Committed by GitHub

Native skia bindings (#167)

* Removed the old native interop

* Generated macos native bridges

* Placed @ExternalSymbolName for skia extern functions

* Native skia/mpp link: both
    libskiko-native-bridges.a
    libskiko.a
are now incorporated in the klib.

Added types.h to cover jni types
Added common.h for declarations shared between platforms
Moved some common c++ code from interop.cc to common_interop.cc
and from interop.hh to common.h

* Move skiko/native to skia/mpp bindings

* Changes to allow mpp skiko to run meaningfully on native

* Adapted native sample to mpp skiko

* Fix linux and win

* Fixed native binding dependency

* Provided a couple missing native bindg (bindings stubs actually)

* Code review fixes
parent ac7e0091
...@@ -44,6 +44,7 @@ kotlin { ...@@ -44,6 +44,7 @@ kotlin {
binaries { binaries {
executable { executable {
entryPoint = "org.jetbrains.skiko.sample.native.main" entryPoint = "org.jetbrains.skiko.sample.native.main"
freeCompilerArgs += listOf("-linker-options", "-framework", "-linker-option", "Metal")
} }
} }
} }
...@@ -65,8 +66,6 @@ kotlin { ...@@ -65,8 +66,6 @@ kotlin {
dependsOn(nativeMain) dependsOn(nativeMain)
dependencies { dependencies {
implementation("org.jetbrains.skiko:skiko-native-runtime-$target:$version") implementation("org.jetbrains.skiko:skiko-native-runtime-$target:$version")
implementation("org.jetbrains.skiko:skiko-native-skia-interop-$target:$version")
} }
} }
} }
......
...@@ -2,7 +2,7 @@ package org.jetbrains.skiko.sample.native ...@@ -2,7 +2,7 @@ package org.jetbrains.skiko.sample.native
import platform.AppKit.* import platform.AppKit.*
import org.jetbrains.skiko.skia.native.* import org.jetbrains.skia.*
import org.jetbrains.skiko.native.SkiaLayer import org.jetbrains.skiko.native.SkiaLayer
import org.jetbrains.skiko.native.SkiaRenderer import org.jetbrains.skiko.native.SkiaRenderer
import org.jetbrains.skiko.native.SkiaWindow import org.jetbrains.skiko.native.SkiaWindow
...@@ -40,7 +40,8 @@ class Renderer( ...@@ -40,7 +40,8 @@ class Renderer(
override fun onRender(canvas: Canvas, width: Int, height: Int, nanoTime: Long) { override fun onRender(canvas: Canvas, width: Int, height: Int, nanoTime: Long) {
this.canvas = canvas this.canvas = canvas
val contentScale = layer.contentScale val contentScale = layer.contentScale
canvas.scale(contentScale, contentScale) // TODO: Disabled for now, as it requires us to pass float array to native world.
//canvas.scale(contentScale, contentScale)
displayScene(this, (width / contentScale).toInt(), (height / contentScale).toInt(), nanoTime) displayScene(this, (width / contentScale).toInt(), (height / contentScale).toInt(), nanoTime)
layer.needRedraw() layer.needRedraw()
} }
...@@ -50,14 +51,17 @@ fun displayScene(renderer: Renderer, nanoTime: Long) { ...@@ -50,14 +51,17 @@ fun displayScene(renderer: Renderer, nanoTime: Long) {
val canvas = renderer.canvas!! val canvas = renderer.canvas!!
val paint = Paint() val paint = Paint()
paint.setColor(SK_ColorGREEN) //paint.setColor(Color.GREEN)
paint.setColor(0xFF00FF00.toInt())
canvas.clear(SK_ColorRED); // canvas.clear(Color.RED);
canvas.clear(0x00FF00FF.toInt());
canvas.save(); canvas.save();
canvas.translate(128.0f, 128.0f) // TODO: disabled to ramp up the new native skiko.
canvas.rotate(nanoTime.toFloat() / 1e7f) //canvas.translate(128.0f, 128.0f)
val rect = SkRect.MakeXYWH(-90.5f, -90.5f, 181.0f, 181.0f) //canvas.rotate(nanoTime.toFloat() / 1e7f)
val rect = Rect.makeXYWH(-90.5f, -90.5f, 181.0f, 181.0f)
canvas.drawRect(rect, paint) canvas.drawRect(rect, paint)
canvas.restore(); canvas.restore();
} }
......
import de.undercouch.gradle.tasks.download.Download import de.undercouch.gradle.tasks.download.Download
import org.gradle.crypto.checksum.Checksum import org.gradle.crypto.checksum.Checksum
import org.jetbrains.kotlin.gradle.tasks.CInteropProcess
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import org.jetbrains.kotlin.gradle.tasks.KotlinNativeCompile import org.jetbrains.kotlin.gradle.tasks.KotlinNativeCompile
...@@ -127,23 +126,27 @@ kotlin { ...@@ -127,23 +126,27 @@ kotlin {
} }
if (supportNative) { if (supportNative) {
val nativeTarget = when (target) { val targetString = target
"macos-x64", "macos-arm64" -> macosX64()
else -> null
}
nativeTarget?.apply {
compilations.getByName("main") {
val skia by cinterops.creating {
defFile("src/nativeInterop/cinterop/skia.def")
val skiaDir = skiaDir.get().absolutePath val skiaDir = skiaDir.get().absolutePath
compilerOpts("-I$skiaDir") val nativeTarget = when (targetString) {
extraOpts("-staticLibrary", "libskia.a") "macos-x64", "macos-arm64" -> macosX64() {
extraOpts("-staticLibrary", "libskshaper.a") compilations.all {
extraOpts("-staticLibrary", "libskparagraph.a") kotlinOptions {
extraOpts("-libraryPath", "$skiaDir/$skiaBinSubdir") freeCompilerArgs += listOf(
"-include-binary",
"$skiaDir/$skiaBinSubdir/libskia.a",
"-include-binary",
"$skiaDir/$skiaBinSubdir/libskshaper.a",
"-include-binary",
"$skiaDir/$skiaBinSubdir/libskparagraph.a",
"-include-binary",
"$buildDir/nativeBridges/static/$targetString/skiko-native-bridges-$targetString.a"
)
} }
} }
} }
else -> null
}
} }
sourceSets { sourceSets {
...@@ -186,27 +189,13 @@ kotlin { ...@@ -186,27 +189,13 @@ kotlin {
} }
} }
tasks.withType(CInteropProcess::class.java).forEach {
it.dependsOn(skiaDir)
}
tasks.withType(JavaCompile::class.java).configureEach { tasks.withType(JavaCompile::class.java).configureEach {
this.getOptions().compilerArgs.addAll(listOf("-source", "11", "-target", "11")) this.getOptions().compilerArgs.addAll(listOf("-source", "11", "-target", "11"))
} }
// See https://docs.gradle.org/current/userguide/cpp_library_plugin.html. val skiaPreprocessorFlags: Array<String> get() {
tasks.withType(CppCompile::class.java).configureEach {
// Prefer 'java.home' system property to simplify overriding from Intellij.
// When used from command-line, it is effectively equal to JAVA_HOME.
if (JavaVersion.current() < JavaVersion.VERSION_11) {
error("JDK 11+ is required, but Gradle JVM is ${JavaVersion.current()}. " +
"Check JAVA_HOME (CLI) or Gradle settings (Intellij).")
}
val jdkHome = System.getProperty("java.home") ?: error("'java.home' is null")
dependsOn(skiaDir)
val skiaDir = skiaDir.get().absolutePath val skiaDir = skiaDir.get().absolutePath
compilerArgs.addAll(listOf( return listOf(
"-I$jdkHome/include",
"-I$skiaDir", "-I$skiaDir",
"-I$skiaDir/include", "-I$skiaDir/include",
"-I$skiaDir/include/core", "-I$skiaDir/include/core",
...@@ -238,8 +227,26 @@ tasks.withType(CppCompile::class.java).configureEach { ...@@ -238,8 +227,26 @@ tasks.withType(CppCompile::class.java).configureEach {
"-DU_DISABLE_RENAMING", "-DU_DISABLE_RENAMING",
"-DSK_USING_THIRD_PARTY_ICU", "-DSK_USING_THIRD_PARTY_ICU",
*buildType.flags *buildType.flags
)) ).toTypedArray()
}
// See https://docs.gradle.org/current/userguide/cpp_library_plugin.html.
tasks.withType(CppCompile::class.java).configureEach {
// Prefer 'java.home' system property to simplify overriding from Intellij.
// When used from command-line, it is effectively equal to JAVA_HOME.
if (JavaVersion.current() < JavaVersion.VERSION_11) {
error("JDK 11+ is required, but Gradle JVM is ${JavaVersion.current()}. " +
"Check JAVA_HOME (CLI) or Gradle settings (Intellij).")
}
val jdkHome = System.getProperty("java.home") ?: error("'java.home' is null")
dependsOn(skiaDir)
val skiaDir = skiaDir.get().absolutePath
compilerArgs.addAll(
listOf("-I$jdkHome/include") + skiaPreprocessorFlags
)
val includeDir = "$projectDir/src/jvmMain/cpp/include" val includeDir = "$projectDir/src/jvmMain/cpp/include"
val commonIncludeDir = "$projectDir/src/commonMain/cpp/headers"
when (targetOs) { when (targetOs) {
OS.MacOS -> { OS.MacOS -> {
compilerArgs.addAll( compilerArgs.addAll(
...@@ -248,6 +255,7 @@ tasks.withType(CppCompile::class.java).configureEach { ...@@ -248,6 +255,7 @@ tasks.withType(CppCompile::class.java).configureEach {
"-fvisibility-inlines-hidden", "-fvisibility-inlines-hidden",
"-I$jdkHome/include/darwin", "-I$jdkHome/include/darwin",
"-I$includeDir", "-I$includeDir",
"-I$commonIncludeDir",
"-DSK_SHAPER_CORETEXT_AVAILABLE", "-DSK_SHAPER_CORETEXT_AVAILABLE",
"-DSK_BUILD_FOR_MAC", "-DSK_BUILD_FOR_MAC",
"-DSK_METAL", "-DSK_METAL",
...@@ -265,6 +273,7 @@ tasks.withType(CppCompile::class.java).configureEach { ...@@ -265,6 +273,7 @@ tasks.withType(CppCompile::class.java).configureEach {
"-fvisibility-inlines-hidden", "-fvisibility-inlines-hidden",
"-I$jdkHome/include/linux", "-I$jdkHome/include/linux",
"-I$includeDir", "-I$includeDir",
"-I$commonIncludeDir",
"-DSK_BUILD_FOR_LINUX", "-DSK_BUILD_FOR_LINUX",
"-D_GLIBCXX_USE_CXX11_ABI=0", "-D_GLIBCXX_USE_CXX11_ABI=0",
*buildType.clangFlags *buildType.clangFlags
...@@ -276,6 +285,7 @@ tasks.withType(CppCompile::class.java).configureEach { ...@@ -276,6 +285,7 @@ tasks.withType(CppCompile::class.java).configureEach {
listOf( listOf(
"-I$jdkHome/include/win32", "-I$jdkHome/include/win32",
"-I$includeDir", "-I$includeDir",
"-I$commonIncludeDir",
"-DSK_BUILD_FOR_WIN", "-DSK_BUILD_FOR_WIN",
"-D_CRT_SECURE_NO_WARNINGS", "-D_CRT_SECURE_NO_WARNINGS",
"-D_HAS_EXCEPTIONS=0", "-D_HAS_EXCEPTIONS=0",
...@@ -310,7 +320,7 @@ project.tasks.register<Exec>("objcCompile") { ...@@ -310,7 +320,7 @@ project.tasks.register<Exec>("objcCompile") {
commandLine = listOf( commandLine = listOf(
"clang", "clang",
*targetArch.clangFlags, *targetArch.clangFlags,
"-mmacosx-version-min=10.13", *targetOs.clangFlags,
"-I$jdkHome/include", "-I$jdkHome/include",
"-I$jdkHome/include/darwin", "-I$jdkHome/include/darwin",
"-I$skiaDir", "-I$skiaDir",
...@@ -354,6 +364,75 @@ project.tasks.register<Exec>("wasmCompile") { ...@@ -354,6 +364,75 @@ project.tasks.register<Exec>("wasmCompile") {
outputs.files(outJs, outWasm) outputs.files(outJs, outWasm)
} }
fun List<String>.findAllFiles(suffix: String): List<String> = this
.map { File(it) }
.flatMap { it.walk().toList() }
.map { it.absolutePath }
.filter { it.endsWith(suffix) }
// Very hacky way to compile native bridges and add the
// resulting object files into the final native klib.
project.tasks.register<Exec>("nativeBridgesCompile") {
dependsOn(skiaDir)
val inputDirs = listOf(
"$projectDir/src/macosX64Main/cpp/generated",
"$projectDir/src/macosX64Main/cpp/common",
"$projectDir/src/commonMain/cpp/common"
)
val outDir = "$buildDir/nativeBridges/obj/$target"
val srcs = inputDirs
.findAllFiles(".cc")
.toTypedArray()
val outs = srcs
.map { it.substringAfterLast("/") }
.map { File(it).nameWithoutExtension }
.map { "$outDir/$it.o" }
.toTypedArray()
workingDir = File(outDir)
commandLine = listOf(
"clang++",
*targetArch.clangFlags,
*targetOs.clangFlags,
"-std=c++17",
"-c",
"-DPROVIDE_JNI_TYPES",
"-DSK_SHAPER_CORETEXT_AVAILABLE",
"-DSK_BUILD_FOR_MAC",
"-DSK_METAL",
"-I$projectDir/src/macosX64Main/cpp/headers",
"-I$projectDir/src/commonMain/cpp/headers",
*skiaPreprocessorFlags,
*srcs
)
file(outDir).mkdirs()
inputs.files(srcs)
outputs.files(outs)
}
project.tasks.register<Exec>("nativeBridgesLink") {
dependsOn(project.tasks.getByName("nativeBridgesCompile"))
inputs.files(project.tasks.getByName("nativeBridgesCompile").outputs)
val outDir = "$buildDir/nativeBridges/static/$target"
val srcs = inputs.files.files
.map { it.absolutePath }
.toTypedArray()
println("SRCS: $srcs")
val staticLib = "$outDir/skiko-native-bridges-$target.a"
workingDir = File(outDir)
commandLine = listOf(
"libtool",
"-static",
"-o",
staticLib,
*srcs
)
file(outDir).mkdirs()
outputs.files(staticLib)
}
fun localSign(signer: String, lib: File): File { fun localSign(signer: String, lib: File): File {
println("Local signing $lib as $signer") println("Local signing $lib as $signer")
val proc = ProcessBuilder("codesign", "-f", "-s", signer, lib.absolutePath) val proc = ProcessBuilder("codesign", "-f", "-s", signer, lib.absolutePath)
...@@ -480,6 +559,7 @@ tasks.withType(LinkSharedLibrary::class.java).configureEach { ...@@ -480,6 +559,7 @@ tasks.withType(LinkSharedLibrary::class.java).configureEach {
extensions.configure<CppLibrary> { extensions.configure<CppLibrary> {
source.from( source.from(
fileTree("$projectDir/src/commonMain/cpp/common"),
fileTree("$projectDir/src/jvmMain/cpp/common"), fileTree("$projectDir/src/jvmMain/cpp/common"),
fileTree("$projectDir/src/jvmMain/cpp/${targetOs.id}") fileTree("$projectDir/src/jvmMain/cpp/${targetOs.id}")
) )
...@@ -722,12 +802,6 @@ publishing { ...@@ -722,12 +802,6 @@ publishing {
} }
} }
if (supportNative) { if (supportNative) {
create<MavenPublication>("skikoNativeSkiaInterop") {
artifactId = SkikoArtifacts.nativeSkiaInteropArtifactIdFor(targetOs, targetArch)
afterEvaluate {
artifact(project.tasks.withType(CInteropProcess::class.java).single().outputs.getFiles().single())
}
}
create<MavenPublication>("skikoNativeRuntime") { create<MavenPublication>("skikoNativeRuntime") {
artifactId = SkikoArtifacts.nativeRuntimeArtifactIdFor(targetOs, targetArch) artifactId = SkikoArtifacts.nativeRuntimeArtifactIdFor(targetOs, targetArch)
afterEvaluate { afterEvaluate {
...@@ -741,8 +815,13 @@ publishing { ...@@ -741,8 +815,13 @@ publishing {
} }
} }
tasks.withType<KotlinCompile>().configureEach { afterEvaluate {
tasks.withType<KotlinCompile>().configureEach {
if (name == "compileTestKotlinJvm") { if (name == "compileTestKotlinJvm") {
kotlinOptions.freeCompilerArgs += "-Xopt-in=kotlin.RequiresOptIn" kotlinOptions.freeCompilerArgs += "-Xopt-in=kotlin.RequiresOptIn"
} }
if (supportNative) {
dependsOn(tasks.getByName("nativeBridgesLink"))
}
}
} }
import org.gradle.api.Project import org.gradle.api.Project
import java.io.File import java.io.File
enum class OS(val id: String) { enum class OS(val id: String, val clangFlags: Array<String>) {
Linux("linux"), Linux("linux", arrayOf()),
Windows("windows"), Windows("windows", arrayOf()),
MacOS("macos"), MacOS("macos", arrayOf("-mmacosx-version-min=10.13")),
Wasm("wasm") Wasm("wasm", arrayOf())
; ;
val isWindows val isWindows
......
#include "common.h"
#include "src/utils/SkUTF.h"
jlong packTwoInts(int32_t a, int32_t b) {
return (uint64_t (a) << 32) | b;
}
jlong packIPoint(SkIPoint p) {
return packTwoInts(p.fX, p.fY);
}
jlong packISize(SkISize p) {
return packTwoInts(p.fWidth, p.fHeight);
}
namespace skija {
namespace SamplingMode {
SkSamplingOptions unpack(jlong val) {
if (0x8000000000000000 & val) {
val = val & 0x7FFFFFFFFFFFFFFF;
float* ptr = reinterpret_cast<float*>(&val);
return SkSamplingOptions(SkCubicResampler {ptr[1], ptr[0]});
} else {
int32_t filter = (int32_t) ((val >> 32) & 0xFFFFFFFF);
int32_t mipmap = (int32_t) (val & 0xFFFFFFFF);
return SkSamplingOptions(static_cast<SkFilterMode>(filter), static_cast<SkMipmapMode>(mipmap));
}
}
}
}
skija::UtfIndicesConverter::UtfIndicesConverter(const char* chars8, size_t len8):
fStart8(chars8),
fPtr8(chars8),
fEnd8(chars8 + len8),
fPos16(0)
{}
skija::UtfIndicesConverter::UtfIndicesConverter(const SkString& str):
skija::UtfIndicesConverter::UtfIndicesConverter(str.c_str(), str.size())
{}
size_t skija::UtfIndicesConverter::from16To8(uint32_t i16) {
if (i16 >= fPos16) {
// if new i16 >= last fPos16, continue from where we started
} else {
fPtr8 = fStart8;
fPos16 = 0;
}
while (fPtr8 < fEnd8 && fPos16 < i16) {
SkUnichar u = SkUTF::NextUTF8(&fPtr8, fEnd8);
fPos16 += (uint32_t) SkUTF::ToUTF16(u);
}
return fPtr8 - fStart8;
}
uint32_t skija::UtfIndicesConverter::from8To16(size_t i8) {
if (i8 >= (size_t) (fPtr8 - fStart8)) {
// if new i8 >= last fPtr8, continue from where we started
} else {
fPtr8 = fStart8;
fPos16 = 0;
}
while (fPtr8 < fEnd8 && (size_t) (fPtr8 - fStart8) < i8) {
SkUnichar u = SkUTF::NextUTF8(&fPtr8, fEnd8);
fPos16 += (uint32_t) SkUTF::ToUTF16(u);
}
return fPos16;
}
#ifndef SKIKO_COMMON_H
#define SKIKO_COMMON_H
#include "SkCodec.h"
#include "SkFontMetrics.h"
#include "SkFontStyle.h"
#include "SkImageInfo.h"
#include "SkMatrix.h"
#include "SkM44.h"
#include "SkPaint.h"
#include "SkRefCnt.h"
#include "SkRect.h"
#include "SkRRect.h"
#include "SkScalar.h"
#include "SkShaper.h"
#include "SkString.h"
#include "SkSurfaceProps.h"
#include <stdexcept>
#include "types.h"
jlong packTwoInts(int32_t a, int32_t b);
jlong packIPoint(SkIPoint p);
jlong packISize(SkISize p);
namespace skija {
namespace SamplingMode {
SkSamplingOptions unpack(jlong val);
}
class UtfIndicesConverter {
public:
UtfIndicesConverter(const char* chars8, size_t len8);
UtfIndicesConverter(const SkString& s);
const char* fStart8;
const char* fPtr8;
const char* fEnd8;
uint32_t fPos16;
size_t from16To8(uint32_t i16);
uint32_t from8To16(size_t i8);
};
}
template <typename T>
inline T jlongToPtr(jlong ptr) {
return reinterpret_cast<T>(static_cast<uintptr_t>(ptr));
}
template <typename T>
jlong ptrToJlong(T* ptr) {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(ptr));
}
#endif /* SKIKO_COMMON_H */
#ifndef SKIKO_TYPES_H
#define SKIKO_TYPES_H
#ifdef PROVIDE_JNI_TYPES
#include <stdint.h>
#include <stdbool.h>
typedef int8_t jboolean;
typedef int8_t jbyte;
typedef int16_t jchar;
typedef int16_t jshort;
typedef int32_t jint;
typedef float jfloat;
typedef int64_t jlong;
typedef double jdouble;
typedef jint jsize;
// These are not implemented yet,
// so just jave something as a fallback for the exception throwing stub.
typedef void* jstring;
typedef void* jobject;
typedef void* jobjectArray;
typedef void* jbyteArray;
typedef void* jshortArray;
typedef void* jintArray;
typedef void* jfloatArray;
typedef void* jlongArray;
typedef void* jdoubleArray;
typedef void* kref;
#else
#include <jni.h>
#endif /* PROVIDE_JNI_TYPES */
#endif /* SKIKO_TYPES_H */
...@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad ...@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Managed import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class Bitmap internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR), IHasImageInfo { class Bitmap internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR), IHasImageInfo {
...@@ -18,24 +19,60 @@ class Bitmap internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR ...@@ -18,24 +19,60 @@ class Bitmap internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR
} }
} }
@JvmStatic external fun _nGetFinalizer(): Long @JvmStatic
@JvmStatic external fun _nMake(): Long @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetFinalizer")
@JvmStatic external fun _nMakeClone(ptr: Long): Long external fun _nGetFinalizer(): Long
@JvmStatic external fun _nSwap(ptr: Long, otherPtr: Long) @JvmStatic
@JvmStatic external fun _nGetPixmap(ptr: Long): Long @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nMake")
@JvmStatic external fun _nGetImageInfo(ptr: Long): ImageInfo? external fun _nMake(): Long
@JvmStatic external fun _nGetRowBytesAsPixels(ptr: Long): Int @JvmStatic
@JvmStatic external fun _nIsNull(ptr: Long): Boolean @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nMakeClone")
@JvmStatic external fun _nGetRowBytes(ptr: Long): Long external fun _nMakeClone(ptr: Long): Long
@JvmStatic external fun _nSetAlphaType(ptr: Long, alphaType: Int): Boolean @JvmStatic
@JvmStatic external fun _nComputeByteSize(ptr: Long): Long @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nSwap")
@JvmStatic external fun _nIsImmutable(ptr: Long): Boolean external fun _nSwap(ptr: Long, otherPtr: Long)
@JvmStatic external fun _nSetImmutable(ptr: Long) @JvmStatic
@JvmStatic external fun _nIsVolatile(ptr: Long): Boolean @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetPixmap")
@JvmStatic external fun _nSetVolatile(ptr: Long, value: Boolean) external fun _nGetPixmap(ptr: Long): Long
@JvmStatic external fun _nReset(ptr: Long) @JvmStatic
@JvmStatic external fun _nComputeIsOpaque(ptr: Long): Boolean @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetImageInfo")
@JvmStatic external fun _nSetImageInfo( external fun _nGetImageInfo(ptr: Long): ImageInfo?
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetRowBytesAsPixels")
external fun _nGetRowBytesAsPixels(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nIsNull")
external fun _nIsNull(ptr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetRowBytes")
external fun _nGetRowBytes(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nSetAlphaType")
external fun _nSetAlphaType(ptr: Long, alphaType: Int): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nComputeByteSize")
external fun _nComputeByteSize(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nIsImmutable")
external fun _nIsImmutable(ptr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nSetImmutable")
external fun _nSetImmutable(ptr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nIsVolatile")
external fun _nIsVolatile(ptr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nSetVolatile")
external fun _nSetVolatile(ptr: Long, value: Boolean)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nReset")
external fun _nReset(ptr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nComputeIsOpaque")
external fun _nComputeIsOpaque(ptr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nSetImageInfo")
external fun _nSetImageInfo(
ptr: Long, ptr: Long,
width: Int, width: Int,
height: Int, height: Int,
...@@ -45,7 +82,9 @@ class Bitmap internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR ...@@ -45,7 +82,9 @@ class Bitmap internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR
rowBytes: Long rowBytes: Long
): Boolean ): Boolean
@JvmStatic external fun _nAllocPixelsFlags( @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nAllocPixelsFlags")
external fun _nAllocPixelsFlags(
ptr: Long, ptr: Long,
width: Int, width: Int,
height: Int, height: Int,
...@@ -55,7 +94,9 @@ class Bitmap internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR ...@@ -55,7 +94,9 @@ class Bitmap internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR
flags: Int flags: Int
): Boolean ): Boolean
@JvmStatic external fun _nAllocPixelsRowBytes( @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nAllocPixelsRowBytes")
external fun _nAllocPixelsRowBytes(
ptr: Long, ptr: Long,
width: Int, width: Int,
height: Int, height: Int,
...@@ -65,7 +106,9 @@ class Bitmap internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR ...@@ -65,7 +106,9 @@ class Bitmap internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR
rowBytes: Long rowBytes: Long
): Boolean ): Boolean
@JvmStatic external fun _nInstallPixels( @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nInstallPixels")
external fun _nInstallPixels(
ptr: Long, ptr: Long,
width: Int, width: Int,
height: Int, height: Int,
...@@ -76,19 +119,45 @@ class Bitmap internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR ...@@ -76,19 +119,45 @@ class Bitmap internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR
rowBytes: Long rowBytes: Long
): Boolean ): Boolean
@JvmStatic external fun _nAllocPixels(ptr: Long): Boolean @JvmStatic
@JvmStatic external fun _nGetPixelRef(ptr: Long): Long @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nAllocPixels")
@JvmStatic external fun _nGetPixelRefOrigin(ptr: Long): Long external fun _nAllocPixels(ptr: Long): Boolean
@JvmStatic external fun _nSetPixelRef(ptr: Long, pixelRefPtr: Long, dx: Int, dy: Int) @JvmStatic
@JvmStatic external fun _nIsReadyToDraw(ptr: Long): Boolean @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetPixelRef")
@JvmStatic external fun _nGetGenerationId(ptr: Long): Int external fun _nGetPixelRef(ptr: Long): Long
@JvmStatic external fun _nNotifyPixelsChanged(ptr: Long) @JvmStatic
@JvmStatic external fun _nEraseColor(ptr: Long, color: Int) @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetPixelRefOrigin")
@JvmStatic external fun _nErase(ptr: Long, color: Int, left: Int, top: Int, right: Int, bottom: Int) external fun _nGetPixelRefOrigin(ptr: Long): Long
@JvmStatic external fun _nGetColor(ptr: Long, x: Int, y: Int): Int @JvmStatic
@JvmStatic external fun _nGetAlphaf(ptr: Long, x: Int, y: Int): Float @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nSetPixelRef")
@JvmStatic external fun _nExtractSubset(ptr: Long, dstPtr: Long, left: Int, top: Int, right: Int, bottom: Int): Boolean external fun _nSetPixelRef(ptr: Long, pixelRefPtr: Long, dx: Int, dy: Int)
@JvmStatic external fun _nReadPixels( @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nIsReadyToDraw")
external fun _nIsReadyToDraw(ptr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetGenerationId")
external fun _nGetGenerationId(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nNotifyPixelsChanged")
external fun _nNotifyPixelsChanged(ptr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nEraseColor")
external fun _nEraseColor(ptr: Long, color: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nErase")
external fun _nErase(ptr: Long, color: Int, left: Int, top: Int, right: Int, bottom: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetColor")
external fun _nGetColor(ptr: Long, x: Int, y: Int): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetAlphaf")
external fun _nGetAlphaf(ptr: Long, x: Int, y: Int): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nExtractSubset")
external fun _nExtractSubset(ptr: Long, dstPtr: Long, left: Int, top: Int, right: Int, bottom: Int): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nReadPixels")
external fun _nReadPixels(
ptr: Long, ptr: Long,
width: Int, width: Int,
height: Int, height: Int,
...@@ -100,9 +169,15 @@ class Bitmap internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR ...@@ -100,9 +169,15 @@ class Bitmap internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR
srcY: Int srcY: Int
): ByteArray? ): ByteArray?
@JvmStatic external fun _nExtractAlpha(ptr: Long, dstPtr: Long, paintPtr: Long): IPoint? @JvmStatic
@JvmStatic external fun _nPeekPixels(ptr: Long): ByteBuffer? @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nExtractAlpha")
@JvmStatic external fun _nMakeShader(ptr: Long, tmx: Int, tmy: Int, samplingMode: Long, localMatrix: FloatArray?): Long external fun _nExtractAlpha(ptr: Long, dstPtr: Long, paintPtr: Long): IPoint?
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nPeekPixels")
external fun _nPeekPixels(ptr: Long): ByteBuffer?
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nMakeShader")
external fun _nMakeShader(ptr: Long, tmx: Int, tmy: Int, samplingMode: Long, localMatrix: FloatArray?): Long
init { init {
staticLoad() staticLoad()
......
...@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad ...@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Managed import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
/** /**
...@@ -291,20 +292,48 @@ class BreakIterator internal constructor(ptr: Long) : Managed(ptr, _FinalizerHol ...@@ -291,20 +292,48 @@ class BreakIterator internal constructor(ptr: Long) : Managed(ptr, _FinalizerHol
return BreakIterator(_nMake(3, locale)) // UBRK_SENTENCE return BreakIterator(_nMake(3, locale)) // UBRK_SENTENCE
} }
@JvmStatic external fun _nGetFinalizer(): Long @JvmStatic
@JvmStatic external fun _nMake(type: Int, locale: String?): Long @ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nGetFinalizer")
@JvmStatic external fun _nClone(ptr: Long): Long external fun _nGetFinalizer(): Long
@JvmStatic external fun _nCurrent(ptr: Long): Int @JvmStatic
@JvmStatic external fun _nNext(ptr: Long): Int @ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nMake")
@JvmStatic external fun _nPrevious(ptr: Long): Int external fun _nMake(type: Int, locale: String?): Long
@JvmStatic external fun _nFirst(ptr: Long): Int @JvmStatic
@JvmStatic external fun _nLast(ptr: Long): Int @ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nClone")
@JvmStatic external fun _nPreceding(ptr: Long, offset: Int): Int external fun _nClone(ptr: Long): Long
@JvmStatic external fun _nFollowing(ptr: Long, offset: Int): Int @JvmStatic
@JvmStatic external fun _nIsBoundary(ptr: Long, offset: Int): Boolean @ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nCurrent")
@JvmStatic external fun _nGetRuleStatus(ptr: Long): Int external fun _nCurrent(ptr: Long): Int
@JvmStatic external fun _nGetRuleStatuses(ptr: Long): IntArray @JvmStatic
@JvmStatic external fun _nSetText(ptr: Long, textPtr: Long) @ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nNext")
external fun _nNext(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nPrevious")
external fun _nPrevious(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nFirst")
external fun _nFirst(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nLast")
external fun _nLast(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nPreceding")
external fun _nPreceding(ptr: Long, offset: Int): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nFollowing")
external fun _nFollowing(ptr: Long, offset: Int): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nIsBoundary")
external fun _nIsBoundary(ptr: Long, offset: Int): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nGetRuleStatus")
external fun _nGetRuleStatus(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nGetRuleStatuses")
external fun _nGetRuleStatuses(ptr: Long): IntArray
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nSetText")
external fun _nSetText(ptr: Long, textPtr: Long)
init { init {
staticLoad() staticLoad()
......
...@@ -7,22 +7,29 @@ import org.jetbrains.skia.impl.Managed ...@@ -7,22 +7,29 @@ import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.impl.use import org.jetbrains.skia.impl.use
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val _owner: Any) : open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val _owner: Any) :
Managed(ptr, _FinalizerHolder.PTR, managed) { Managed(ptr, _FinalizerHolder.PTR, managed) {
companion object { companion object {
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nGetFinalizer")
external fun _nGetFinalizer(): Long external fun _nGetFinalizer(): Long
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nMakeFromBitmap")
external fun _nMakeFromBitmap(bitmapPtr: Long, flags: Int, pixelGeometry: Int): Long external fun _nMakeFromBitmap(bitmapPtr: Long, flags: Int, pixelGeometry: Int): Long
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawPoint")
external fun _nDrawPoint(ptr: Long, x: Float, y: Float, paintPtr: Long) external fun _nDrawPoint(ptr: Long, x: Float, y: Float, paintPtr: Long)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawPoints")
external fun _nDrawPoints(ptr: Long, mode: Int, coords: FloatArray?, paintPtr: Long) external fun _nDrawPoints(ptr: Long, mode: Int, coords: FloatArray?, paintPtr: Long)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawLine")
external fun _nDrawLine(ptr: Long, x0: Float, y0: Float, x1: Float, y1: Float, paintPtr: Long) external fun _nDrawLine(ptr: Long, x0: Float, y0: Float, x1: Float, y1: Float, paintPtr: Long)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawArc")
external fun _nDrawArc( external fun _nDrawArc(
ptr: Long, ptr: Long,
left: Float, left: Float,
...@@ -36,10 +43,13 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val ...@@ -36,10 +43,13 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val
) )
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawRect")
external fun _nDrawRect(ptr: Long, left: Float, top: Float, right: Float, bottom: Float, paintPtr: Long) external fun _nDrawRect(ptr: Long, left: Float, top: Float, right: Float, bottom: Float, paintPtr: Long)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawOval")
external fun _nDrawOval(ptr: Long, left: Float, top: Float, right: Float, bottom: Float, paint: Long) external fun _nDrawOval(ptr: Long, left: Float, top: Float, right: Float, bottom: Float, paint: Long)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawRRect")
external fun _nDrawRRect( external fun _nDrawRRect(
ptr: Long, ptr: Long,
left: Float, left: Float,
...@@ -51,6 +61,7 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val ...@@ -51,6 +61,7 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val
) )
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawDRRect")
external fun _nDrawDRRect( external fun _nDrawDRRect(
ptr: Long, ptr: Long,
ol: Float, ol: Float,
...@@ -67,8 +78,10 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val ...@@ -67,8 +78,10 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val
) )
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawPath")
external fun _nDrawPath(ptr: Long, nativePath: Long, paintPtr: Long) external fun _nDrawPath(ptr: Long, nativePath: Long, paintPtr: Long)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawImageRect")
external fun _nDrawImageRect( external fun _nDrawImageRect(
ptr: Long, ptr: Long,
nativeImage: Long, nativeImage: Long,
...@@ -86,6 +99,7 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val ...@@ -86,6 +99,7 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val
) )
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawImageNine")
external fun _nDrawImageNine( external fun _nDrawImageNine(
ptr: Long, ptr: Long,
nativeImage: Long, nativeImage: Long,
...@@ -102,14 +116,19 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val ...@@ -102,14 +116,19 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val
) )
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawRegion")
external fun _nDrawRegion(ptr: Long, nativeRegion: Long, paintPtr: Long) external fun _nDrawRegion(ptr: Long, nativeRegion: Long, paintPtr: Long)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawString")
external fun _nDrawString(ptr: Long, string: String?, x: Float, y: Float, font: Long, paint: Long) external fun _nDrawString(ptr: Long, string: String?, x: Float, y: Float, font: Long, paint: Long)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawTextBlob")
external fun _nDrawTextBlob(ptr: Long, blob: Long, x: Float, y: Float, paint: Long) external fun _nDrawTextBlob(ptr: Long, blob: Long, x: Float, y: Float, paint: Long)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawPicture")
external fun _nDrawPicture(ptr: Long, picturePtr: Long, matrix: FloatArray?, paintPtr: Long) external fun _nDrawPicture(ptr: Long, picturePtr: Long, matrix: FloatArray?, paintPtr: Long)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawVertices")
external fun _nDrawVertices( external fun _nDrawVertices(
ptr: Long, ptr: Long,
verticesMode: Int, verticesMode: Int,
...@@ -122,6 +141,7 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val ...@@ -122,6 +141,7 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val
) )
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawPatch")
external fun _nDrawPatch( external fun _nDrawPatch(
ptr: Long, ptr: Long,
cubics: FloatArray?, cubics: FloatArray?,
...@@ -132,18 +152,25 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val ...@@ -132,18 +152,25 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val
) )
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawDrawable")
external fun _nDrawDrawable(ptr: Long, drawablePrt: Long, matrix: FloatArray?) external fun _nDrawDrawable(ptr: Long, drawablePrt: Long, matrix: FloatArray?)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nClear")
external fun _nClear(ptr: Long, color: Int) external fun _nClear(ptr: Long, color: Int)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawPaint")
external fun _nDrawPaint(ptr: Long, paintPtr: Long) external fun _nDrawPaint(ptr: Long, paintPtr: Long)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nSetMatrix")
external fun _nSetMatrix(ptr: Long, matrix: FloatArray?) external fun _nSetMatrix(ptr: Long, matrix: FloatArray?)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nGetLocalToDevice")
external fun _nGetLocalToDevice(ptr: Long): FloatArray external fun _nGetLocalToDevice(ptr: Long): FloatArray
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nResetMatrix")
external fun _nResetMatrix(ptr: Long) external fun _nResetMatrix(ptr: Long)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nClipRect")
external fun _nClipRect( external fun _nClipRect(
ptr: Long, ptr: Long,
left: Float, left: Float,
...@@ -155,6 +182,7 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val ...@@ -155,6 +182,7 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val
) )
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nClipRRect")
external fun _nClipRRect( external fun _nClipRRect(
ptr: Long, ptr: Long,
left: Float, left: Float,
...@@ -167,22 +195,31 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val ...@@ -167,22 +195,31 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val
) )
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nClipPath")
external fun _nClipPath(ptr: Long, nativePath: Long, mode: Int, antiAlias: Boolean) external fun _nClipPath(ptr: Long, nativePath: Long, mode: Int, antiAlias: Boolean)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nClipRegion")
external fun _nClipRegion(ptr: Long, nativeRegion: Long, mode: Int) external fun _nClipRegion(ptr: Long, nativeRegion: Long, mode: Int)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nConcat")
external fun _nConcat(ptr: Long, matrix: FloatArray?) external fun _nConcat(ptr: Long, matrix: FloatArray?)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nConcat44")
external fun _nConcat44(ptr: Long, matrix: FloatArray?) external fun _nConcat44(ptr: Long, matrix: FloatArray?)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nReadPixels")
external fun _nReadPixels(ptr: Long, bitmapPtr: Long, srcX: Int, srcY: Int): Boolean external fun _nReadPixels(ptr: Long, bitmapPtr: Long, srcX: Int, srcY: Int): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nWritePixels")
external fun _nWritePixels(ptr: Long, bitmapPtr: Long, x: Int, y: Int): Boolean external fun _nWritePixels(ptr: Long, bitmapPtr: Long, x: Int, y: Int): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nSave")
external fun _nSave(ptr: Long): Int external fun _nSave(ptr: Long): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nSaveLayer")
external fun _nSaveLayer(ptr: Long, paintPtr: Long): Int external fun _nSaveLayer(ptr: Long, paintPtr: Long): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nSaveLayerRect")
external fun _nSaveLayerRect( external fun _nSaveLayerRect(
ptr: Long, ptr: Long,
left: Float, left: Float,
...@@ -193,10 +230,13 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val ...@@ -193,10 +230,13 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val
): Int ): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nGetSaveCount")
external fun _nGetSaveCount(ptr: Long): Int external fun _nGetSaveCount(ptr: Long): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nRestore")
external fun _nRestore(ptr: Long) external fun _nRestore(ptr: Long)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nRestoreToCount")
external fun _nRestoreToCount(ptr: Long, saveCount: Int) external fun _nRestoreToCount(ptr: Long, saveCount: Int)
init { init {
......
...@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad ...@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Managed import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class Codec internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR), IHasImageInfo { class Codec internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR), IHasImageInfo {
...@@ -39,17 +40,39 @@ class Codec internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) ...@@ -39,17 +40,39 @@ class Codec internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR)
} }
} }
@JvmStatic external fun _nGetFinalizer(): Long @JvmStatic
@JvmStatic external fun _nMakeFromData(dataPtr: Long): Long @ExternalSymbolName("org_jetbrains_skia_Codec__1nGetFinalizer")
@JvmStatic external fun _nGetImageInfo(ptr: Long): ImageInfo? external fun _nGetFinalizer(): Long
@JvmStatic external fun _nGetSize(ptr: Long): Long @JvmStatic
@JvmStatic external fun _nGetEncodedOrigin(ptr: Long): Int @ExternalSymbolName("org_jetbrains_skia_Codec__1nMakeFromData")
@JvmStatic external fun _nGetEncodedImageFormat(ptr: Long): Int external fun _nMakeFromData(dataPtr: Long): Long
@JvmStatic external fun _nReadPixels(ptr: Long, bitmapPtr: Long, frame: Int, priorFrame: Int): Int @JvmStatic
@JvmStatic external fun _nGetFrameCount(ptr: Long): Int @ExternalSymbolName("org_jetbrains_skia_Codec__1nGetImageInfo")
@JvmStatic external fun _nGetFrameInfo(ptr: Long, frame: Int): AnimationFrameInfo external fun _nGetImageInfo(ptr: Long): ImageInfo?
@JvmStatic external fun _nGetFramesInfo(ptr: Long): Array<AnimationFrameInfo> @JvmStatic
@JvmStatic external fun _nGetRepetitionCount(ptr: Long): Int @ExternalSymbolName("org_jetbrains_skia_Codec__1nGetSize")
external fun _nGetSize(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Codec__1nGetEncodedOrigin")
external fun _nGetEncodedOrigin(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Codec__1nGetEncodedImageFormat")
external fun _nGetEncodedImageFormat(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Codec__1nReadPixels")
external fun _nReadPixels(ptr: Long, bitmapPtr: Long, frame: Int, priorFrame: Int): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Codec__1nGetFrameCount")
external fun _nGetFrameCount(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Codec__1nGetFrameInfo")
external fun _nGetFrameInfo(ptr: Long, frame: Int): AnimationFrameInfo
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Codec__1nGetFramesInfo")
external fun _nGetFramesInfo(ptr: Long): Array<AnimationFrameInfo>
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Codec__1nGetRepetitionCount")
external fun _nGetRepetitionCount(ptr: Long): Int
init { init {
staticLoad() staticLoad()
......
...@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad ...@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.RefCnt import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class ColorFilter : RefCnt { class ColorFilter : RefCnt {
...@@ -80,19 +81,45 @@ class ColorFilter : RefCnt { ...@@ -80,19 +81,45 @@ class ColorFilter : RefCnt {
return ColorFilter(_nMakeOverdraw(colors[0], colors[1], colors[2], colors[3], colors[4], colors[5])) return ColorFilter(_nMakeOverdraw(colors[0], colors[1], colors[2], colors[3], colors[4], colors[5]))
} }
@JvmStatic external fun _nMakeComposed(outer: Long, inner: Long): Long @JvmStatic
@JvmStatic external fun _nMakeBlend(color: Int, blendMode: Int): Long @ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nMakeComposed")
@JvmStatic external fun _nMakeMatrix(rowMajor: FloatArray?): Long external fun _nMakeComposed(outer: Long, inner: Long): Long
@JvmStatic external fun _nMakeHSLAMatrix(rowMajor: FloatArray?): Long @JvmStatic
@JvmStatic external fun _nGetLinearToSRGBGamma(): Long @ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nMakeBlend")
@JvmStatic external fun _nGetSRGBToLinearGamma(): Long external fun _nMakeBlend(color: Int, blendMode: Int): Long
@JvmStatic external fun _nMakeLerp(t: Float, dstPtr: Long, srcPtr: Long): Long @JvmStatic
@JvmStatic external fun _nMakeLighting(colorMul: Int, colorAdd: Int): Long @ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nMakeMatrix")
@JvmStatic external fun _nMakeHighContrast(grayscale: Boolean, inversionMode: Int, contrast: Float): Long external fun _nMakeMatrix(rowMajor: FloatArray?): Long
@JvmStatic external fun _nMakeTable(table: ByteArray?): Long @JvmStatic
@JvmStatic external fun _nMakeTableARGB(a: ByteArray?, r: ByteArray?, g: ByteArray?, b: ByteArray?): Long @ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nMakeHSLAMatrix")
@JvmStatic external fun _nMakeOverdraw(c0: Int, c1: Int, c2: Int, c3: Int, c4: Int, c5: Int): Long external fun _nMakeHSLAMatrix(rowMajor: FloatArray?): Long
@JvmStatic external fun _nGetLuma(): Long @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nGetLinearToSRGBGamma")
external fun _nGetLinearToSRGBGamma(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nGetSRGBToLinearGamma")
external fun _nGetSRGBToLinearGamma(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nMakeLerp")
external fun _nMakeLerp(t: Float, dstPtr: Long, srcPtr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nMakeLighting")
external fun _nMakeLighting(colorMul: Int, colorAdd: Int): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nMakeHighContrast")
external fun _nMakeHighContrast(grayscale: Boolean, inversionMode: Int, contrast: Float): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nMakeTable")
external fun _nMakeTable(table: ByteArray?): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nMakeTableARGB")
external fun _nMakeTableARGB(a: ByteArray?, r: ByteArray?, g: ByteArray?, b: ByteArray?): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nMakeOverdraw")
external fun _nMakeOverdraw(c0: Int, c1: Int, c2: Int, c3: Int, c4: Int, c5: Int): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nGetLuma")
external fun _nGetLuma(): Long
init { init {
staticLoad() staticLoad()
......
...@@ -5,18 +5,35 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad ...@@ -5,18 +5,35 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Managed import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class ColorSpace : Managed { class ColorSpace : Managed {
companion object { companion object {
@JvmStatic external fun _nGetFinalizer(): Long @JvmStatic
@JvmStatic external fun _nMakeSRGB(): Long @ExternalSymbolName("org_jetbrains_skia_ColorSpace__1nGetFinalizer")
@JvmStatic external fun _nMakeDisplayP3(): Long external fun _nGetFinalizer(): Long
@JvmStatic external fun _nMakeSRGBLinear(): Long @JvmStatic
@JvmStatic external fun _nConvert(fromPtr: Long, toPtr: Long, r: Float, g: Float, b: Float, a: Float): FloatArray @ExternalSymbolName("org_jetbrains_skia_ColorSpace__1nMakeSRGB")
@JvmStatic external fun _nIsGammaCloseToSRGB(ptr: Long): Boolean external fun _nMakeSRGB(): Long
@JvmStatic external fun _nIsGammaLinear(ptr: Long): Boolean @JvmStatic
@JvmStatic external fun _nIsSRGB(ptr: Long): Boolean @ExternalSymbolName("org_jetbrains_skia_ColorSpace__1nMakeDisplayP3")
external fun _nMakeDisplayP3(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorSpace__1nMakeSRGBLinear")
external fun _nMakeSRGBLinear(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorSpace__1nConvert")
external fun _nConvert(fromPtr: Long, toPtr: Long, r: Float, g: Float, b: Float, a: Float): FloatArray
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorSpace__1nIsGammaCloseToSRGB")
external fun _nIsGammaCloseToSRGB(ptr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorSpace__1nIsGammaLinear")
external fun _nIsGammaLinear(ptr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorSpace__1nIsSRGB")
external fun _nIsSRGB(ptr: Long): Boolean
init { init {
staticLoad() staticLoad()
......
@file:Suppress("NESTED_EXTERNAL_DECLARATION") @file:Suppress("NESTED_EXTERNAL_DECLARATION")
package org.jetbrains.skia package org.jetbrains.skia
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
/** /**
...@@ -317,7 +318,9 @@ enum class ColorType { ...@@ -317,7 +318,9 @@ enum class ColorType {
* Native ARGB 32-bit encoding * Native ARGB 32-bit encoding
*/ */
var N32 = BGRA_8888 var N32 = BGRA_8888
@JvmStatic external fun _nIsAlwaysOpaque(value: Int): Boolean @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorType__1nIsAlwaysOpaque")
external fun _nIsAlwaysOpaque(value: Int): Boolean
} }
/** /**
......
...@@ -36,15 +36,33 @@ class Data internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) ...@@ -36,15 +36,33 @@ class Data internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR)
return Data(_nMakeEmpty()) return Data(_nMakeEmpty())
} }
@JvmStatic external fun _nGetFinalizer(): Long @JvmStatic
@JvmStatic external fun _nSize(ptr: Long): Long @ExternalSymbolName("org_jetbrains_skia_Data__1nGetFinalizer")
@JvmStatic external fun _nBytes(ptr: Long, offset: Long, length: Long): ByteArray external fun _nGetFinalizer(): Long
@JvmStatic external fun _nEquals(ptr: Long, otherPtr: Long): Boolean @JvmStatic
@JvmStatic external fun _nToByteBuffer(ptr: Long): ByteBuffer @ExternalSymbolName("org_jetbrains_skia_Data__1nSize")
@JvmStatic external fun _nMakeFromBytes(bytes: ByteArray?, offset: Long, length: Long): Long external fun _nSize(ptr: Long): Long
@JvmStatic external fun _nMakeFromFileName(path: String?): Long @JvmStatic
@JvmStatic external fun _nMakeSubset(ptr: Long, offset: Long, length: Long): Long @ExternalSymbolName("org_jetbrains_skia_Data__1nBytes")
@JvmStatic external fun _nMakeEmpty(): Long external fun _nBytes(ptr: Long, offset: Long, length: Long): ByteArray
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Data__1nEquals")
external fun _nEquals(ptr: Long, otherPtr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Data__1nToByteBuffer")
external fun _nToByteBuffer(ptr: Long): ByteBuffer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Data__1nMakeFromBytes")
external fun _nMakeFromBytes(bytes: ByteArray?, offset: Long, length: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Data__1nMakeFromFileName")
external fun _nMakeFromFileName(path: String?): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Data__1nMakeSubset")
external fun _nMakeSubset(ptr: Long, offset: Long, length: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Data__1nMakeEmpty")
external fun _nMakeEmpty(): Long
init { init {
staticLoad() staticLoad()
......
...@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad ...@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.RefCnt import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class DirectContext internal constructor(ptr: Long) : RefCnt(ptr) { class DirectContext internal constructor(ptr: Long) : RefCnt(ptr) {
...@@ -37,13 +38,27 @@ class DirectContext internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -37,13 +38,27 @@ class DirectContext internal constructor(ptr: Long) : RefCnt(ptr) {
return DirectContext(_nMakeDirect3D(adapterPtr, devicePtr, queuePtr)) return DirectContext(_nMakeDirect3D(adapterPtr, devicePtr, queuePtr))
} }
@JvmStatic external fun _nMakeGL(): Long @JvmStatic
@JvmStatic external fun _nMakeMetal(devicePtr: Long, queuePtr: Long): Long @ExternalSymbolName("org_jetbrains_skia_DirectContext__1nMakeGL")
@JvmStatic external fun _nMakeDirect3D(adapterPtr: Long, devicePtr: Long, queuePtr: Long): Long external fun _nMakeGL(): Long
@JvmStatic external fun _nFlush(ptr: Long): Long @JvmStatic
@JvmStatic external fun _nSubmit(ptr: Long, syncCpu: Boolean): Long @ExternalSymbolName("org_jetbrains_skia_DirectContext__1nMakeMetal")
@JvmStatic external fun _nReset(ptr: Long, flags: Int) external fun _nMakeMetal(devicePtr: Long, queuePtr: Long): Long
@JvmStatic external fun _nAbandon(ptr: Long) @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_DirectContext__1nMakeDirect3D")
external fun _nMakeDirect3D(adapterPtr: Long, devicePtr: Long, queuePtr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_DirectContext__1nFlush")
external fun _nFlush(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_DirectContext__1nSubmit")
external fun _nSubmit(ptr: Long, syncCpu: Boolean): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_DirectContext__1nReset")
external fun _nReset(ptr: Long, flags: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_DirectContext__1nAbandon")
external fun _nAbandon(ptr: Long)
init { init {
staticLoad() staticLoad()
......
...@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad ...@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.RefCnt import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
/** /**
...@@ -18,11 +19,21 @@ import kotlin.jvm.JvmStatic ...@@ -18,11 +19,21 @@ import kotlin.jvm.JvmStatic
*/ */
abstract class Drawable : RefCnt(_nMake()) { abstract class Drawable : RefCnt(_nMake()) {
companion object { companion object {
@JvmStatic external fun _nMake(): Long @JvmStatic
@JvmStatic external fun _nDraw(ptr: Long, canvasPtr: Long, matrix: FloatArray?) @ExternalSymbolName("org_jetbrains_skia_Drawable__1nMake")
@JvmStatic external fun _nMakePictureSnapshot(ptr: Long): Long external fun _nMake(): Long
@JvmStatic external fun _nGetGenerationId(ptr: Long): Int @JvmStatic
@JvmStatic external fun _nNotifyDrawingChanged(ptr: Long) @ExternalSymbolName("org_jetbrains_skia_Drawable__1nDraw")
external fun _nDraw(ptr: Long, canvasPtr: Long, matrix: FloatArray?)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Drawable__1nMakePictureSnapshot")
external fun _nMakePictureSnapshot(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Drawable__1nGetGenerationId")
external fun _nGetGenerationId(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Drawable__1nNotifyDrawingChanged")
external fun _nNotifyDrawingChanged(ptr: Long)
init { init {
staticLoad() staticLoad()
...@@ -123,6 +134,7 @@ abstract class Drawable : RefCnt(_nMake()) { ...@@ -123,6 +134,7 @@ abstract class Drawable : RefCnt(_nMake()) {
onDraw(Canvas(canvasPtr, false, this)) onDraw(Canvas(canvasPtr, false, this))
} }
@ExternalSymbolName("org_jetbrains_skia_Drawable__1nInit")
external fun _nInit(ptr: Long) external fun _nInit(ptr: Long)
init { init {
......
...@@ -6,6 +6,7 @@ import org.jetbrains.skia.impl.Managed ...@@ -6,6 +6,7 @@ import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Native import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class Font : Managed { class Font : Managed {
...@@ -15,52 +16,144 @@ class Font : Managed { ...@@ -15,52 +16,144 @@ class Font : Managed {
return Font(_nMakeClone(ptr)) return Font(_nMakeClone(ptr))
} }
@JvmStatic external fun _nGetFinalizer(): Long @JvmStatic
@JvmStatic external fun _nMakeDefault(): Long @ExternalSymbolName("org_jetbrains_skia_Font__1nGetFinalizer")
@JvmStatic external fun _nMakeTypeface(typefacePtr: Long): Long external fun _nGetFinalizer(): Long
@JvmStatic external fun _nMakeTypefaceSize(typefacePtr: Long, size: Float): Long @JvmStatic
@JvmStatic external fun _nMakeTypefaceSizeScaleSkew(typefacePtr: Long, size: Float, scaleX: Float, skewX: Float): Long @ExternalSymbolName("org_jetbrains_skia_Font__1nMakeDefault")
@JvmStatic external fun _nMakeClone(ptr: Long): Long external fun _nMakeDefault(): Long
@JvmStatic external fun _nEquals(ptr: Long, otherPtr: Long): Boolean @JvmStatic
@JvmStatic external fun _nIsAutoHintingForced(ptr: Long): Boolean @ExternalSymbolName("org_jetbrains_skia_Font__1nMakeTypeface")
@JvmStatic external fun _nAreBitmapsEmbedded(ptr: Long): Boolean external fun _nMakeTypeface(typefacePtr: Long): Long
@JvmStatic external fun _nIsSubpixel(ptr: Long): Boolean @JvmStatic
@JvmStatic external fun _nAreMetricsLinear(ptr: Long): Boolean @ExternalSymbolName("org_jetbrains_skia_Font__1nMakeTypefaceSize")
@JvmStatic external fun _nIsEmboldened(ptr: Long): Boolean external fun _nMakeTypefaceSize(typefacePtr: Long, size: Float): Long
@JvmStatic external fun _nIsBaselineSnapped(ptr: Long): Boolean @JvmStatic
@JvmStatic external fun _nSetAutoHintingForced(ptr: Long, value: Boolean) @ExternalSymbolName("org_jetbrains_skia_Font__1nMakeTypefaceSizeScaleSkew")
@JvmStatic external fun _nSetBitmapsEmbedded(ptr: Long, value: Boolean) external fun _nMakeTypefaceSizeScaleSkew(typefacePtr: Long, size: Float, scaleX: Float, skewX: Float): Long
@JvmStatic external fun _nSetSubpixel(ptr: Long, value: Boolean) @JvmStatic
@JvmStatic external fun _nSetMetricsLinear(ptr: Long, value: Boolean) @ExternalSymbolName("org_jetbrains_skia_Font__1nMakeClone")
@JvmStatic external fun _nSetEmboldened(ptr: Long, value: Boolean) external fun _nMakeClone(ptr: Long): Long
@JvmStatic external fun _nSetBaselineSnapped(ptr: Long, value: Boolean) @JvmStatic
@JvmStatic external fun _nGetEdging(ptr: Long): Int @ExternalSymbolName("org_jetbrains_skia_Font__1nEquals")
@JvmStatic external fun _nSetEdging(ptr: Long, value: Int) external fun _nEquals(ptr: Long, otherPtr: Long): Boolean
@JvmStatic external fun _nGetHinting(ptr: Long): Int @JvmStatic
@JvmStatic external fun _nSetHinting(ptr: Long, value: Int) @ExternalSymbolName("org_jetbrains_skia_Font__1nIsAutoHintingForced")
@JvmStatic external fun _nGetTypeface(ptr: Long): Long external fun _nIsAutoHintingForced(ptr: Long): Boolean
@JvmStatic external fun _nGetTypefaceOrDefault(ptr: Long): Long @JvmStatic
@JvmStatic external fun _nGetSize(ptr: Long): Float @ExternalSymbolName("org_jetbrains_skia_Font__1nAreBitmapsEmbedded")
@JvmStatic external fun _nGetScaleX(ptr: Long): Float external fun _nAreBitmapsEmbedded(ptr: Long): Boolean
@JvmStatic external fun _nGetSkewX(ptr: Long): Float @JvmStatic
@JvmStatic external fun _nSetTypeface(ptr: Long, typefacePtr: Long) @ExternalSymbolName("org_jetbrains_skia_Font__1nIsSubpixel")
@JvmStatic external fun _nSetSize(ptr: Long, value: Float) external fun _nIsSubpixel(ptr: Long): Boolean
@JvmStatic external fun _nSetScaleX(ptr: Long, value: Float) @JvmStatic
@JvmStatic external fun _nSetSkewX(ptr: Long, value: Float) @ExternalSymbolName("org_jetbrains_skia_Font__1nAreMetricsLinear")
@JvmStatic external fun _nGetStringGlyphs(ptr: Long, str: String?): ShortArray? external fun _nAreMetricsLinear(ptr: Long): Boolean
@JvmStatic external fun _nGetUTF32Glyph(ptr: Long, uni: Int): Short @JvmStatic
@JvmStatic external fun _nGetUTF32Glyphs(ptr: Long, uni: IntArray?): ShortArray @ExternalSymbolName("org_jetbrains_skia_Font__1nIsEmboldened")
@JvmStatic external fun _nGetStringGlyphsCount(ptr: Long, str: String?): Int external fun _nIsEmboldened(ptr: Long): Boolean
@JvmStatic external fun _nMeasureText(ptr: Long, str: String?, paintPtr: Long): Rect @JvmStatic
@JvmStatic external fun _nMeasureTextWidth(ptr: Long, str: String?, paintPtr: Long): Float @ExternalSymbolName("org_jetbrains_skia_Font__1nIsBaselineSnapped")
@JvmStatic external fun _nGetWidths(ptr: Long, glyphs: ShortArray?): FloatArray external fun _nIsBaselineSnapped(ptr: Long): Boolean
@JvmStatic external fun _nGetBounds(ptr: Long, glyphs: ShortArray?, paintPtr: Long): Array<Rect> @JvmStatic
@JvmStatic external fun _nGetPositions(ptr: Long, glyphs: ShortArray?, x: Float, y: Float): Array<Point> @ExternalSymbolName("org_jetbrains_skia_Font__1nSetAutoHintingForced")
@JvmStatic external fun _nGetXPositions(ptr: Long, glyphs: ShortArray?, x: Float): FloatArray external fun _nSetAutoHintingForced(ptr: Long, value: Boolean)
@JvmStatic external fun _nGetPath(ptr: Long, glyph: Short): Long @JvmStatic
@JvmStatic external fun _nGetPaths(ptr: Long, glyphs: ShortArray?): Array<Path> @ExternalSymbolName("org_jetbrains_skia_Font__1nSetBitmapsEmbedded")
@JvmStatic external fun _nGetMetrics(ptr: Long): FontMetrics external fun _nSetBitmapsEmbedded(ptr: Long, value: Boolean)
@JvmStatic external fun _nGetSpacing(ptr: Long): Float @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nSetSubpixel")
external fun _nSetSubpixel(ptr: Long, value: Boolean)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nSetMetricsLinear")
external fun _nSetMetricsLinear(ptr: Long, value: Boolean)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nSetEmboldened")
external fun _nSetEmboldened(ptr: Long, value: Boolean)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nSetBaselineSnapped")
external fun _nSetBaselineSnapped(ptr: Long, value: Boolean)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetEdging")
external fun _nGetEdging(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nSetEdging")
external fun _nSetEdging(ptr: Long, value: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetHinting")
external fun _nGetHinting(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nSetHinting")
external fun _nSetHinting(ptr: Long, value: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetTypeface")
external fun _nGetTypeface(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetTypefaceOrDefault")
external fun _nGetTypefaceOrDefault(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetSize")
external fun _nGetSize(ptr: Long): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetScaleX")
external fun _nGetScaleX(ptr: Long): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetSkewX")
external fun _nGetSkewX(ptr: Long): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nSetTypeface")
external fun _nSetTypeface(ptr: Long, typefacePtr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nSetSize")
external fun _nSetSize(ptr: Long, value: Float)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nSetScaleX")
external fun _nSetScaleX(ptr: Long, value: Float)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nSetSkewX")
external fun _nSetSkewX(ptr: Long, value: Float)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetStringGlyphs")
external fun _nGetStringGlyphs(ptr: Long, str: String?): ShortArray?
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetUTF32Glyph")
external fun _nGetUTF32Glyph(ptr: Long, uni: Int): Short
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetUTF32Glyphs")
external fun _nGetUTF32Glyphs(ptr: Long, uni: IntArray?): ShortArray
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetStringGlyphsCount")
external fun _nGetStringGlyphsCount(ptr: Long, str: String?): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nMeasureText")
external fun _nMeasureText(ptr: Long, str: String?, paintPtr: Long): Rect
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nMeasureTextWidth")
external fun _nMeasureTextWidth(ptr: Long, str: String?, paintPtr: Long): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetWidths")
external fun _nGetWidths(ptr: Long, glyphs: ShortArray?): FloatArray
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetBounds")
external fun _nGetBounds(ptr: Long, glyphs: ShortArray?, paintPtr: Long): Array<Rect>
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetPositions")
external fun _nGetPositions(ptr: Long, glyphs: ShortArray?, x: Float, y: Float): Array<Point>
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetXPositions")
external fun _nGetXPositions(ptr: Long, glyphs: ShortArray?, x: Float): FloatArray
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetPath")
external fun _nGetPath(ptr: Long, glyph: Short): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetPaths")
external fun _nGetPaths(ptr: Long, glyphs: ShortArray?): Array<Path>
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetMetrics")
external fun _nGetMetrics(ptr: Long): FontMetrics
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetSpacing")
external fun _nGetSpacing(ptr: Long): Float
init { init {
staticLoad() staticLoad()
......
...@@ -5,24 +5,41 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad ...@@ -5,24 +5,41 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.RefCnt import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
open class FontMgr : RefCnt { open class FontMgr : RefCnt {
companion object { companion object {
@JvmStatic external fun _nGetFamiliesCount(ptr: Long): Int @JvmStatic
@JvmStatic external fun _nGetFamilyName(ptr: Long, index: Int): String @ExternalSymbolName("org_jetbrains_skia_FontMgr__1nGetFamiliesCount")
@JvmStatic external fun _nMakeStyleSet(ptr: Long, index: Int): Long external fun _nGetFamiliesCount(ptr: Long): Int
@JvmStatic external fun _nMatchFamily(ptr: Long, familyName: String?): Long @JvmStatic
@JvmStatic external fun _nMatchFamilyStyle(ptr: Long, familyName: String?, fontStyle: Int): Long @ExternalSymbolName("org_jetbrains_skia_FontMgr__1nGetFamilyName")
@JvmStatic external fun _nMatchFamilyStyleCharacter( external fun _nGetFamilyName(ptr: Long, index: Int): String
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontMgr__1nMakeStyleSet")
external fun _nMakeStyleSet(ptr: Long, index: Int): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontMgr__1nMatchFamily")
external fun _nMatchFamily(ptr: Long, familyName: String?): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontMgr__1nMatchFamilyStyle")
external fun _nMatchFamilyStyle(ptr: Long, familyName: String?, fontStyle: Int): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontMgr__1nMatchFamilyStyleCharacter")
external fun _nMatchFamilyStyleCharacter(
ptr: Long, ptr: Long,
familyName: String?, familyName: String?,
fontStyle: Int, fontStyle: Int,
bcp47: Array<String?>?, bcp47: Array<String?>?,
character: Int character: Int
): Long ): Long
@JvmStatic external fun _nMakeFromData(ptr: Long, dataPtr: Long, ttcIndex: Int): Long @JvmStatic
@JvmStatic external fun _nDefault(): Long @ExternalSymbolName("org_jetbrains_skia_FontMgr__1nMakeFromData")
external fun _nMakeFromData(ptr: Long, dataPtr: Long, ttcIndex: Int): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontMgr__1nDefault")
external fun _nDefault(): Long
init { init {
staticLoad() staticLoad()
......
...@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad ...@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.RefCnt import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class FontStyleSet internal constructor(ptr: Long) : RefCnt(ptr) { class FontStyleSet internal constructor(ptr: Long) : RefCnt(ptr) {
...@@ -14,12 +15,24 @@ class FontStyleSet internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -14,12 +15,24 @@ class FontStyleSet internal constructor(ptr: Long) : RefCnt(ptr) {
return FontStyleSet(_nMakeEmpty()) return FontStyleSet(_nMakeEmpty())
} }
@JvmStatic external fun _nMakeEmpty(): Long @JvmStatic
@JvmStatic external fun _nCount(ptr: Long): Int @ExternalSymbolName("org_jetbrains_skia_FontStyleSet__1nMakeEmpty")
@JvmStatic external fun _nGetStyle(ptr: Long, index: Int): Int external fun _nMakeEmpty(): Long
@JvmStatic external fun _nGetStyleName(ptr: Long, index: Int): String @JvmStatic
@JvmStatic external fun _nGetTypeface(ptr: Long, index: Int): Long @ExternalSymbolName("org_jetbrains_skia_FontStyleSet__1nCount")
@JvmStatic external fun _nMatchStyle(ptr: Long, style: Int): Long external fun _nCount(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontStyleSet__1nGetStyle")
external fun _nGetStyle(ptr: Long, index: Int): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontStyleSet__1nGetStyleName")
external fun _nGetStyleName(ptr: Long, index: Int): String
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontStyleSet__1nGetTypeface")
external fun _nGetTypeface(ptr: Long, index: Int): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontStyleSet__1nMatchStyle")
external fun _nMatchStyle(ptr: Long, style: Int): Long
init { init {
staticLoad() staticLoad()
......
...@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad ...@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.RefCnt import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo { class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo {
...@@ -142,7 +143,9 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo { ...@@ -142,7 +143,9 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo {
return Image(ptr) return Image(ptr)
} }
@JvmStatic external fun _nMakeRaster( @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Image__1nMakeRaster")
external fun _nMakeRaster(
width: Int, width: Int,
height: Int, height: Int,
colorType: Int, colorType: Int,
...@@ -152,7 +155,9 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo { ...@@ -152,7 +155,9 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo {
rowBytes: Long rowBytes: Long
): Long ): Long
@JvmStatic external fun _nMakeRasterData( @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Image__1nMakeRasterData")
external fun _nMakeRasterData(
width: Int, width: Int,
height: Int, height: Int,
colorType: Int, colorType: Int,
...@@ -162,16 +167,36 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo { ...@@ -162,16 +167,36 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo {
rowBytes: Long rowBytes: Long
): Long ): Long
@JvmStatic external fun _nMakeFromBitmap(bitmapPtr: Long): Long @JvmStatic
@JvmStatic external fun _nMakeFromPixmap(pixmapPtr: Long): Long @ExternalSymbolName("org_jetbrains_skia_Image__1nMakeFromBitmap")
@JvmStatic external fun _nMakeFromEncoded(bytes: ByteArray?): Long external fun _nMakeFromBitmap(bitmapPtr: Long): Long
@JvmStatic external fun _nGetImageInfo(ptr: Long): ImageInfo? @JvmStatic
@JvmStatic external fun _nEncodeToData(ptr: Long, format: Int, quality: Int): Long @ExternalSymbolName("org_jetbrains_skia_Image__1nMakeFromPixmap")
@JvmStatic external fun _nMakeShader(ptr: Long, tmx: Int, tmy: Int, samplingMode: Long, localMatrix: FloatArray?): Long external fun _nMakeFromPixmap(pixmapPtr: Long): Long
@JvmStatic external fun _nPeekPixels(ptr: Long): ByteBuffer? @JvmStatic
@JvmStatic external fun _nPeekPixelsToPixmap(ptr: Long, pixmapPtr: Long): Boolean @ExternalSymbolName("org_jetbrains_skia_Image__1nMakeFromEncoded")
@JvmStatic external fun _nScalePixels(ptr: Long, pixmapPtr: Long, samplingOptions: Long, cache: Boolean): Boolean external fun _nMakeFromEncoded(bytes: ByteArray?): Long
@JvmStatic external fun _nReadPixelsBitmap( @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Image__1nGetImageInfo")
external fun _nGetImageInfo(ptr: Long): ImageInfo?
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Image__1nEncodeToData")
external fun _nEncodeToData(ptr: Long, format: Int, quality: Int): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Image__1nMakeShader")
external fun _nMakeShader(ptr: Long, tmx: Int, tmy: Int, samplingMode: Long, localMatrix: FloatArray?): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Image__1nPeekPixels")
external fun _nPeekPixels(ptr: Long): ByteBuffer?
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Image__1nPeekPixelsToPixmap")
external fun _nPeekPixelsToPixmap(ptr: Long, pixmapPtr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Image__1nScalePixels")
external fun _nScalePixels(ptr: Long, pixmapPtr: Long, samplingOptions: Long, cache: Boolean): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Image__1nReadPixelsBitmap")
external fun _nReadPixelsBitmap(
ptr: Long, ptr: Long,
contextPtr: Long, contextPtr: Long,
bitmapPtr: Long, bitmapPtr: Long,
...@@ -180,7 +205,9 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo { ...@@ -180,7 +205,9 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo {
cache: Boolean cache: Boolean
): Boolean ): Boolean
@JvmStatic external fun _nReadPixelsPixmap(ptr: Long, pixmapPtr: Long, srcX: Int, srcY: Int, cache: Boolean): Boolean @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Image__1nReadPixelsPixmap")
external fun _nReadPixelsPixmap(ptr: Long, pixmapPtr: Long, srcX: Int, srcY: Int, cache: Boolean): Boolean
init { init {
staticLoad() staticLoad()
......
...@@ -6,6 +6,7 @@ import org.jetbrains.skia.impl.RefCnt ...@@ -6,6 +6,7 @@ import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Native import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) { class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
...@@ -608,6 +609,7 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -608,6 +609,7 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
} }
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeAlphaThreshold")
external fun _nMakeAlphaThreshold( external fun _nMakeAlphaThreshold(
regionPtr: Long, regionPtr: Long,
innerMin: Float, innerMin: Float,
...@@ -616,7 +618,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -616,7 +618,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
crop: IRect? crop: IRect?
): Long ): Long
@JvmStatic external fun _nMakeArithmetic( @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeArithmetic")
external fun _nMakeArithmetic(
k1: Float, k1: Float,
k2: Float, k2: Float,
k3: Float, k3: Float,
...@@ -627,11 +631,21 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -627,11 +631,21 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
crop: IRect? crop: IRect?
): Long ): Long
@JvmStatic external fun _nMakeBlend(blendMode: Int, bg: Long, fg: Long, crop: IRect?): Long @JvmStatic
@JvmStatic external fun _nMakeBlur(sigmaX: Float, sigmaY: Float, tileMode: Int, input: Long, crop: IRect?): Long @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeBlend")
@JvmStatic external fun _nMakeColorFilter(colorFilterPtr: Long, input: Long, crop: IRect?): Long external fun _nMakeBlend(blendMode: Int, bg: Long, fg: Long, crop: IRect?): Long
@JvmStatic external fun _nMakeCompose(outer: Long, inner: Long): Long @JvmStatic
@JvmStatic external fun _nMakeDisplacementMap( @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeBlur")
external fun _nMakeBlur(sigmaX: Float, sigmaY: Float, tileMode: Int, input: Long, crop: IRect?): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeColorFilter")
external fun _nMakeColorFilter(colorFilterPtr: Long, input: Long, crop: IRect?): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeCompose")
external fun _nMakeCompose(outer: Long, inner: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeDisplacementMap")
external fun _nMakeDisplacementMap(
xChan: Int, xChan: Int,
yChan: Int, yChan: Int,
scale: Float, scale: Float,
...@@ -640,7 +654,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -640,7 +654,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
crop: IRect? crop: IRect?
): Long ): Long
@JvmStatic external fun _nMakeDropShadow( @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeDropShadow")
external fun _nMakeDropShadow(
dx: Float, dx: Float,
dy: Float, dy: Float,
sigmaX: Float, sigmaX: Float,
...@@ -650,7 +666,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -650,7 +666,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
crop: IRect? crop: IRect?
): Long ): Long
@JvmStatic external fun _nMakeDropShadowOnly( @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeDropShadowOnly")
external fun _nMakeDropShadowOnly(
dx: Float, dx: Float,
dy: Float, dy: Float,
sigmaX: Float, sigmaX: Float,
...@@ -660,7 +678,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -660,7 +678,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
crop: IRect? crop: IRect?
): Long ): Long
@JvmStatic external fun _nMakeImage( @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeImage")
external fun _nMakeImage(
image: Long, image: Long,
l0: Float, l0: Float,
t0: Float, t0: Float,
...@@ -673,7 +693,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -673,7 +693,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
samplingMode: Long samplingMode: Long
): Long ): Long
@JvmStatic external fun _nMakeMagnifier( @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeMagnifier")
external fun _nMakeMagnifier(
l: Float, l: Float,
t: Float, t: Float,
r: Float, r: Float,
...@@ -683,7 +705,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -683,7 +705,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
crop: IRect? crop: IRect?
): Long ): Long
@JvmStatic external fun _nMakeMatrixConvolution( @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeMatrixConvolution")
external fun _nMakeMatrixConvolution(
kernelW: Int, kernelW: Int,
kernelH: Int, kernelH: Int,
kernel: FloatArray?, kernel: FloatArray?,
...@@ -697,12 +721,24 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -697,12 +721,24 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
crop: IRect? crop: IRect?
): Long ): Long
@JvmStatic external fun _nMakeMatrixTransform(matrix: FloatArray?, samplingMode: Long, input: Long): Long @JvmStatic
@JvmStatic external fun _nMakeMerge(filters: LongArray?, crop: IRect?): Long @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeMatrixTransform")
@JvmStatic external fun _nMakeOffset(dx: Float, dy: Float, input: Long, crop: IRect?): Long external fun _nMakeMatrixTransform(matrix: FloatArray?, samplingMode: Long, input: Long): Long
@JvmStatic external fun _nMakePaint(paint: Long, crop: IRect?): Long @JvmStatic
@JvmStatic external fun _nMakePicture(picture: Long, l: Float, t: Float, r: Float, b: Float): Long @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeMerge")
@JvmStatic external fun _nMakeTile( external fun _nMakeMerge(filters: LongArray?, crop: IRect?): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeOffset")
external fun _nMakeOffset(dx: Float, dy: Float, input: Long, crop: IRect?): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakePaint")
external fun _nMakePaint(paint: Long, crop: IRect?): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakePicture")
external fun _nMakePicture(picture: Long, l: Float, t: Float, r: Float, b: Float): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeTile")
external fun _nMakeTile(
l0: Float, l0: Float,
t0: Float, t0: Float,
r0: Float, r0: Float,
...@@ -714,9 +750,15 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -714,9 +750,15 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
input: Long input: Long
): Long ): Long
@JvmStatic external fun _nMakeDilate(rx: Float, ry: Float, input: Long, crop: IRect?): Long @JvmStatic
@JvmStatic external fun _nMakeErode(rx: Float, ry: Float, input: Long, crop: IRect?): Long @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeDilate")
@JvmStatic external fun _nMakeDistantLitDiffuse( external fun _nMakeDilate(rx: Float, ry: Float, input: Long, crop: IRect?): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeErode")
external fun _nMakeErode(rx: Float, ry: Float, input: Long, crop: IRect?): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeDistantLitDiffuse")
external fun _nMakeDistantLitDiffuse(
x: Float, x: Float,
y: Float, y: Float,
z: Float, z: Float,
...@@ -727,7 +769,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -727,7 +769,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
crop: IRect? crop: IRect?
): Long ): Long
@JvmStatic external fun _nMakePointLitDiffuse( @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakePointLitDiffuse")
external fun _nMakePointLitDiffuse(
x: Float, x: Float,
y: Float, y: Float,
z: Float, z: Float,
...@@ -738,7 +782,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -738,7 +782,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
crop: IRect? crop: IRect?
): Long ): Long
@JvmStatic external fun _nMakeSpotLitDiffuse( @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeSpotLitDiffuse")
external fun _nMakeSpotLitDiffuse(
x0: Float, x0: Float,
y0: Float, y0: Float,
z0: Float, z0: Float,
...@@ -754,7 +800,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -754,7 +800,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
crop: IRect? crop: IRect?
): Long ): Long
@JvmStatic external fun _nMakeDistantLitSpecular( @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeDistantLitSpecular")
external fun _nMakeDistantLitSpecular(
x: Float, x: Float,
y: Float, y: Float,
z: Float, z: Float,
...@@ -766,7 +814,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -766,7 +814,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
crop: IRect? crop: IRect?
): Long ): Long
@JvmStatic external fun _nMakePointLitSpecular( @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakePointLitSpecular")
external fun _nMakePointLitSpecular(
x: Float, x: Float,
y: Float, y: Float,
z: Float, z: Float,
...@@ -778,7 +828,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -778,7 +828,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
crop: IRect? crop: IRect?
): Long ): Long
@JvmStatic external fun _nMakeSpotLitSpecular( @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeSpotLitSpecular")
external fun _nMakeSpotLitSpecular(
x0: Float, x0: Float,
y0: Float, y0: Float,
z0: Float, z0: Float,
......
...@@ -5,17 +5,32 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad ...@@ -5,17 +5,32 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Managed import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class ManagedString internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) { class ManagedString internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) {
companion object { companion object {
@JvmStatic external fun _nMake(s: String?): Long @JvmStatic
@JvmStatic external fun _nGetFinalizer(): Long @ExternalSymbolName("org_jetbrains_skia_ManagedString__1nMake")
@JvmStatic external fun _nToString(ptr: Long): String external fun _nMake(s: String?): Long
@JvmStatic external fun _nInsert(ptr: Long, offset: Int, s: String?) @JvmStatic
@JvmStatic external fun _nAppend(ptr: Long, s: String?) @ExternalSymbolName("org_jetbrains_skia_ManagedString__1nGetFinalizer")
@JvmStatic external fun _nRemoveSuffix(ptr: Long, from: Int) external fun _nGetFinalizer(): Long
@JvmStatic external fun _nRemove(ptr: Long, from: Int, length: Int) @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ManagedString__1nToString")
external fun _nToString(ptr: Long): String
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ManagedString__1nInsert")
external fun _nInsert(ptr: Long, offset: Int, s: String?)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ManagedString__1nAppend")
external fun _nAppend(ptr: Long, s: String?)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ManagedString__1nRemoveSuffix")
external fun _nRemoveSuffix(ptr: Long, from: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ManagedString__1nRemove")
external fun _nRemove(ptr: Long, from: Int, length: Int)
init { init {
staticLoad() staticLoad()
......
...@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad ...@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.RefCnt import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class MaskFilter internal constructor(ptr: Long) : RefCnt(ptr) { class MaskFilter internal constructor(ptr: Long) : RefCnt(ptr) {
...@@ -38,12 +39,22 @@ class MaskFilter internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -38,12 +39,22 @@ class MaskFilter internal constructor(ptr: Long) : RefCnt(ptr) {
return MaskFilter(_nMakeClip(min.toByte(), max.toByte())) return MaskFilter(_nMakeClip(min.toByte(), max.toByte()))
} }
@JvmStatic external fun _nMakeBlur(mode: Int, sigma: Float, respectCTM: Boolean): Long @JvmStatic
@JvmStatic external fun _nMakeShader(shaderPtr: Long): Long @ExternalSymbolName("org_jetbrains_skia_MaskFilter__1nMakeBlur")
external fun _nMakeBlur(mode: Int, sigma: Float, respectCTM: Boolean): Long
@JvmStatic external fun _nMakeTable(table: ByteArray?): Long @JvmStatic
@JvmStatic external fun _nMakeGamma(gamma: Float): Long @ExternalSymbolName("org_jetbrains_skia_MaskFilter__1nMakeShader")
@JvmStatic external fun _nMakeClip(min: Byte, max: Byte): Long external fun _nMakeShader(shaderPtr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_MaskFilter__1nMakeTable")
external fun _nMakeTable(table: ByteArray?): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_MaskFilter__1nMakeGamma")
external fun _nMakeGamma(gamma: Float): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_MaskFilter__1nMakeClip")
external fun _nMakeClip(min: Byte, max: Byte): Long
init { init {
staticLoad() staticLoad()
......
...@@ -3,12 +3,17 @@ package org.jetbrains.skia ...@@ -3,12 +3,17 @@ package org.jetbrains.skia
import org.jetbrains.skia.impl.Library.Companion.staticLoad import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class OutputWStream(out: OutputStream?) : WStream(_nMake(out), _FinalizerHolder.PTR) { class OutputWStream(out: OutputStream?) : WStream(_nMake(out), _FinalizerHolder.PTR) {
companion object { companion object {
@JvmStatic external fun _nGetFinalizer(): Long @JvmStatic
@JvmStatic external fun _nMake(out: OutputStream?): Long @ExternalSymbolName("org_jetbrains_skia_OutputWStream__1nGetFinalizer")
external fun _nGetFinalizer(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_OutputWStream__1nMake")
external fun _nMake(out: OutputStream?): Long
init { init {
staticLoad() staticLoad()
......
...@@ -6,60 +6,86 @@ import org.jetbrains.skia.impl.Managed ...@@ -6,60 +6,86 @@ import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Native import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
import kotlin.math.round import kotlin.math.round
class Paint : Managed { class Paint : Managed {
companion object { companion object {
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetFinalizer")
external fun _nGetFinalizer(): Long external fun _nGetFinalizer(): Long
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nMake")
external fun _nMake(): Long external fun _nMake(): Long
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nMakeClone")
external fun _nMakeClone(ptr: Long): Long external fun _nMakeClone(ptr: Long): Long
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nEquals")
external fun _nEquals(ptr: Long, otherPtr: Long): Boolean external fun _nEquals(ptr: Long, otherPtr: Long): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nReset")
external fun _nReset(ptr: Long) external fun _nReset(ptr: Long)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nIsAntiAlias")
external fun _nIsAntiAlias(ptr: Long): Boolean external fun _nIsAntiAlias(ptr: Long): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetAntiAlias")
external fun _nSetAntiAlias(ptr: Long, value: Boolean) external fun _nSetAntiAlias(ptr: Long, value: Boolean)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nIsDither")
external fun _nIsDither(ptr: Long): Boolean external fun _nIsDither(ptr: Long): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetDither")
external fun _nSetDither(ptr: Long, value: Boolean) external fun _nSetDither(ptr: Long, value: Boolean)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetMode")
external fun _nGetMode(ptr: Long): Int external fun _nGetMode(ptr: Long): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetMode")
external fun _nSetMode(ptr: Long, value: Int) external fun _nSetMode(ptr: Long, value: Int)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetColor")
external fun _nGetColor(ptr: Long): Int external fun _nGetColor(ptr: Long): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetColor4f")
external fun _nGetColor4f(ptr: Long): Color4f external fun _nGetColor4f(ptr: Long): Color4f
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetColor")
external fun _nSetColor(ptr: Long, argb: Int) external fun _nSetColor(ptr: Long, argb: Int)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetColor4f")
external fun _nSetColor4f(ptr: Long, r: Float, g: Float, b: Float, a: Float, colorSpacePtr: Long) external fun _nSetColor4f(ptr: Long, r: Float, g: Float, b: Float, a: Float, colorSpacePtr: Long)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetStrokeWidth")
external fun _nGetStrokeWidth(ptr: Long): Float external fun _nGetStrokeWidth(ptr: Long): Float
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetStrokeWidth")
external fun _nSetStrokeWidth(ptr: Long, value: Float) external fun _nSetStrokeWidth(ptr: Long, value: Float)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetStrokeMiter")
external fun _nGetStrokeMiter(ptr: Long): Float external fun _nGetStrokeMiter(ptr: Long): Float
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetStrokeMiter")
external fun _nSetStrokeMiter(ptr: Long, value: Float) external fun _nSetStrokeMiter(ptr: Long, value: Float)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetStrokeCap")
external fun _nGetStrokeCap(ptr: Long): Int external fun _nGetStrokeCap(ptr: Long): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetStrokeCap")
external fun _nSetStrokeCap(ptr: Long, value: Int) external fun _nSetStrokeCap(ptr: Long, value: Int)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetStrokeJoin")
external fun _nGetStrokeJoin(ptr: Long): Int external fun _nGetStrokeJoin(ptr: Long): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetStrokeJoin")
external fun _nSetStrokeJoin(ptr: Long, value: Int) external fun _nSetStrokeJoin(ptr: Long, value: Int)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetFillPath")
external fun _nGetFillPath(ptr: Long, path: Long, resScale: Float): Long external fun _nGetFillPath(ptr: Long, path: Long, resScale: Float): Long
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetFillPathCull")
external fun _nGetFillPathCull( external fun _nGetFillPathCull(
ptr: Long, ptr: Long,
path: Long, path: Long,
...@@ -71,30 +97,43 @@ class Paint : Managed { ...@@ -71,30 +97,43 @@ class Paint : Managed {
): Long ): Long
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetShader")
external fun _nGetShader(ptr: Long): Long external fun _nGetShader(ptr: Long): Long
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetShader")
external fun _nSetShader(ptr: Long, shaderPtr: Long) external fun _nSetShader(ptr: Long, shaderPtr: Long)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetColorFilter")
external fun _nGetColorFilter(ptr: Long): Long external fun _nGetColorFilter(ptr: Long): Long
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetColorFilter")
external fun _nSetColorFilter(ptr: Long, colorFilterPtr: Long) external fun _nSetColorFilter(ptr: Long, colorFilterPtr: Long)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetBlendMode")
external fun _nGetBlendMode(ptr: Long): Int external fun _nGetBlendMode(ptr: Long): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetBlendMode")
external fun _nSetBlendMode(ptr: Long, mode: Int) external fun _nSetBlendMode(ptr: Long, mode: Int)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetPathEffect")
external fun _nGetPathEffect(ptr: Long): Long external fun _nGetPathEffect(ptr: Long): Long
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetPathEffect")
external fun _nSetPathEffect(ptr: Long, pathEffectPtr: Long) external fun _nSetPathEffect(ptr: Long, pathEffectPtr: Long)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetMaskFilter")
external fun _nGetMaskFilter(ptr: Long): Long external fun _nGetMaskFilter(ptr: Long): Long
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetMaskFilter")
external fun _nSetMaskFilter(ptr: Long, filterPtr: Long) external fun _nSetMaskFilter(ptr: Long, filterPtr: Long)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetImageFilter")
external fun _nGetImageFilter(ptr: Long): Long external fun _nGetImageFilter(ptr: Long): Long
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetImageFilter")
external fun _nSetImageFilter(ptr: Long, filterPtr: Long) external fun _nSetImageFilter(ptr: Long, filterPtr: Long)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nHasNothingToDraw")
external fun _nHasNothingToDraw(ptr: Long): Boolean external fun _nHasNothingToDraw(ptr: Long): Boolean
init { init {
......
...@@ -11,6 +11,7 @@ import org.jetbrains.skia.impl.reachabilityBarrier ...@@ -11,6 +11,7 @@ import org.jetbrains.skia.impl.reachabilityBarrier
abstract class PaintFilterCanvas(canvas: Canvas, unrollDrawable: Boolean) : abstract class PaintFilterCanvas(canvas: Canvas, unrollDrawable: Boolean) :
Canvas(_nMake(getPtr(canvas), unrollDrawable), true, canvas) { Canvas(_nMake(getPtr(canvas), unrollDrawable), true, canvas) {
companion object { companion object {
@ExternalSymbolName("org_jetbrains_skia_PaintFilterCanvas__1nMake")
external fun _nMake(canvasPtr: Long, unrollDrawable: Boolean): Long external fun _nMake(canvasPtr: Long, unrollDrawable: Boolean): Long
init { init {
...@@ -33,6 +34,7 @@ abstract class PaintFilterCanvas(canvas: Canvas, unrollDrawable: Boolean) : ...@@ -33,6 +34,7 @@ abstract class PaintFilterCanvas(canvas: Canvas, unrollDrawable: Boolean) :
return onFilter(paint) return onFilter(paint)
} }
@ExternalSymbolName("org_jetbrains_skia_PaintFilterCanvas__1nAttachToJava")
external fun _nAttachToJava(canvasPtr: Long) external fun _nAttachToJava(canvasPtr: Long)
/** /**
......
...@@ -6,6 +6,7 @@ import org.jetbrains.skia.impl.Managed ...@@ -6,6 +6,7 @@ import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Native import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
/** /**
...@@ -201,26 +202,65 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR), ...@@ -201,26 +202,65 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR),
} }
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nGetFinalizer")
external fun _nGetFinalizer(): Long external fun _nGetFinalizer(): Long
@JvmStatic external fun _nMake(): Long @JvmStatic
@JvmStatic external fun _nMakeFromSVGString(s: String?): Long @ExternalSymbolName("org_jetbrains_skia_Path__1nMake")
@JvmStatic external fun _nEquals(aPtr: Long, bPtr: Long): Boolean external fun _nMake(): Long
@JvmStatic external fun _nIsInterpolatable(ptr: Long, comparePtr: Long): Boolean @JvmStatic
@JvmStatic external fun _nMakeLerp(ptr: Long, endingPtr: Long, weight: Float): Long @ExternalSymbolName("org_jetbrains_skia_Path__1nMakeFromSVGString")
@JvmStatic external fun _nGetFillMode(ptr: Long): Int external fun _nMakeFromSVGString(s: String?): Long
@JvmStatic external fun _nSetFillMode(ptr: Long, fillMode: Int) @JvmStatic
@JvmStatic external fun _nIsConvex(ptr: Long): Boolean @ExternalSymbolName("org_jetbrains_skia_Path__1nEquals")
@JvmStatic external fun _nIsOval(ptr: Long): Rect external fun _nEquals(aPtr: Long, bPtr: Long): Boolean
@JvmStatic external fun _nIsRRect(ptr: Long): RRect @JvmStatic
@JvmStatic external fun _nReset(ptr: Long) @ExternalSymbolName("org_jetbrains_skia_Path__1nIsInterpolatable")
@JvmStatic external fun _nRewind(ptr: Long) external fun _nIsInterpolatable(ptr: Long, comparePtr: Long): Boolean
@JvmStatic external fun _nIsEmpty(ptr: Long): Boolean @JvmStatic
@JvmStatic external fun _nIsLastContourClosed(ptr: Long): Boolean @ExternalSymbolName("org_jetbrains_skia_Path__1nMakeLerp")
@JvmStatic external fun _nIsFinite(ptr: Long): Boolean external fun _nMakeLerp(ptr: Long, endingPtr: Long, weight: Float): Long
@JvmStatic external fun _nIsVolatile(ptr: Long): Boolean @JvmStatic
@JvmStatic external fun _nSetVolatile(ptr: Long, isVolatile: Boolean) @ExternalSymbolName("org_jetbrains_skia_Path__1nGetFillMode")
@JvmStatic external fun _nIsLineDegenerate(x0: Float, y0: Float, x1: Float, y1: Float, exact: Boolean): Boolean external fun _nGetFillMode(ptr: Long): Int
@JvmStatic external fun _nIsQuadDegenerate( @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nSetFillMode")
external fun _nSetFillMode(ptr: Long, fillMode: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nIsConvex")
external fun _nIsConvex(ptr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nIsOval")
external fun _nIsOval(ptr: Long): Rect
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nIsRRect")
external fun _nIsRRect(ptr: Long): RRect
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nReset")
external fun _nReset(ptr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nRewind")
external fun _nRewind(ptr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nIsEmpty")
external fun _nIsEmpty(ptr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nIsLastContourClosed")
external fun _nIsLastContourClosed(ptr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nIsFinite")
external fun _nIsFinite(ptr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nIsVolatile")
external fun _nIsVolatile(ptr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nSetVolatile")
external fun _nSetVolatile(ptr: Long, isVolatile: Boolean)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nIsLineDegenerate")
external fun _nIsLineDegenerate(x0: Float, y0: Float, x1: Float, y1: Float, exact: Boolean): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nIsQuadDegenerate")
external fun _nIsQuadDegenerate(
x0: Float, x0: Float,
y0: Float, y0: Float,
x1: Float, x1: Float,
...@@ -230,7 +270,9 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR), ...@@ -230,7 +270,9 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR),
exact: Boolean exact: Boolean
): Boolean ): Boolean
@JvmStatic external fun _nIsCubicDegenerate( @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nIsCubicDegenerate")
external fun _nIsCubicDegenerate(
x0: Float, x0: Float,
y0: Float, y0: Float,
x1: Float, x1: Float,
...@@ -242,30 +284,78 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR), ...@@ -242,30 +284,78 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR),
exact: Boolean exact: Boolean
): Boolean ): Boolean
@JvmStatic external fun _nMaybeGetAsLine(ptr: Long): Array<Point> @JvmStatic
@JvmStatic external fun _nGetPointsCount(ptr: Long): Int @ExternalSymbolName("org_jetbrains_skia_Path__1nMaybeGetAsLine")
@JvmStatic external fun _nGetPoint(ptr: Long, index: Int): Point external fun _nMaybeGetAsLine(ptr: Long): Array<Point>
@JvmStatic external fun _nGetPoints(ptr: Long, points: Array<Point?>?, max: Int): Int @JvmStatic
@JvmStatic external fun _nCountVerbs(ptr: Long): Int @ExternalSymbolName("org_jetbrains_skia_Path__1nGetPointsCount")
@JvmStatic external fun _nGetVerbs(ptr: Long, verbs: ByteArray?, max: Int): Int external fun _nGetPointsCount(ptr: Long): Int
@JvmStatic external fun _nApproximateBytesUsed(ptr: Long): Long @JvmStatic
@JvmStatic external fun _nSwap(ptr: Long, otherPtr: Long) @ExternalSymbolName("org_jetbrains_skia_Path__1nGetPoint")
@JvmStatic external fun _nGetBounds(ptr: Long): Rect external fun _nGetPoint(ptr: Long, index: Int): Point
@JvmStatic external fun _nUpdateBoundsCache(ptr: Long) @JvmStatic
@JvmStatic external fun _nComputeTightBounds(ptr: Long): Rect @ExternalSymbolName("org_jetbrains_skia_Path__1nGetPoints")
@JvmStatic external fun _nConservativelyContainsRect(ptr: Long, l: Float, t: Float, r: Float, b: Float): Boolean external fun _nGetPoints(ptr: Long, points: Array<Point?>?, max: Int): Int
@JvmStatic external fun _nIncReserve(ptr: Long, extraPtCount: Int) @JvmStatic
@JvmStatic external fun _nMoveTo(ptr: Long, x: Float, y: Float) @ExternalSymbolName("org_jetbrains_skia_Path__1nCountVerbs")
@JvmStatic external fun _nRMoveTo(ptr: Long, dx: Float, dy: Float) external fun _nCountVerbs(ptr: Long): Int
@JvmStatic external fun _nLineTo(ptr: Long, x: Float, y: Float) @JvmStatic
@JvmStatic external fun _nRLineTo(ptr: Long, dx: Float, dy: Float) @ExternalSymbolName("org_jetbrains_skia_Path__1nGetVerbs")
@JvmStatic external fun _nQuadTo(ptr: Long, x1: Float, y1: Float, x2: Float, y2: Float) external fun _nGetVerbs(ptr: Long, verbs: ByteArray?, max: Int): Int
@JvmStatic external fun _nRQuadTo(ptr: Long, dx1: Float, dy1: Float, dx2: Float, dy2: Float) @JvmStatic
@JvmStatic external fun _nConicTo(ptr: Long, x1: Float, y1: Float, x2: Float, y2: Float, w: Float) @ExternalSymbolName("org_jetbrains_skia_Path__1nApproximateBytesUsed")
@JvmStatic external fun _nRConicTo(ptr: Long, dx1: Float, dy1: Float, dx2: Float, dy2: Float, w: Float) external fun _nApproximateBytesUsed(ptr: Long): Long
@JvmStatic external fun _nCubicTo(ptr: Long, x1: Float, y1: Float, x2: Float, y2: Float, x3: Float, y3: Float) @JvmStatic
@JvmStatic external fun _nRCubicTo(ptr: Long, dx1: Float, dy1: Float, dx2: Float, dy2: Float, dx3: Float, dy3: Float) @ExternalSymbolName("org_jetbrains_skia_Path__1nSwap")
@JvmStatic external fun _nArcTo( external fun _nSwap(ptr: Long, otherPtr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nGetBounds")
external fun _nGetBounds(ptr: Long): Rect
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nUpdateBoundsCache")
external fun _nUpdateBoundsCache(ptr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nComputeTightBounds")
external fun _nComputeTightBounds(ptr: Long): Rect
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nConservativelyContainsRect")
external fun _nConservativelyContainsRect(ptr: Long, l: Float, t: Float, r: Float, b: Float): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nIncReserve")
external fun _nIncReserve(ptr: Long, extraPtCount: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nMoveTo")
external fun _nMoveTo(ptr: Long, x: Float, y: Float)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nRMoveTo")
external fun _nRMoveTo(ptr: Long, dx: Float, dy: Float)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nLineTo")
external fun _nLineTo(ptr: Long, x: Float, y: Float)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nRLineTo")
external fun _nRLineTo(ptr: Long, dx: Float, dy: Float)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nQuadTo")
external fun _nQuadTo(ptr: Long, x1: Float, y1: Float, x2: Float, y2: Float)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nRQuadTo")
external fun _nRQuadTo(ptr: Long, dx1: Float, dy1: Float, dx2: Float, dy2: Float)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nConicTo")
external fun _nConicTo(ptr: Long, x1: Float, y1: Float, x2: Float, y2: Float, w: Float)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nRConicTo")
external fun _nRConicTo(ptr: Long, dx1: Float, dy1: Float, dx2: Float, dy2: Float, w: Float)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nCubicTo")
external fun _nCubicTo(ptr: Long, x1: Float, y1: Float, x2: Float, y2: Float, x3: Float, y3: Float)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nRCubicTo")
external fun _nRCubicTo(ptr: Long, dx1: Float, dy1: Float, dx2: Float, dy2: Float, dx3: Float, dy3: Float)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nArcTo")
external fun _nArcTo(
ptr: Long, ptr: Long,
left: Float, left: Float,
top: Float, top: Float,
...@@ -276,8 +366,12 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR), ...@@ -276,8 +366,12 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR),
forceMoveTo: Boolean forceMoveTo: Boolean
) )
@JvmStatic external fun _nTangentArcTo(ptr: Long, x1: Float, y1: Float, x2: Float, y2: Float, radius: Float) @JvmStatic
@JvmStatic external fun _nEllipticalArcTo( @ExternalSymbolName("org_jetbrains_skia_Path__1nTangentArcTo")
external fun _nTangentArcTo(ptr: Long, x1: Float, y1: Float, x2: Float, y2: Float, radius: Float)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nEllipticalArcTo")
external fun _nEllipticalArcTo(
ptr: Long, ptr: Long,
rx: Float, rx: Float,
ry: Float, ry: Float,
...@@ -288,7 +382,9 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR), ...@@ -288,7 +382,9 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR),
y: Float y: Float
) )
@JvmStatic external fun _nREllipticalArcTo( @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nREllipticalArcTo")
external fun _nREllipticalArcTo(
ptr: Long, ptr: Long,
rx: Float, rx: Float,
ry: Float, ry: Float,
...@@ -299,8 +395,12 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR), ...@@ -299,8 +395,12 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR),
dy: Float dy: Float
) )
@JvmStatic external fun _nClosePath(ptr: Long) @JvmStatic
@JvmStatic external fun _nConvertConicToQuads( @ExternalSymbolName("org_jetbrains_skia_Path__1nClosePath")
external fun _nClosePath(ptr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nConvertConicToQuads")
external fun _nConvertConicToQuads(
x0: Float, x0: Float,
y0: Float, y0: Float,
x1: Float, x1: Float,
...@@ -311,12 +411,24 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR), ...@@ -311,12 +411,24 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR),
pow2: Int pow2: Int
): Array<Point> ): Array<Point>
@JvmStatic external fun _nIsRect(ptr: Long): Rect @JvmStatic
@JvmStatic external fun _nAddRect(ptr: Long, l: Float, t: Float, r: Float, b: Float, dir: Int, start: Int) @ExternalSymbolName("org_jetbrains_skia_Path__1nIsRect")
@JvmStatic external fun _nAddOval(ptr: Long, l: Float, t: Float, r: Float, b: Float, dir: Int, start: Int) external fun _nIsRect(ptr: Long): Rect
@JvmStatic external fun _nAddCircle(ptr: Long, x: Float, y: Float, r: Float, dir: Int) @JvmStatic
@JvmStatic external fun _nAddArc(ptr: Long, l: Float, t: Float, r: Float, b: Float, startAngle: Float, sweepAngle: Float) @ExternalSymbolName("org_jetbrains_skia_Path__1nAddRect")
@JvmStatic external fun _nAddRRect( external fun _nAddRect(ptr: Long, l: Float, t: Float, r: Float, b: Float, dir: Int, start: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nAddOval")
external fun _nAddOval(ptr: Long, l: Float, t: Float, r: Float, b: Float, dir: Int, start: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nAddCircle")
external fun _nAddCircle(ptr: Long, x: Float, y: Float, r: Float, dir: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nAddArc")
external fun _nAddArc(ptr: Long, l: Float, t: Float, r: Float, b: Float, startAngle: Float, sweepAngle: Float)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nAddRRect")
external fun _nAddRRect(
ptr: Long, ptr: Long,
l: Float, l: Float,
t: Float, t: Float,
...@@ -327,24 +439,60 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR), ...@@ -327,24 +439,60 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR),
start: Int start: Int
) )
@JvmStatic external fun _nAddPoly(ptr: Long, coords: FloatArray?, close: Boolean) @JvmStatic
@JvmStatic external fun _nAddPath(ptr: Long, srcPtr: Long, extend: Boolean) @ExternalSymbolName("org_jetbrains_skia_Path__1nAddPoly")
@JvmStatic external fun _nAddPathOffset(ptr: Long, srcPtr: Long, dx: Float, dy: Float, extend: Boolean) external fun _nAddPoly(ptr: Long, coords: FloatArray?, close: Boolean)
@JvmStatic external fun _nAddPathTransform(ptr: Long, srcPtr: Long, matrix: FloatArray?, extend: Boolean) @JvmStatic
@JvmStatic external fun _nReverseAddPath(ptr: Long, srcPtr: Long) @ExternalSymbolName("org_jetbrains_skia_Path__1nAddPath")
@JvmStatic external fun _nOffset(ptr: Long, dx: Float, dy: Float, dst: Long) external fun _nAddPath(ptr: Long, srcPtr: Long, extend: Boolean)
@JvmStatic external fun _nTransform(ptr: Long, matrix: FloatArray?, dst: Long, applyPerspectiveClip: Boolean) @JvmStatic
@JvmStatic external fun _nGetLastPt(ptr: Long): Point @ExternalSymbolName("org_jetbrains_skia_Path__1nAddPathOffset")
@JvmStatic external fun _nSetLastPt(ptr: Long, x: Float, y: Float) external fun _nAddPathOffset(ptr: Long, srcPtr: Long, dx: Float, dy: Float, extend: Boolean)
@JvmStatic external fun _nGetSegmentMasks(ptr: Long): Int @JvmStatic
@JvmStatic external fun _nContains(ptr: Long, x: Float, y: Float): Boolean @ExternalSymbolName("org_jetbrains_skia_Path__1nAddPathTransform")
@JvmStatic external fun _nDump(ptr: Long) external fun _nAddPathTransform(ptr: Long, srcPtr: Long, matrix: FloatArray?, extend: Boolean)
@JvmStatic external fun _nDumpHex(ptr: Long) @JvmStatic
@JvmStatic external fun _nSerializeToBytes(ptr: Long): ByteArray @ExternalSymbolName("org_jetbrains_skia_Path__1nReverseAddPath")
@JvmStatic external fun _nMakeCombining(onePtr: Long, twoPtr: Long, op: Int): Long external fun _nReverseAddPath(ptr: Long, srcPtr: Long)
@JvmStatic external fun _nMakeFromBytes(data: ByteArray?): Long @JvmStatic
@JvmStatic external fun _nGetGenerationId(ptr: Long): Int @ExternalSymbolName("org_jetbrains_skia_Path__1nOffset")
@JvmStatic external fun _nIsValid(ptr: Long): Boolean external fun _nOffset(ptr: Long, dx: Float, dy: Float, dst: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nTransform")
external fun _nTransform(ptr: Long, matrix: FloatArray?, dst: Long, applyPerspectiveClip: Boolean)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nGetLastPt")
external fun _nGetLastPt(ptr: Long): Point
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nSetLastPt")
external fun _nSetLastPt(ptr: Long, x: Float, y: Float)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nGetSegmentMasks")
external fun _nGetSegmentMasks(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nContains")
external fun _nContains(ptr: Long, x: Float, y: Float): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nDump")
external fun _nDump(ptr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nDumpHex")
external fun _nDumpHex(ptr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nSerializeToBytes")
external fun _nSerializeToBytes(ptr: Long): ByteArray
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nMakeCombining")
external fun _nMakeCombining(onePtr: Long, twoPtr: Long, op: Int): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nMakeFromBytes")
external fun _nMakeFromBytes(data: ByteArray?): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nGetGenerationId")
external fun _nGetGenerationId(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nIsValid")
external fun _nIsValid(ptr: Long): Boolean
init { init {
staticLoad() staticLoad()
......
...@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad ...@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.RefCnt import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class PathEffect internal constructor(ptr: Long) : RefCnt(ptr) { class PathEffect internal constructor(ptr: Long) : RefCnt(ptr) {
...@@ -59,14 +60,30 @@ class PathEffect internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -59,14 +60,30 @@ class PathEffect internal constructor(ptr: Long) : RefCnt(ptr) {
return PathEffect(_nMakeDiscrete(segLength, dev, seed)) return PathEffect(_nMakeDiscrete(segLength, dev, seed))
} }
@JvmStatic external fun _nMakeSum(firstPtr: Long, secondPtr: Long): Long @JvmStatic
@JvmStatic external fun _nMakeCompose(outerPtr: Long, innerPtr: Long): Long @ExternalSymbolName("org_jetbrains_skia_PathEffect__1nMakeSum")
@JvmStatic external fun _nMakePath1D(pathPtr: Long, advance: Float, phase: Float, style: Int): Long external fun _nMakeSum(firstPtr: Long, secondPtr: Long): Long
@JvmStatic external fun _nMakePath2D(matrix: FloatArray?, pathPtr: Long): Long @JvmStatic
@JvmStatic external fun _nMakeLine2D(width: Float, matrix: FloatArray?): Long @ExternalSymbolName("org_jetbrains_skia_PathEffect__1nMakeCompose")
@JvmStatic external fun _nMakeCorner(radius: Float): Long external fun _nMakeCompose(outerPtr: Long, innerPtr: Long): Long
@JvmStatic external fun _nMakeDash(intervals: FloatArray?, phase: Float): Long @JvmStatic
@JvmStatic external fun _nMakeDiscrete(segLength: Float, dev: Float, seed: Int): Long @ExternalSymbolName("org_jetbrains_skia_PathEffect__1nMakePath1D")
external fun _nMakePath1D(pathPtr: Long, advance: Float, phase: Float, style: Int): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathEffect__1nMakePath2D")
external fun _nMakePath2D(matrix: FloatArray?, pathPtr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathEffect__1nMakeLine2D")
external fun _nMakeLine2D(width: Float, matrix: FloatArray?): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathEffect__1nMakeCorner")
external fun _nMakeCorner(radius: Float): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathEffect__1nMakeDash")
external fun _nMakeDash(intervals: FloatArray?, phase: Float): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathEffect__1nMakeDiscrete")
external fun _nMakeDiscrete(segLength: Float, dev: Float, seed: Int): Long
init { init {
staticLoad() staticLoad()
......
...@@ -5,20 +5,41 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad ...@@ -5,20 +5,41 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Managed import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class PathMeasure internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) { class PathMeasure internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) {
companion object { companion object {
@JvmStatic external fun _nGetFinalizer(): Long @JvmStatic
@JvmStatic external fun _nMake(): Long @ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nGetFinalizer")
@JvmStatic external fun _nMakePath(pathPtr: Long, forceClosed: Boolean, resScale: Float): Long external fun _nGetFinalizer(): Long
@JvmStatic external fun _nSetPath(ptr: Long, pathPtr: Long, forceClosed: Boolean) @JvmStatic
@JvmStatic external fun _nGetLength(ptr: Long): Float @ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nMake")
@JvmStatic external fun _nGetPosition(ptr: Long, distance: Float): Point? external fun _nMake(): Long
@JvmStatic external fun _nGetTangent(ptr: Long, distance: Float): Point? @JvmStatic
@JvmStatic external fun _nGetRSXform(ptr: Long, distance: Float): RSXform? @ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nMakePath")
@JvmStatic external fun _nGetMatrix(ptr: Long, distance: Float, getPosition: Boolean, getTangent: Boolean): FloatArray? external fun _nMakePath(pathPtr: Long, forceClosed: Boolean, resScale: Float): Long
@JvmStatic external fun _nGetSegment( @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nSetPath")
external fun _nSetPath(ptr: Long, pathPtr: Long, forceClosed: Boolean)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nGetLength")
external fun _nGetLength(ptr: Long): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nGetPosition")
external fun _nGetPosition(ptr: Long, distance: Float): Point?
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nGetTangent")
external fun _nGetTangent(ptr: Long, distance: Float): Point?
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nGetRSXform")
external fun _nGetRSXform(ptr: Long, distance: Float): RSXform?
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nGetMatrix")
external fun _nGetMatrix(ptr: Long, distance: Float, getPosition: Boolean, getTangent: Boolean): FloatArray?
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nGetSegment")
external fun _nGetSegment(
ptr: Long, ptr: Long,
startD: Float, startD: Float,
endD: Float, endD: Float,
...@@ -26,8 +47,12 @@ class PathMeasure internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolde ...@@ -26,8 +47,12 @@ class PathMeasure internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolde
startWithMoveTo: Boolean startWithMoveTo: Boolean
): Boolean ): Boolean
@JvmStatic external fun _nIsClosed(ptr: Long): Boolean @JvmStatic
@JvmStatic external fun _nNextContour(ptr: Long): Boolean @ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nIsClosed")
external fun _nIsClosed(ptr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nNextContour")
external fun _nNextContour(ptr: Long): Boolean
init { init {
staticLoad() staticLoad()
......
...@@ -22,9 +22,15 @@ class PathSegmentIterator internal constructor(val _path: Path?, ptr: Long) : Ma ...@@ -22,9 +22,15 @@ class PathSegmentIterator internal constructor(val _path: Path?, ptr: Long) : Ma
} }
} }
@JvmStatic external fun _nMake(pathPtr: Long, forceClose: Boolean): Long @JvmStatic
@JvmStatic external fun _nGetFinalizer(): Long @ExternalSymbolName("org_jetbrains_skia_PathSegmentIterator__1nMake")
@JvmStatic external fun _nNext(ptr: Long): PathSegment? external fun _nMake(pathPtr: Long, forceClose: Boolean): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathSegmentIterator__1nGetFinalizer")
external fun _nGetFinalizer(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathSegmentIterator__1nNext")
external fun _nNext(ptr: Long): PathSegment?
init { init {
staticLoad() staticLoad()
......
...@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad ...@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.RefCnt import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class Picture internal constructor(ptr: Long) : RefCnt(ptr) { class Picture internal constructor(ptr: Long) : RefCnt(ptr) {
...@@ -44,15 +45,33 @@ class Picture internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -44,15 +45,33 @@ class Picture internal constructor(ptr: Long) : RefCnt(ptr) {
return Picture(_nMakePlaceholder(cull.left, cull.top, cull.right, cull.bottom)) return Picture(_nMakePlaceholder(cull.left, cull.top, cull.right, cull.bottom))
} }
@JvmStatic external fun _nMakeFromData(dataPtr: Long /*, SkDeserialProcs */): Long @JvmStatic
@JvmStatic external fun _nPlayback(ptr: Long, canvasPtr: Long, abort: BooleanSupplier?) @ExternalSymbolName("org_jetbrains_skia_Picture__1nMakeFromData")
@JvmStatic external fun _nGetCullRect(ptr: Long): Rect external fun _nMakeFromData(dataPtr: Long /*, SkDeserialProcs */): Long
@JvmStatic external fun _nGetUniqueId(ptr: Long): Int @JvmStatic
@JvmStatic external fun _nSerializeToData(ptr: Long /*, SkSerialProcs */): Long @ExternalSymbolName("org_jetbrains_skia_Picture__1nPlayback")
@JvmStatic external fun _nMakePlaceholder(left: Float, top: Float, right: Float, bottom: Float): Long external fun _nPlayback(ptr: Long, canvasPtr: Long, abort: BooleanSupplier?)
@JvmStatic external fun _nGetApproximateOpCount(ptr: Long): Int @JvmStatic
@JvmStatic external fun _nGetApproximateBytesUsed(ptr: Long): Long @ExternalSymbolName("org_jetbrains_skia_Picture__1nGetCullRect")
@JvmStatic external fun _nMakeShader( external fun _nGetCullRect(ptr: Long): Rect
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Picture__1nGetUniqueId")
external fun _nGetUniqueId(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Picture__1nSerializeToData")
external fun _nSerializeToData(ptr: Long /*, SkSerialProcs */): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Picture__1nMakePlaceholder")
external fun _nMakePlaceholder(left: Float, top: Float, right: Float, bottom: Float): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Picture__1nGetApproximateOpCount")
external fun _nGetApproximateOpCount(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Picture__1nGetApproximateBytesUsed")
external fun _nGetApproximateBytesUsed(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Picture__1nMakeShader")
external fun _nMakeShader(
ptr: Long, ptr: Long,
tmx: Int, tmx: Int,
tmy: Int, tmy: Int,
......
...@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad ...@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Managed import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class PictureRecorder internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) { class PictureRecorder internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) {
...@@ -26,12 +27,24 @@ class PictureRecorder internal constructor(ptr: Long) : Managed(ptr, _FinalizerH ...@@ -26,12 +27,24 @@ class PictureRecorder internal constructor(ptr: Long) : Managed(ptr, _FinalizerH
// Stats.onNativeCall(); // Stats.onNativeCall();
// return new Drawable(_nFinishRecordingAsDrawable(_ptr, 0)); // return new Drawable(_nFinishRecordingAsDrawable(_ptr, 0));
// } // }
@JvmStatic external fun _nMake(): Long @JvmStatic
@JvmStatic external fun _nGetFinalizer(): Long @ExternalSymbolName("org_jetbrains_skia_PictureRecorder__1nMake")
@JvmStatic external fun _nBeginRecording(ptr: Long, left: Float, top: Float, right: Float, bottom: Float): Long external fun _nMake(): Long
@JvmStatic external fun _nGetRecordingCanvas(ptr: Long): Long @JvmStatic
@JvmStatic external fun _nFinishRecordingAsPicture(ptr: Long): Long @ExternalSymbolName("org_jetbrains_skia_PictureRecorder__1nGetFinalizer")
@JvmStatic external fun _nFinishRecordingAsPictureWithCull( external fun _nGetFinalizer(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PictureRecorder__1nBeginRecording")
external fun _nBeginRecording(ptr: Long, left: Float, top: Float, right: Float, bottom: Float): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PictureRecorder__1nGetRecordingCanvas")
external fun _nGetRecordingCanvas(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PictureRecorder__1nFinishRecordingAsPicture")
external fun _nFinishRecordingAsPicture(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PictureRecorder__1nFinishRecordingAsPictureWithCull")
external fun _nFinishRecordingAsPictureWithCull(
ptr: Long, ptr: Long,
left: Float, left: Float,
top: Float, top: Float,
...@@ -39,7 +52,9 @@ class PictureRecorder internal constructor(ptr: Long) : Managed(ptr, _FinalizerH ...@@ -39,7 +52,9 @@ class PictureRecorder internal constructor(ptr: Long) : Managed(ptr, _FinalizerH
bottom: Float bottom: Float
): Long ): Long
@JvmStatic external fun _nFinishRecordingAsDrawable(ptr: Long): Long @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PictureRecorder__1nFinishRecordingAsDrawable")
external fun _nFinishRecordingAsDrawable(ptr: Long): Long
init { init {
staticLoad() staticLoad()
......
...@@ -5,17 +5,32 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad ...@@ -5,17 +5,32 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.RefCnt import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class PixelRef internal constructor(ptr: Long) : RefCnt(ptr) { class PixelRef internal constructor(ptr: Long) : RefCnt(ptr) {
companion object { companion object {
@JvmStatic external fun _nGetWidth(ptr: Long): Int @JvmStatic
@JvmStatic external fun _nGetHeight(ptr: Long): Int @ExternalSymbolName("org_jetbrains_skia_PixelRef__1nGetWidth")
@JvmStatic external fun _nGetRowBytes(ptr: Long): Long external fun _nGetWidth(ptr: Long): Int
@JvmStatic external fun _nGetGenerationId(ptr: Long): Int @JvmStatic
@JvmStatic external fun _nNotifyPixelsChanged(ptr: Long) @ExternalSymbolName("org_jetbrains_skia_PixelRef__1nGetHeight")
@JvmStatic external fun _nIsImmutable(ptr: Long): Boolean external fun _nGetHeight(ptr: Long): Int
@JvmStatic external fun _nSetImmutable(ptr: Long) @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PixelRef__1nGetRowBytes")
external fun _nGetRowBytes(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PixelRef__1nGetGenerationId")
external fun _nGetGenerationId(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PixelRef__1nNotifyPixelsChanged")
external fun _nNotifyPixelsChanged(ptr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PixelRef__1nIsImmutable")
external fun _nIsImmutable(ptr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PixelRef__1nSetImmutable")
external fun _nSetImmutable(ptr: Long)
init { init {
staticLoad() staticLoad()
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
package org.jetbrains.skia package org.jetbrains.skia
import org.jetbrains.skia.impl.* import org.jetbrains.skia.impl.*
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class Pixmap internal constructor(ptr: Long, managed: Boolean) : class Pixmap internal constructor(ptr: Long, managed: Boolean) :
...@@ -269,9 +270,15 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) : ...@@ -269,9 +270,15 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) :
} }
} }
@JvmStatic external fun _nGetFinalizer(): Long @JvmStatic
@JvmStatic external fun _nMakeNull(): Long @ExternalSymbolName("org_jetbrains_skia_Pixmap__1nGetFinalizer")
@JvmStatic external fun _nMake( external fun _nGetFinalizer(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nMakeNull")
external fun _nMakeNull(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nMake")
external fun _nMake(
width: Int, width: Int,
height: Int, height: Int,
colorType: Int, colorType: Int,
...@@ -281,8 +288,12 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) : ...@@ -281,8 +288,12 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) :
rowBytes: Int rowBytes: Int
): Long ): Long
@JvmStatic external fun _nReset(ptr: Long) @JvmStatic
@JvmStatic external fun _nResetWithInfo( @ExternalSymbolName("org_jetbrains_skia_Pixmap__1nReset")
external fun _nReset(ptr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nResetWithInfo")
external fun _nResetWithInfo(
ptr: Long, ptr: Long,
width: Int, width: Int,
height: Int, height: Int,
...@@ -293,24 +304,48 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) : ...@@ -293,24 +304,48 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) :
rowBytes: Int rowBytes: Int
) )
@JvmStatic external fun _nSetColorSpace(ptr: Long, colorSpacePtr: Long) @JvmStatic
@JvmStatic external fun _nExtractSubset(ptr: Long, subsetPtr: Long, l: Int, t: Int, r: Int, b: Int): Boolean @ExternalSymbolName("org_jetbrains_skia_Pixmap__1nSetColorSpace")
@JvmStatic external fun _nGetInfo(ptr: Long): ImageInfo external fun _nSetColorSpace(ptr: Long, colorSpacePtr: Long)
@JvmStatic external fun _nGetRowBytes(ptr: Long): Int @JvmStatic
@JvmStatic external fun _nGetAddr(ptr: Long): Long @ExternalSymbolName("org_jetbrains_skia_Pixmap__1nExtractSubset")
external fun _nExtractSubset(ptr: Long, subsetPtr: Long, l: Int, t: Int, r: Int, b: Int): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nGetInfo")
external fun _nGetInfo(ptr: Long): ImageInfo
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nGetRowBytes")
external fun _nGetRowBytes(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nGetAddr")
external fun _nGetAddr(ptr: Long): Long
// TODO methods flattening ImageInfo not included yet - use GetInfo() instead. // TODO methods flattening ImageInfo not included yet - use GetInfo() instead.
@JvmStatic external fun _nGetRowBytesAsPixels(ptr: Long): Int @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nGetRowBytesAsPixels")
external fun _nGetRowBytesAsPixels(ptr: Long): Int
// TODO shiftPerPixel // TODO shiftPerPixel
@JvmStatic external fun _nComputeByteSize(ptr: Long): Int @JvmStatic
@JvmStatic external fun _nComputeIsOpaque(ptr: Long): Boolean @ExternalSymbolName("org_jetbrains_skia_Pixmap__1nComputeByteSize")
@JvmStatic external fun _nGetColor(ptr: Long, x: Int, y: Int): Int external fun _nComputeByteSize(ptr: Long): Int
@JvmStatic external fun _nGetAlphaF(ptr: Long, x: Int, y: Int): Float @JvmStatic
@JvmStatic external fun _nGetAddrAt(ptr: Long, x: Int, y: Int): Long @ExternalSymbolName("org_jetbrains_skia_Pixmap__1nComputeIsOpaque")
external fun _nComputeIsOpaque(ptr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nGetColor")
external fun _nGetColor(ptr: Long, x: Int, y: Int): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nGetAlphaF")
external fun _nGetAlphaF(ptr: Long, x: Int, y: Int): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nGetAddrAt")
external fun _nGetAddrAt(ptr: Long, x: Int, y: Int): Long
// methods related to C++ types(addr8/16/32/64, writable_addr8/16/32/64) not included - not needed // methods related to C++ types(addr8/16/32/64, writable_addr8/16/32/64) not included - not needed
@JvmStatic external fun _nReadPixels( @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nReadPixels")
external fun _nReadPixels(
ptr: Long, ptr: Long,
width: Int, width: Int,
height: Int, height: Int,
...@@ -321,7 +356,9 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) : ...@@ -321,7 +356,9 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) :
dstRowBytes: Int dstRowBytes: Int
): Boolean ): Boolean
@JvmStatic external fun _nReadPixelsFromPoint( @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nReadPixelsFromPoint")
external fun _nReadPixelsFromPoint(
ptr: Long, ptr: Long,
width: Int, width: Int,
height: Int, height: Int,
...@@ -334,11 +371,21 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) : ...@@ -334,11 +371,21 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) :
srcY: Int srcY: Int
): Boolean ): Boolean
@JvmStatic external fun _nReadPixelsToPixmap(ptr: Long, dstPixmapPtr: Long): Boolean @JvmStatic
@JvmStatic external fun _nReadPixelsToPixmapFromPoint(ptr: Long, dstPixmapPtr: Long, srcX: Int, srcY: Int): Boolean @ExternalSymbolName("org_jetbrains_skia_Pixmap__1nReadPixelsToPixmap")
@JvmStatic external fun _nScalePixels(ptr: Long, dstPixmapPtr: Long, samplingOptions: Long): Boolean external fun _nReadPixelsToPixmap(ptr: Long, dstPixmapPtr: Long): Boolean
@JvmStatic external fun _nErase(ptr: Long, color: Int): Boolean @JvmStatic
@JvmStatic external fun _nEraseSubset( @ExternalSymbolName("org_jetbrains_skia_Pixmap__1nReadPixelsToPixmapFromPoint")
external fun _nReadPixelsToPixmapFromPoint(ptr: Long, dstPixmapPtr: Long, srcX: Int, srcY: Int): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nScalePixels")
external fun _nScalePixels(ptr: Long, dstPixmapPtr: Long, samplingOptions: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nErase")
external fun _nErase(ptr: Long, color: Int): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nEraseSubset")
external fun _nEraseSubset(
ptr: Long, ptr: Long,
color: Int, color: Int,
l: Int, l: Int,
......
package org.jetbrains.skia package org.jetbrains.skia
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
open class Rect constructor(val left: Float, val top: Float, val right: Float, val bottom: Float) { open class Rect constructor(val left: Float, val top: Float, val right: Float, val bottom: Float) {
......
...@@ -5,36 +5,89 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad ...@@ -5,36 +5,89 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Managed import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class Region : Managed(_nMake(), _FinalizerHolder.PTR) { class Region : Managed(_nMake(), _FinalizerHolder.PTR) {
companion object { companion object {
@JvmStatic external fun _nMake(): Long @JvmStatic
@JvmStatic external fun _nGetFinalizer(): Long @ExternalSymbolName("org_jetbrains_skia_Region__1nMake")
@JvmStatic external fun _nSet(ptr: Long, regoinPtr: Long): Boolean external fun _nMake(): Long
@JvmStatic external fun _nIsEmpty(ptr: Long): Boolean @JvmStatic
@JvmStatic external fun _nIsRect(ptr: Long): Boolean @ExternalSymbolName("org_jetbrains_skia_Region__1nGetFinalizer")
@JvmStatic external fun _nIsComplex(ptr: Long): Boolean external fun _nGetFinalizer(): Long
@JvmStatic external fun _nGetBounds(ptr: Long): IRect @JvmStatic
@JvmStatic external fun _nComputeRegionComplexity(ptr: Long): Int @ExternalSymbolName("org_jetbrains_skia_Region__1nSet")
@JvmStatic external fun _nGetBoundaryPath(ptr: Long, pathPtr: Long): Boolean external fun _nSet(ptr: Long, regoinPtr: Long): Boolean
@JvmStatic external fun _nSetEmpty(ptr: Long): Boolean @JvmStatic
@JvmStatic external fun _nSetRect(ptr: Long, left: Int, top: Int, right: Int, bottom: Int): Boolean @ExternalSymbolName("org_jetbrains_skia_Region__1nIsEmpty")
@JvmStatic external fun _nSetRects(ptr: Long, rects: IntArray?): Boolean external fun _nIsEmpty(ptr: Long): Boolean
@JvmStatic external fun _nSetRegion(ptr: Long, regionPtr: Long): Boolean @JvmStatic
@JvmStatic external fun _nSetPath(ptr: Long, pathPtr: Long, regionPtr: Long): Boolean @ExternalSymbolName("org_jetbrains_skia_Region__1nIsRect")
@JvmStatic external fun _nIntersectsIRect(ptr: Long, left: Int, top: Int, right: Int, bottom: Int): Boolean external fun _nIsRect(ptr: Long): Boolean
@JvmStatic external fun _nIntersectsRegion(ptr: Long, regionPtr: Long): Boolean @JvmStatic
@JvmStatic external fun _nContainsIPoint(ptr: Long, x: Int, y: Int): Boolean @ExternalSymbolName("org_jetbrains_skia_Region__1nIsComplex")
@JvmStatic external fun _nContainsIRect(ptr: Long, left: Int, top: Int, right: Int, bottom: Int): Boolean external fun _nIsComplex(ptr: Long): Boolean
@JvmStatic external fun _nContainsRegion(ptr: Long, regionPtr: Long): Boolean @JvmStatic
@JvmStatic external fun _nQuickContains(ptr: Long, left: Int, top: Int, right: Int, bottom: Int): Boolean @ExternalSymbolName("org_jetbrains_skia_Region__1nGetBounds")
@JvmStatic external fun _nQuickRejectIRect(ptr: Long, left: Int, top: Int, right: Int, bottom: Int): Boolean external fun _nGetBounds(ptr: Long): IRect
@JvmStatic external fun _nQuickRejectRegion(ptr: Long, regionPtr: Long): Boolean @JvmStatic
@JvmStatic external fun _nTranslate(ptr: Long, dx: Int, dy: Int) @ExternalSymbolName("org_jetbrains_skia_Region__1nComputeRegionComplexity")
@JvmStatic external fun _nOpIRect(ptr: Long, left: Int, top: Int, right: Int, bottom: Int, op: Int): Boolean external fun _nComputeRegionComplexity(ptr: Long): Int
@JvmStatic external fun _nOpRegion(ptr: Long, regionPtr: Long, op: Int): Boolean @JvmStatic
@JvmStatic external fun _nOpIRectRegion( @ExternalSymbolName("org_jetbrains_skia_Region__1nGetBoundaryPath")
external fun _nGetBoundaryPath(ptr: Long, pathPtr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nSetEmpty")
external fun _nSetEmpty(ptr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nSetRect")
external fun _nSetRect(ptr: Long, left: Int, top: Int, right: Int, bottom: Int): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nSetRects")
external fun _nSetRects(ptr: Long, rects: IntArray?): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nSetRegion")
external fun _nSetRegion(ptr: Long, regionPtr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nSetPath")
external fun _nSetPath(ptr: Long, pathPtr: Long, regionPtr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nIntersectsIRect")
external fun _nIntersectsIRect(ptr: Long, left: Int, top: Int, right: Int, bottom: Int): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nIntersectsRegion")
external fun _nIntersectsRegion(ptr: Long, regionPtr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nContainsIPoint")
external fun _nContainsIPoint(ptr: Long, x: Int, y: Int): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nContainsIRect")
external fun _nContainsIRect(ptr: Long, left: Int, top: Int, right: Int, bottom: Int): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nContainsRegion")
external fun _nContainsRegion(ptr: Long, regionPtr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nQuickContains")
external fun _nQuickContains(ptr: Long, left: Int, top: Int, right: Int, bottom: Int): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nQuickRejectIRect")
external fun _nQuickRejectIRect(ptr: Long, left: Int, top: Int, right: Int, bottom: Int): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nQuickRejectRegion")
external fun _nQuickRejectRegion(ptr: Long, regionPtr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nTranslate")
external fun _nTranslate(ptr: Long, dx: Int, dy: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nOpIRect")
external fun _nOpIRect(ptr: Long, left: Int, top: Int, right: Int, bottom: Int, op: Int): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nOpRegion")
external fun _nOpRegion(ptr: Long, regionPtr: Long, op: Int): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nOpIRectRegion")
external fun _nOpIRectRegion(
ptr: Long, ptr: Long,
left: Int, left: Int,
top: Int, top: Int,
...@@ -44,7 +97,9 @@ class Region : Managed(_nMake(), _FinalizerHolder.PTR) { ...@@ -44,7 +97,9 @@ class Region : Managed(_nMake(), _FinalizerHolder.PTR) {
op: Int op: Int
): Boolean ): Boolean
@JvmStatic external fun _nOpRegionIRect( @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nOpRegionIRect")
external fun _nOpRegionIRect(
ptr: Long, ptr: Long,
regionPtr: Long, regionPtr: Long,
left: Int, left: Int,
...@@ -54,7 +109,9 @@ class Region : Managed(_nMake(), _FinalizerHolder.PTR) { ...@@ -54,7 +109,9 @@ class Region : Managed(_nMake(), _FinalizerHolder.PTR) {
op: Int op: Int
): Boolean ): Boolean
@JvmStatic external fun _nOpRegionRegion(ptr: Long, regionPtrA: Long, regionPtrB: Long, op: Int): Boolean @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nOpRegionRegion")
external fun _nOpRegionRegion(ptr: Long, regionPtrA: Long, regionPtrB: Long, op: Int): Boolean
init { init {
staticLoad() staticLoad()
......
...@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad ...@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.RefCnt import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Native import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class RuntimeEffect internal constructor(ptr: Long) : RefCnt(ptr) { class RuntimeEffect internal constructor(ptr: Long) : RefCnt(ptr) {
...@@ -19,13 +20,19 @@ class RuntimeEffect internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -19,13 +20,19 @@ class RuntimeEffect internal constructor(ptr: Long) : RefCnt(ptr) {
return RuntimeEffect(_nMakeForColorFilter(sksl)) return RuntimeEffect(_nMakeForColorFilter(sksl))
} }
@JvmStatic external fun _nMakeShader( @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_RuntimeEffect__1nMakeShader")
external fun _nMakeShader(
runtimeEffectPtr: Long, uniformPtr: Long, childrenPtrs: LongArray?, runtimeEffectPtr: Long, uniformPtr: Long, childrenPtrs: LongArray?,
localMatrix: FloatArray?, isOpaque: Boolean localMatrix: FloatArray?, isOpaque: Boolean
): Long ): Long
@JvmStatic external fun _nMakeForShader(sksl: String?): Long @JvmStatic
@JvmStatic external fun _nMakeForColorFilter(sksl: String?): Long @ExternalSymbolName("org_jetbrains_skia_RuntimeEffect__1nMakeForShader")
external fun _nMakeForShader(sksl: String?): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_RuntimeEffect__1nMakeForColorFilter")
external fun _nMakeForColorFilter(sksl: String?): Long
init { init {
staticLoad() staticLoad()
......
...@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad ...@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.RefCnt import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class Shader internal constructor(ptr: Long) : RefCnt(ptr) { class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
...@@ -484,8 +485,12 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -484,8 +485,12 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
} }
} }
@JvmStatic external fun _nMakeWithColorFilter(ptr: Long, colorFilterPtr: Long): Long @JvmStatic
@JvmStatic external fun _nMakeLinearGradient( @ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeWithColorFilter")
external fun _nMakeWithColorFilter(ptr: Long, colorFilterPtr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeLinearGradient")
external fun _nMakeLinearGradient(
x0: Float, x0: Float,
y0: Float, y0: Float,
x1: Float, x1: Float,
...@@ -497,7 +502,9 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -497,7 +502,9 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
matrix: FloatArray? matrix: FloatArray?
): Long ): Long
@JvmStatic external fun _nMakeLinearGradientCS( @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeLinearGradientCS")
external fun _nMakeLinearGradientCS(
x0: Float, x0: Float,
y0: Float, y0: Float,
x1: Float, x1: Float,
...@@ -510,7 +517,9 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -510,7 +517,9 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
matrix: FloatArray? matrix: FloatArray?
): Long ): Long
@JvmStatic external fun _nMakeRadialGradient( @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeRadialGradient")
external fun _nMakeRadialGradient(
x: Float, x: Float,
y: Float, y: Float,
r: Float, r: Float,
...@@ -521,7 +530,9 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -521,7 +530,9 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
matrix: FloatArray? matrix: FloatArray?
): Long ): Long
@JvmStatic external fun _nMakeRadialGradientCS( @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeRadialGradientCS")
external fun _nMakeRadialGradientCS(
x: Float, x: Float,
y: Float, y: Float,
r: Float, r: Float,
...@@ -533,7 +544,9 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -533,7 +544,9 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
matrix: FloatArray? matrix: FloatArray?
): Long ): Long
@JvmStatic external fun _nMakeTwoPointConicalGradient( @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeTwoPointConicalGradient")
external fun _nMakeTwoPointConicalGradient(
x0: Float, x0: Float,
y0: Float, y0: Float,
r0: Float, r0: Float,
...@@ -547,7 +560,9 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -547,7 +560,9 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
matrix: FloatArray? matrix: FloatArray?
): Long ): Long
@JvmStatic external fun _nMakeTwoPointConicalGradientCS( @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeTwoPointConicalGradientCS")
external fun _nMakeTwoPointConicalGradientCS(
x0: Float, x0: Float,
y0: Float, y0: Float,
r0: Float, r0: Float,
...@@ -562,7 +577,9 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -562,7 +577,9 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
matrix: FloatArray? matrix: FloatArray?
): Long ): Long
@JvmStatic external fun _nMakeSweepGradient( @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeSweepGradient")
external fun _nMakeSweepGradient(
x: Float, x: Float,
y: Float, y: Float,
startAngle: Float, startAngle: Float,
...@@ -574,7 +591,9 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -574,7 +591,9 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
matrix: FloatArray? matrix: FloatArray?
): Long ): Long
@JvmStatic external fun _nMakeSweepGradientCS( @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeSweepGradientCS")
external fun _nMakeSweepGradientCS(
x: Float, x: Float,
y: Float, y: Float,
startAngle: Float, startAngle: Float,
...@@ -587,7 +606,9 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -587,7 +606,9 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
matrix: FloatArray? matrix: FloatArray?
): Long ): Long
@JvmStatic external fun _nMakeFractalNoise( @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeFractalNoise")
external fun _nMakeFractalNoise(
baseFrequencyX: Float, baseFrequencyX: Float,
baseFrequencyY: Float, baseFrequencyY: Float,
numOctaves: Int, numOctaves: Int,
...@@ -595,7 +616,9 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -595,7 +616,9 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
tiles: IntArray? tiles: IntArray?
): Long ): Long
@JvmStatic external fun _nMakeTurbulence( @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeTurbulence")
external fun _nMakeTurbulence(
baseFrequencyX: Float, baseFrequencyX: Float,
baseFrequencyY: Float, baseFrequencyY: Float,
numOctaves: Int, numOctaves: Int,
...@@ -603,10 +626,18 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -603,10 +626,18 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
tiles: IntArray? tiles: IntArray?
): Long ): Long
@JvmStatic external fun _nMakeEmpty(): Long @JvmStatic
@JvmStatic external fun _nMakeColor(color: Int): Long @ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeEmpty")
@JvmStatic external fun _nMakeColorCS(r: Float, g: Float, b: Float, a: Float, colorSpacePtr: Long): Long external fun _nMakeEmpty(): Long
@JvmStatic external fun _nMakeBlend(blendMode: Int, dst: Long, src: Long): Long @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeColor")
external fun _nMakeColor(color: Int): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeColorCS")
external fun _nMakeColorCS(r: Float, g: Float, b: Float, a: Float, colorSpacePtr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeBlend")
external fun _nMakeBlend(blendMode: Int, dst: Long, src: Long): Long
init { init {
staticLoad() staticLoad()
......
...@@ -4,6 +4,7 @@ package org.jetbrains.skia ...@@ -4,6 +4,7 @@ package org.jetbrains.skia
import org.jetbrains.skia.impl.Library.Companion.staticLoad import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Native import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
object ShadowUtils { object ShadowUtils {
...@@ -80,7 +81,9 @@ object ShadowUtils { ...@@ -80,7 +81,9 @@ object ShadowUtils {
return _nComputeTonalSpotColor(ambientColor, spotColor) return _nComputeTonalSpotColor(ambientColor, spotColor)
} }
@JvmStatic external fun _nDrawShadow( @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ShadowUtils__1nDrawShadow")
external fun _nDrawShadow(
canvasPtr: Long, canvasPtr: Long,
pathPtr: Long, pathPtr: Long,
zPlaneX: Float, zPlaneX: Float,
...@@ -95,8 +98,12 @@ object ShadowUtils { ...@@ -95,8 +98,12 @@ object ShadowUtils {
flags: Int flags: Int
) )
@JvmStatic external fun _nComputeTonalAmbientColor(ambientColor: Int, spotColor: Int): Int @JvmStatic
@JvmStatic external fun _nComputeTonalSpotColor(ambientColor: Int, spotColor: Int): Int @ExternalSymbolName("org_jetbrains_skia_ShadowUtils__1nComputeTonalAmbientColor")
external fun _nComputeTonalAmbientColor(ambientColor: Int, spotColor: Int): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ShadowUtils__1nComputeTonalSpotColor")
external fun _nComputeTonalSpotColor(ambientColor: Int, spotColor: Int): Int
init { init {
staticLoad() staticLoad()
......
...@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad ...@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.RefCnt import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class Surface : RefCnt { class Surface : RefCnt {
...@@ -526,7 +527,9 @@ class Surface : RefCnt { ...@@ -526,7 +527,9 @@ class Surface : RefCnt {
return Surface(ptr) return Surface(ptr)
} }
@JvmStatic external fun _nMakeRasterDirect( @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeRasterDirect")
external fun _nMakeRasterDirect(
width: Int, width: Int,
height: Int, height: Int,
colorType: Int, colorType: Int,
...@@ -537,8 +540,12 @@ class Surface : RefCnt { ...@@ -537,8 +540,12 @@ class Surface : RefCnt {
surfaceProps: SurfaceProps? surfaceProps: SurfaceProps?
): Long ): Long
@JvmStatic external fun _nMakeRasterDirectWithPixmap(pixmapPtr: Long, surfaceProps: SurfaceProps?): Long @JvmStatic
@JvmStatic external fun _nMakeRaster( @ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeRasterDirectWithPixmap")
external fun _nMakeRasterDirectWithPixmap(pixmapPtr: Long, surfaceProps: SurfaceProps?): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeRaster")
external fun _nMakeRaster(
width: Int, width: Int,
height: Int, height: Int,
colorType: Int, colorType: Int,
...@@ -548,8 +555,12 @@ class Surface : RefCnt { ...@@ -548,8 +555,12 @@ class Surface : RefCnt {
surfaceProps: SurfaceProps? surfaceProps: SurfaceProps?
): Long ): Long
@JvmStatic external fun _nMakeRasterN32Premul(width: Int, height: Int): Long @JvmStatic
@JvmStatic external fun _nMakeFromBackendRenderTarget( @ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeRasterN32Premul")
external fun _nMakeRasterN32Premul(width: Int, height: Int): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeFromBackendRenderTarget")
external fun _nMakeFromBackendRenderTarget(
pContext: Long, pContext: Long,
pBackendRenderTarget: Long, pBackendRenderTarget: Long,
surfaceOrigin: Int, surfaceOrigin: Int,
...@@ -558,7 +569,9 @@ class Surface : RefCnt { ...@@ -558,7 +569,9 @@ class Surface : RefCnt {
surfaceProps: SurfaceProps? surfaceProps: SurfaceProps?
): Long ): Long
@JvmStatic external fun _nMakeFromMTKView( @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeFromMTKView")
external fun _nMakeFromMTKView(
contextPtr: Long, contextPtr: Long,
mtkViewPtr: Long, mtkViewPtr: Long,
surfaceOrigin: Int, surfaceOrigin: Int,
...@@ -568,7 +581,9 @@ class Surface : RefCnt { ...@@ -568,7 +581,9 @@ class Surface : RefCnt {
surfaceProps: SurfaceProps? surfaceProps: SurfaceProps?
): Long ): Long
@JvmStatic external fun _nMakeRenderTarget( @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeRenderTarget")
external fun _nMakeRenderTarget(
contextPtr: Long, contextPtr: Long,
budgeted: Boolean, budgeted: Boolean,
width: Int, width: Int,
...@@ -582,15 +597,33 @@ class Surface : RefCnt { ...@@ -582,15 +597,33 @@ class Surface : RefCnt {
shouldCreateWithMips: Boolean shouldCreateWithMips: Boolean
): Long ): Long
@JvmStatic external fun _nMakeNull(width: Int, height: Int): Long @JvmStatic
@JvmStatic external fun _nGetWidth(ptr: Long): Int @ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeNull")
@JvmStatic external fun _nGetHeight(ptr: Long): Int external fun _nMakeNull(width: Int, height: Int): Long
@JvmStatic external fun _nGetImageInfo(ptr: Long): ImageInfo @JvmStatic
@JvmStatic external fun _nGenerationId(ptr: Long): Int @ExternalSymbolName("org_jetbrains_skia_Surface__1nGetWidth")
@JvmStatic external fun _nNotifyContentWillChange(ptr: Long, mode: Int) external fun _nGetWidth(ptr: Long): Int
@JvmStatic external fun _nGetRecordingContext(ptr: Long): Long @JvmStatic
@JvmStatic external fun _nGetCanvas(ptr: Long): Long @ExternalSymbolName("org_jetbrains_skia_Surface__1nGetHeight")
@JvmStatic external fun _nMakeSurfaceI( external fun _nGetHeight(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nGetImageInfo")
external fun _nGetImageInfo(ptr: Long): ImageInfo
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nGenerationId")
external fun _nGenerationId(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nNotifyContentWillChange")
external fun _nNotifyContentWillChange(ptr: Long, mode: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nGetRecordingContext")
external fun _nGetRecordingContext(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nGetCanvas")
external fun _nGetCanvas(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeSurfaceI")
external fun _nMakeSurfaceI(
ptr: Long, ptr: Long,
width: Int, width: Int,
height: Int, height: Int,
...@@ -599,18 +632,42 @@ class Surface : RefCnt { ...@@ -599,18 +632,42 @@ class Surface : RefCnt {
colorSpacePtr: Long colorSpacePtr: Long
): Long ): Long
@JvmStatic external fun _nMakeSurface(ptr: Long, width: Int, height: Int): Long @JvmStatic
@JvmStatic external fun _nMakeImageSnapshot(ptr: Long): Long @ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeSurface")
@JvmStatic external fun _nMakeImageSnapshotR(ptr: Long, left: Int, top: Int, right: Int, bottom: Int): Long external fun _nMakeSurface(ptr: Long, width: Int, height: Int): Long
@JvmStatic external fun _nDraw(ptr: Long, canvasPtr: Long, x: Float, y: Float, paintPtr: Long) @JvmStatic
@JvmStatic external fun _nPeekPixels(ptr: Long, pixmapPtr: Long): Boolean @ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeImageSnapshot")
@JvmStatic external fun _nReadPixelsToPixmap(ptr: Long, pixmapPtr: Long, srcX: Int, srcY: Int): Boolean external fun _nMakeImageSnapshot(ptr: Long): Long
@JvmStatic external fun _nReadPixels(ptr: Long, bitmapPtr: Long, srcX: Int, srcY: Int): Boolean @JvmStatic
@JvmStatic external fun _nWritePixelsFromPixmap(ptr: Long, pixmapPtr: Long, x: Int, y: Int) @ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeImageSnapshotR")
@JvmStatic external fun _nWritePixels(ptr: Long, bitmapPtr: Long, x: Int, y: Int) external fun _nMakeImageSnapshotR(ptr: Long, left: Int, top: Int, right: Int, bottom: Int): Long
@JvmStatic external fun _nFlushAndSubmit(ptr: Long, syncCpu: Boolean) @JvmStatic
@JvmStatic external fun _nFlush(ptr: Long) @ExternalSymbolName("org_jetbrains_skia_Surface__1nDraw")
@JvmStatic external fun _nUnique(ptr: Long): Boolean external fun _nDraw(ptr: Long, canvasPtr: Long, x: Float, y: Float, paintPtr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nPeekPixels")
external fun _nPeekPixels(ptr: Long, pixmapPtr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nReadPixelsToPixmap")
external fun _nReadPixelsToPixmap(ptr: Long, pixmapPtr: Long, srcX: Int, srcY: Int): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nReadPixels")
external fun _nReadPixels(ptr: Long, bitmapPtr: Long, srcX: Int, srcY: Int): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nWritePixelsFromPixmap")
external fun _nWritePixelsFromPixmap(ptr: Long, pixmapPtr: Long, x: Int, y: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nWritePixels")
external fun _nWritePixels(ptr: Long, bitmapPtr: Long, x: Int, y: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nFlushAndSubmit")
external fun _nFlushAndSubmit(ptr: Long, syncCpu: Boolean)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nFlush")
external fun _nFlush(ptr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nUnique")
external fun _nUnique(ptr: Long): Boolean
init { init {
staticLoad() staticLoad()
......
...@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad ...@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Managed import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class TextBlob internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) { class TextBlob internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) {
...@@ -93,22 +94,54 @@ class TextBlob internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.P ...@@ -93,22 +94,54 @@ class TextBlob internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.P
} }
} }
@JvmStatic external fun _nGetFinalizer(): Long @JvmStatic
@JvmStatic external fun _nBounds(ptr: Long): Rect @ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetFinalizer")
@JvmStatic external fun _nGetUniqueId(ptr: Long): Int external fun _nGetFinalizer(): Long
@JvmStatic external fun _nGetIntercepts(ptr: Long, lower: Float, upper: Float, paintPtr: Long): FloatArray? @JvmStatic
@JvmStatic external fun _nMakeFromPosH(glyphs: ShortArray?, xpos: FloatArray?, ypos: Float, fontPtr: Long): Long @ExternalSymbolName("org_jetbrains_skia_TextBlob__1nBounds")
@JvmStatic external fun _nMakeFromPos(glyphs: ShortArray?, pos: FloatArray?, fontPtr: Long): Long external fun _nBounds(ptr: Long): Rect
@JvmStatic external fun _nMakeFromRSXform(glyphs: ShortArray?, xform: FloatArray?, fontPtr: Long): Long @JvmStatic
@JvmStatic external fun _nSerializeToData(ptr: Long /*, SkSerialProcs */): Long @ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetUniqueId")
@JvmStatic external fun _nMakeFromData(dataPtr: Long /*, SkDeserialProcs */): Long external fun _nGetUniqueId(ptr: Long): Int
@JvmStatic external fun _nGetGlyphs(ptr: Long): ShortArray @JvmStatic
@JvmStatic external fun _nGetPositions(ptr: Long): FloatArray @ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetIntercepts")
@JvmStatic external fun _nGetClusters(ptr: Long): IntArray external fun _nGetIntercepts(ptr: Long, lower: Float, upper: Float, paintPtr: Long): FloatArray?
@JvmStatic external fun _nGetTightBounds(ptr: Long): Rect @JvmStatic
@JvmStatic external fun _nGetBlockBounds(ptr: Long): Rect @ExternalSymbolName("org_jetbrains_skia_TextBlob__1nMakeFromPosH")
@JvmStatic external fun _nGetFirstBaseline(ptr: Long): Float external fun _nMakeFromPosH(glyphs: ShortArray?, xpos: FloatArray?, ypos: Float, fontPtr: Long): Long
@JvmStatic external fun _nGetLastBaseline(ptr: Long): Float @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nMakeFromPos")
external fun _nMakeFromPos(glyphs: ShortArray?, pos: FloatArray?, fontPtr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nMakeFromRSXform")
external fun _nMakeFromRSXform(glyphs: ShortArray?, xform: FloatArray?, fontPtr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nSerializeToData")
external fun _nSerializeToData(ptr: Long /*, SkSerialProcs */): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nMakeFromData")
external fun _nMakeFromData(dataPtr: Long /*, SkDeserialProcs */): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetGlyphs")
external fun _nGetGlyphs(ptr: Long): ShortArray
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetPositions")
external fun _nGetPositions(ptr: Long): FloatArray
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetClusters")
external fun _nGetClusters(ptr: Long): IntArray
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetTightBounds")
external fun _nGetTightBounds(ptr: Long): Rect
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetBlockBounds")
external fun _nGetBlockBounds(ptr: Long): Rect
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetFirstBaseline")
external fun _nGetFirstBaseline(ptr: Long): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetLastBaseline")
external fun _nGetLastBaseline(ptr: Long): Float
init { init {
staticLoad() staticLoad()
......
...@@ -5,15 +5,26 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad ...@@ -5,15 +5,26 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Managed import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class TextBlobBuilder internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) { class TextBlobBuilder internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) {
companion object { companion object {
@JvmStatic external fun _nGetFinalizer(): Long @JvmStatic
@JvmStatic external fun _nMake(): Long @ExternalSymbolName("org_jetbrains_skia_TextBlobBuilder__1nGetFinalizer")
@JvmStatic external fun _nBuild(ptr: Long): Long external fun _nGetFinalizer(): Long
@JvmStatic external fun _nAppendRun(ptr: Long, fontPtr: Long, glyphs: ShortArray?, x: Float, y: Float, bounds: Rect?) @JvmStatic
@JvmStatic external fun _nAppendRunPosH( @ExternalSymbolName("org_jetbrains_skia_TextBlobBuilder__1nMake")
external fun _nMake(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlobBuilder__1nBuild")
external fun _nBuild(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlobBuilder__1nAppendRun")
external fun _nAppendRun(ptr: Long, fontPtr: Long, glyphs: ShortArray?, x: Float, y: Float, bounds: Rect?)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlobBuilder__1nAppendRunPosH")
external fun _nAppendRunPosH(
ptr: Long, ptr: Long,
fontPtr: Long, fontPtr: Long,
glyphs: ShortArray?, glyphs: ShortArray?,
...@@ -22,8 +33,12 @@ class TextBlobBuilder internal constructor(ptr: Long) : Managed(ptr, _FinalizerH ...@@ -22,8 +33,12 @@ class TextBlobBuilder internal constructor(ptr: Long) : Managed(ptr, _FinalizerH
bounds: Rect? bounds: Rect?
) )
@JvmStatic external fun _nAppendRunPos(ptr: Long, fontPtr: Long, glyphs: ShortArray?, pos: FloatArray?, bounds: Rect?) @JvmStatic
@JvmStatic external fun _nAppendRunRSXform(ptr: Long, fontPtr: Long, glyphs: ShortArray?, xform: FloatArray?) @ExternalSymbolName("org_jetbrains_skia_TextBlobBuilder__1nAppendRunPos")
external fun _nAppendRunPos(ptr: Long, fontPtr: Long, glyphs: ShortArray?, pos: FloatArray?, bounds: Rect?)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlobBuilder__1nAppendRunRSXform")
external fun _nAppendRunRSXform(ptr: Long, fontPtr: Long, glyphs: ShortArray?, xform: FloatArray?)
init { init {
staticLoad() staticLoad()
......
...@@ -3,6 +3,7 @@ package org.jetbrains.skia ...@@ -3,6 +3,7 @@ package org.jetbrains.skia
import org.jetbrains.skia.impl.* import org.jetbrains.skia.impl.*
import org.jetbrains.skia.shaper.* import org.jetbrains.skia.shaper.*
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class TextLine internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) { class TextLine internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) {
...@@ -15,23 +16,57 @@ class TextLine internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.P ...@@ -15,23 +16,57 @@ class TextLine internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.P
return Shaper.makeShapeDontWrapOrReorder().use { shaper -> shaper.shapeLine(text, font, opts!!) } return Shaper.makeShapeDontWrapOrReorder().use { shaper -> shaper.shapeLine(text, font, opts!!) }
} }
@JvmStatic external fun _nGetFinalizer(): Long @JvmStatic
@JvmStatic external fun _nGetAscent(ptr: Long): Float @ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetFinalizer")
@JvmStatic external fun _nGetCapHeight(ptr: Long): Float external fun _nGetFinalizer(): Long
@JvmStatic external fun _nGetXHeight(ptr: Long): Float @JvmStatic
@JvmStatic external fun _nGetDescent(ptr: Long): Float @ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetAscent")
@JvmStatic external fun _nGetLeading(ptr: Long): Float external fun _nGetAscent(ptr: Long): Float
@JvmStatic external fun _nGetWidth(ptr: Long): Float @JvmStatic
@JvmStatic external fun _nGetHeight(ptr: Long): Float @ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetCapHeight")
@JvmStatic external fun _nGetTextBlob(ptr: Long): Long external fun _nGetCapHeight(ptr: Long): Float
@JvmStatic external fun _nGetGlyphs(ptr: Long): ShortArray @JvmStatic
@JvmStatic external fun _nGetPositions(ptr: Long): FloatArray @ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetXHeight")
@JvmStatic external fun _nGetRunPositions(ptr: Long): FloatArray? external fun _nGetXHeight(ptr: Long): Float
@JvmStatic external fun _nGetBreakPositions(ptr: Long): FloatArray? @JvmStatic
@JvmStatic external fun _nGetBreakOffsets(ptr: Long): IntArray? @ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetDescent")
@JvmStatic external fun _nGetOffsetAtCoord(ptr: Long, x: Float): Int external fun _nGetDescent(ptr: Long): Float
@JvmStatic external fun _nGetLeftOffsetAtCoord(ptr: Long, x: Float): Int @JvmStatic
@JvmStatic external fun _nGetCoordAtOffset(ptr: Long, offset: Int): Float @ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetLeading")
external fun _nGetLeading(ptr: Long): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetWidth")
external fun _nGetWidth(ptr: Long): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetHeight")
external fun _nGetHeight(ptr: Long): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetTextBlob")
external fun _nGetTextBlob(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetGlyphs")
external fun _nGetGlyphs(ptr: Long): ShortArray
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetPositions")
external fun _nGetPositions(ptr: Long): FloatArray
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetRunPositions")
external fun _nGetRunPositions(ptr: Long): FloatArray?
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetBreakPositions")
external fun _nGetBreakPositions(ptr: Long): FloatArray?
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetBreakOffsets")
external fun _nGetBreakOffsets(ptr: Long): IntArray?
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetOffsetAtCoord")
external fun _nGetOffsetAtCoord(ptr: Long, x: Float): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetLeftOffsetAtCoord")
external fun _nGetLeftOffsetAtCoord(ptr: Long, x: Float): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetCoordAtOffset")
external fun _nGetCoordAtOffset(ptr: Long, offset: Int): Float
init { init {
Library.staticLoad() Library.staticLoad()
......
...@@ -6,6 +6,7 @@ import org.jetbrains.skia.impl.RefCnt ...@@ -6,6 +6,7 @@ import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Native import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class Typeface internal constructor(ptr: Long) : RefCnt(ptr) { class Typeface internal constructor(ptr: Long) : RefCnt(ptr) {
...@@ -63,29 +64,75 @@ class Typeface internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -63,29 +64,75 @@ class Typeface internal constructor(ptr: Long) : RefCnt(ptr) {
} }
} }
@JvmStatic external fun _nGetFontStyle(ptr: Long): Int @JvmStatic
@JvmStatic external fun _nIsFixedPitch(ptr: Long): Boolean @ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetFontStyle")
@JvmStatic external fun _nGetVariations(ptr: Long): Array<FontVariation>? external fun _nGetFontStyle(ptr: Long): Int
@JvmStatic external fun _nGetVariationAxes(ptr: Long): Array<FontVariationAxis>? @JvmStatic
@JvmStatic external fun _nGetUniqueId(ptr: Long): Int @ExternalSymbolName("org_jetbrains_skia_Typeface__1nIsFixedPitch")
@JvmStatic external fun _nEquals(ptr: Long, otherPtr: Long): Boolean external fun _nIsFixedPitch(ptr: Long): Boolean
@JvmStatic external fun _nMakeDefault(): Long @JvmStatic
@JvmStatic external fun _nMakeFromName(name: String?, fontStyle: Int): Long @ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetVariations")
@JvmStatic external fun _nMakeFromFile(path: String?, index: Int): Long external fun _nGetVariations(ptr: Long): Array<FontVariation>?
@JvmStatic external fun _nMakeFromData(dataPtr: Long, index: Int): Long @JvmStatic
@JvmStatic external fun _nMakeClone(ptr: Long, variations: Array<FontVariation>?, collectionIndex: Int): Long @ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetVariationAxes")
@JvmStatic external fun _nGetUTF32Glyphs(ptr: Long, uni: IntArray?): ShortArray external fun _nGetVariationAxes(ptr: Long): Array<FontVariationAxis>?
@JvmStatic external fun _nGetUTF32Glyph(ptr: Long, unichar: Int): Short @JvmStatic
@JvmStatic external fun _nGetGlyphsCount(ptr: Long): Int @ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetUniqueId")
@JvmStatic external fun _nGetTablesCount(ptr: Long): Int external fun _nGetUniqueId(ptr: Long): Int
@JvmStatic external fun _nGetTableTags(ptr: Long): IntArray? @JvmStatic
@JvmStatic external fun _nGetTableSize(ptr: Long, tag: Int): Long @ExternalSymbolName("org_jetbrains_skia_Typeface__1nEquals")
@JvmStatic external fun _nGetTableData(ptr: Long, tag: Int): Long external fun _nEquals(ptr: Long, otherPtr: Long): Boolean
@JvmStatic external fun _nGetUnitsPerEm(ptr: Long): Int @JvmStatic
@JvmStatic external fun _nGetKerningPairAdjustments(ptr: Long, glyphs: ShortArray?): IntArray? @ExternalSymbolName("org_jetbrains_skia_Typeface__1nMakeDefault")
@JvmStatic external fun _nGetFamilyNames(ptr: Long): Array<FontFamilyName> external fun _nMakeDefault(): Long
@JvmStatic external fun _nGetFamilyName(ptr: Long): String @JvmStatic
@JvmStatic external fun _nGetBounds(ptr: Long): Rect @ExternalSymbolName("org_jetbrains_skia_Typeface__1nMakeFromName")
external fun _nMakeFromName(name: String?, fontStyle: Int): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nMakeFromFile")
external fun _nMakeFromFile(path: String?, index: Int): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nMakeFromData")
external fun _nMakeFromData(dataPtr: Long, index: Int): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nMakeClone")
external fun _nMakeClone(ptr: Long, variations: Array<FontVariation>?, collectionIndex: Int): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetUTF32Glyphs")
external fun _nGetUTF32Glyphs(ptr: Long, uni: IntArray?): ShortArray
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetUTF32Glyph")
external fun _nGetUTF32Glyph(ptr: Long, unichar: Int): Short
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetGlyphsCount")
external fun _nGetGlyphsCount(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetTablesCount")
external fun _nGetTablesCount(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetTableTags")
external fun _nGetTableTags(ptr: Long): IntArray?
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetTableSize")
external fun _nGetTableSize(ptr: Long, tag: Int): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetTableData")
external fun _nGetTableData(ptr: Long, tag: Int): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetUnitsPerEm")
external fun _nGetUnitsPerEm(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetKerningPairAdjustments")
external fun _nGetKerningPairAdjustments(ptr: Long, glyphs: ShortArray?): IntArray?
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetFamilyNames")
external fun _nGetFamilyNames(ptr: Long): Array<FontFamilyName>
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetFamilyName")
external fun _nGetFamilyName(ptr: Long): String
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetBounds")
external fun _nGetBounds(ptr: Long): Rect
init { init {
staticLoad() staticLoad()
......
...@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad ...@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Managed import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
/** /**
...@@ -12,9 +13,15 @@ import kotlin.jvm.JvmStatic ...@@ -12,9 +13,15 @@ import kotlin.jvm.JvmStatic
*/ */
class U16String internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) { class U16String internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) {
companion object { companion object {
@JvmStatic external fun _nMake(s: String?): Long @JvmStatic
@JvmStatic external fun _nGetFinalizer(): Long @ExternalSymbolName("org_jetbrains_skia_U16String__1nMake")
@JvmStatic external fun _nToString(ptr: Long): String external fun _nMake(s: String?): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_U16String__1nGetFinalizer")
external fun _nGetFinalizer(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_U16String__1nToString")
external fun _nToString(ptr: Long): String
init { init {
staticLoad() staticLoad()
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
package org.jetbrains.skia.impl package org.jetbrains.skia.impl
import org.jetbrains.skia.ByteBuffer import org.jetbrains.skia.ByteBuffer
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
object BufferUtil { object BufferUtil {
...@@ -16,6 +17,10 @@ object BufferUtil { ...@@ -16,6 +17,10 @@ object BufferUtil {
return result return result
} }
@JvmStatic external fun _nGetByteBufferFromPointer(ptr: Long, size: Int): ByteBuffer? @JvmStatic
@JvmStatic external fun _nGetPointerFromByteBuffer(buffer: ByteBuffer?): Long @ExternalSymbolName("org_jetbrains_skia_BufferUtil__1nGetByteBufferFromPointer")
external fun _nGetByteBufferFromPointer(ptr: Long, size: Int): ByteBuffer?
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BufferUtil__1nGetPointerFromByteBuffer")
external fun _nGetPointerFromByteBuffer(buffer: ByteBuffer?): Long
} }
\ No newline at end of file
...@@ -6,22 +6,47 @@ import org.jetbrains.skia.impl.RefCnt ...@@ -6,22 +6,47 @@ import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.* import org.jetbrains.skia.*
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class FontCollection internal constructor(ptr: Long) : RefCnt(ptr) { class FontCollection internal constructor(ptr: Long) : RefCnt(ptr) {
companion object { companion object {
@JvmStatic external fun _nMake(): Long @JvmStatic
@JvmStatic external fun _nGetFontManagersCount(ptr: Long): Long @ExternalSymbolName("org_jetbrains_skia_FontCollection__1nMake")
@JvmStatic external fun _nSetAssetFontManager(ptr: Long, fontManagerPtr: Long): Long external fun _nMake(): Long
@JvmStatic external fun _nSetDynamicFontManager(ptr: Long, fontManagerPtr: Long): Long @JvmStatic
@JvmStatic external fun _nSetTestFontManager(ptr: Long, fontManagerPtr: Long): Long @ExternalSymbolName("org_jetbrains_skia_FontCollection__1nGetFontManagersCount")
@JvmStatic external fun _nSetDefaultFontManager(ptr: Long, fontManagerPtr: Long, defaultFamilyName: String?): Long external fun _nGetFontManagersCount(ptr: Long): Long
@JvmStatic external fun _nGetFallbackManager(ptr: Long): Long @JvmStatic
@JvmStatic external fun _nFindTypefaces(ptr: Long, familyNames: Array<String?>?, fontStyle: Int): LongArray @ExternalSymbolName("org_jetbrains_skia_FontCollection__1nSetAssetFontManager")
@JvmStatic external fun _nDefaultFallbackChar(ptr: Long, unicode: Int, fontStyle: Int, locale: String?): Long external fun _nSetAssetFontManager(ptr: Long, fontManagerPtr: Long): Long
@JvmStatic external fun _nDefaultFallback(ptr: Long): Long @JvmStatic
@JvmStatic external fun _nSetEnableFallback(ptr: Long, value: Boolean): Long @ExternalSymbolName("org_jetbrains_skia_FontCollection__1nSetDynamicFontManager")
@JvmStatic external fun _nGetParagraphCache(ptr: Long): Long external fun _nSetDynamicFontManager(ptr: Long, fontManagerPtr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontCollection__1nSetTestFontManager")
external fun _nSetTestFontManager(ptr: Long, fontManagerPtr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontCollection__1nSetDefaultFontManager")
external fun _nSetDefaultFontManager(ptr: Long, fontManagerPtr: Long, defaultFamilyName: String?): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontCollection__1nGetFallbackManager")
external fun _nGetFallbackManager(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontCollection__1nFindTypefaces")
external fun _nFindTypefaces(ptr: Long, familyNames: Array<String?>?, fontStyle: Int): LongArray
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontCollection__1nDefaultFallbackChar")
external fun _nDefaultFallbackChar(ptr: Long, unicode: Int, fontStyle: Int, locale: String?): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontCollection__1nDefaultFallback")
external fun _nDefaultFallback(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontCollection__1nSetEnableFallback")
external fun _nSetEnableFallback(ptr: Long, value: Boolean): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontCollection__1nGetParagraphCache")
external fun _nGetParagraphCache(ptr: Long): Long
init { init {
staticLoad() staticLoad()
......
...@@ -6,22 +6,47 @@ import org.jetbrains.skia.* ...@@ -6,22 +6,47 @@ import org.jetbrains.skia.*
import org.jetbrains.skia.impl.Managed import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class Paragraph internal constructor(ptr: Long, text: ManagedString?) : Managed(ptr, _FinalizerHolder.PTR) { class Paragraph internal constructor(ptr: Long, text: ManagedString?) : Managed(ptr, _FinalizerHolder.PTR) {
companion object { companion object {
@JvmStatic external fun _nGetFinalizer(): Long @JvmStatic
@JvmStatic external fun _nGetMaxWidth(ptr: Long): Float @ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetFinalizer")
@JvmStatic external fun _nGetHeight(ptr: Long): Float external fun _nGetFinalizer(): Long
@JvmStatic external fun _nGetMinIntrinsicWidth(ptr: Long): Float @JvmStatic
@JvmStatic external fun _nGetMaxIntrinsicWidth(ptr: Long): Float @ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetMaxWidth")
@JvmStatic external fun _nGetAlphabeticBaseline(ptr: Long): Float external fun _nGetMaxWidth(ptr: Long): Float
@JvmStatic external fun _nGetIdeographicBaseline(ptr: Long): Float @JvmStatic
@JvmStatic external fun _nGetLongestLine(ptr: Long): Float @ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetHeight")
@JvmStatic external fun _nDidExceedMaxLines(ptr: Long): Boolean external fun _nGetHeight(ptr: Long): Float
@JvmStatic external fun _nLayout(ptr: Long, width: Float) @JvmStatic
@JvmStatic external fun _nPaint(ptr: Long, canvasPtr: Long, x: Float, y: Float): Long @ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetMinIntrinsicWidth")
@JvmStatic external fun _nGetRectsForRange( external fun _nGetMinIntrinsicWidth(ptr: Long): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetMaxIntrinsicWidth")
external fun _nGetMaxIntrinsicWidth(ptr: Long): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetAlphabeticBaseline")
external fun _nGetAlphabeticBaseline(ptr: Long): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetIdeographicBaseline")
external fun _nGetIdeographicBaseline(ptr: Long): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetLongestLine")
external fun _nGetLongestLine(ptr: Long): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nDidExceedMaxLines")
external fun _nDidExceedMaxLines(ptr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nLayout")
external fun _nLayout(ptr: Long, width: Float)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nPaint")
external fun _nPaint(ptr: Long, canvasPtr: Long, x: Float, y: Float): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetRectsForRange")
external fun _nGetRectsForRange(
ptr: Long, ptr: Long,
start: Int, start: Int,
end: Int, end: Int,
...@@ -29,18 +54,40 @@ class Paragraph internal constructor(ptr: Long, text: ManagedString?) : Managed( ...@@ -29,18 +54,40 @@ class Paragraph internal constructor(ptr: Long, text: ManagedString?) : Managed(
rectWidthMode: Int rectWidthMode: Int
): Array<TextBox> ): Array<TextBox>
@JvmStatic external fun _nGetRectsForPlaceholders(ptr: Long): Array<TextBox> @JvmStatic
@JvmStatic external fun _nGetGlyphPositionAtCoordinate(ptr: Long, dx: Float, dy: Float): Int @ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetRectsForPlaceholders")
@JvmStatic external fun _nGetWordBoundary(ptr: Long, offset: Int): Long external fun _nGetRectsForPlaceholders(ptr: Long): Array<TextBox>
@JvmStatic external fun _nGetLineMetrics(ptr: Long, textPtr: Long): Array<LineMetrics?> @JvmStatic
@JvmStatic external fun _nGetLineNumber(ptr: Long): Long @ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetGlyphPositionAtCoordinate")
@JvmStatic external fun _nMarkDirty(ptr: Long) external fun _nGetGlyphPositionAtCoordinate(ptr: Long, dx: Float, dy: Float): Int
@JvmStatic external fun _nGetUnresolvedGlyphsCount(ptr: Long): Int @JvmStatic
@JvmStatic external fun _nUpdateAlignment(ptr: Long, Align: Int) @ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetWordBoundary")
external fun _nGetWordBoundary(ptr: Long, offset: Int): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetLineMetrics")
external fun _nGetLineMetrics(ptr: Long, textPtr: Long): Array<LineMetrics?>
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetLineNumber")
external fun _nGetLineNumber(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nMarkDirty")
external fun _nMarkDirty(ptr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetUnresolvedGlyphsCount")
external fun _nGetUnresolvedGlyphsCount(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nUpdateAlignment")
external fun _nUpdateAlignment(ptr: Long, Align: Int)
@JvmStatic external fun _nUpdateFontSize(ptr: Long, from: Int, to: Int, size: Float, textPtr: Long) @JvmStatic
@JvmStatic external fun _nUpdateForegroundPaint(ptr: Long, from: Int, to: Int, paintPtr: Long, textPtr: Long) @ExternalSymbolName("org_jetbrains_skia_Paragraph__1nUpdateFontSize")
@JvmStatic external fun _nUpdateBackgroundPaint(ptr: Long, from: Int, to: Int, paintPtr: Long, textPtr: Long) external fun _nUpdateFontSize(ptr: Long, from: Int, to: Int, size: Float, textPtr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nUpdateForegroundPaint")
external fun _nUpdateForegroundPaint(ptr: Long, from: Int, to: Int, paintPtr: Long, textPtr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nUpdateBackgroundPaint")
external fun _nUpdateBackgroundPaint(ptr: Long, from: Int, to: Int, paintPtr: Long, textPtr: Long)
init { init {
staticLoad() staticLoad()
......
...@@ -6,17 +6,30 @@ import org.jetbrains.skia.ManagedString ...@@ -6,17 +6,30 @@ import org.jetbrains.skia.ManagedString
import org.jetbrains.skia.impl.Managed import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class ParagraphBuilder(style: ParagraphStyle?, fc: FontCollection?) : class ParagraphBuilder(style: ParagraphStyle?, fc: FontCollection?) :
Managed(_nMake(getPtr(style), getPtr(fc)), _FinalizerHolder.PTR) { Managed(_nMake(getPtr(style), getPtr(fc)), _FinalizerHolder.PTR) {
companion object { companion object {
@JvmStatic external fun _nMake(paragraphStylePtr: Long, fontCollectionPtr: Long): Long @JvmStatic
@JvmStatic external fun _nGetFinalizer(): Long @ExternalSymbolName("org_jetbrains_skia_ParagraphBuilder__1nMake")
@JvmStatic external fun _nPushStyle(ptr: Long, textStylePtr: Long) external fun _nMake(paragraphStylePtr: Long, fontCollectionPtr: Long): Long
@JvmStatic external fun _nPopStyle(ptr: Long) @JvmStatic
@JvmStatic external fun _nAddText(ptr: Long, text: String?) @ExternalSymbolName("org_jetbrains_skia_ParagraphBuilder__1nGetFinalizer")
@JvmStatic external fun _nAddPlaceholder( external fun _nGetFinalizer(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphBuilder__1nPushStyle")
external fun _nPushStyle(ptr: Long, textStylePtr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphBuilder__1nPopStyle")
external fun _nPopStyle(ptr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphBuilder__1nAddText")
external fun _nAddText(ptr: Long, text: String?)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphBuilder__1nAddPlaceholder")
external fun _nAddPlaceholder(
ptr: Long, ptr: Long,
width: Float, width: Float,
height: Float, height: Float,
...@@ -25,8 +38,12 @@ class ParagraphBuilder(style: ParagraphStyle?, fc: FontCollection?) : ...@@ -25,8 +38,12 @@ class ParagraphBuilder(style: ParagraphStyle?, fc: FontCollection?) :
baseline: Float baseline: Float
) )
@JvmStatic external fun _nSetParagraphStyle(ptr: Long, stylePtr: Long) @JvmStatic
@JvmStatic external fun _nBuild(ptr: Long): Long @ExternalSymbolName("org_jetbrains_skia_ParagraphBuilder__1nSetParagraphStyle")
external fun _nSetParagraphStyle(ptr: Long, stylePtr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphBuilder__1nBuild")
external fun _nBuild(ptr: Long): Long
init { init {
staticLoad() staticLoad()
......
...@@ -5,17 +5,32 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad ...@@ -5,17 +5,32 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Native import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class ParagraphCache internal constructor(owner: FontCollection, ptr: Long) : Native(ptr) { class ParagraphCache internal constructor(owner: FontCollection, ptr: Long) : Native(ptr) {
companion object { companion object {
@JvmStatic external fun _nAbandon(ptr: Long) @JvmStatic
@JvmStatic external fun _nReset(ptr: Long) @ExternalSymbolName("org_jetbrains_skia_ParagraphCache__1nAbandon")
@JvmStatic external fun _nUpdateParagraph(ptr: Long, paragraphPtr: Long): Boolean external fun _nAbandon(ptr: Long)
@JvmStatic external fun _nFindParagraph(ptr: Long, paragraphPtr: Long): Boolean @JvmStatic
@JvmStatic external fun _nPrintStatistics(ptr: Long) @ExternalSymbolName("org_jetbrains_skia_ParagraphCache__1nReset")
@JvmStatic external fun _nSetEnabled(ptr: Long, value: Boolean) external fun _nReset(ptr: Long)
@JvmStatic external fun _nGetCount(ptr: Long): Int @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphCache__1nUpdateParagraph")
external fun _nUpdateParagraph(ptr: Long, paragraphPtr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphCache__1nFindParagraph")
external fun _nFindParagraph(ptr: Long, paragraphPtr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphCache__1nPrintStatistics")
external fun _nPrintStatistics(ptr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphCache__1nSetEnabled")
external fun _nSetEnabled(ptr: Long, value: Boolean)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphCache__1nGetCount")
external fun _nGetCount(ptr: Long): Int
init { init {
staticLoad() staticLoad()
......
...@@ -6,32 +6,77 @@ import org.jetbrains.skia.impl.Managed ...@@ -6,32 +6,77 @@ import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Native import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class ParagraphStyle : Managed(_nMake(), _FinalizerHolder.PTR) { class ParagraphStyle : Managed(_nMake(), _FinalizerHolder.PTR) {
companion object { companion object {
@JvmStatic external fun _nGetFinalizer(): Long @JvmStatic
@JvmStatic external fun _nMake(): Long @ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetFinalizer")
@JvmStatic external fun _nEquals(ptr: Long, otherPtr: Long): Boolean external fun _nGetFinalizer(): Long
@JvmStatic external fun _nGetStrutStyle(ptr: Long): Long @JvmStatic
@JvmStatic external fun _nSetStrutStyle(ptr: Long, stylePtr: Long) @ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nMake")
@JvmStatic external fun _nGetTextStyle(ptr: Long): Long external fun _nMake(): Long
@JvmStatic external fun _nSetTextStyle(ptr: Long, textStylePtr: Long) @JvmStatic
@JvmStatic external fun _nGetDirection(ptr: Long): Int @ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nEquals")
@JvmStatic external fun _nSetDirection(ptr: Long, direction: Int) external fun _nEquals(ptr: Long, otherPtr: Long): Boolean
@JvmStatic external fun _nGetAlignment(ptr: Long): Int @JvmStatic
@JvmStatic external fun _nSetAlignment(ptr: Long, align: Int) @ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetStrutStyle")
@JvmStatic external fun _nGetMaxLinesCount(ptr: Long): Long external fun _nGetStrutStyle(ptr: Long): Long
@JvmStatic external fun _nSetMaxLinesCount(ptr: Long, maxLines: Long) @JvmStatic
@JvmStatic external fun _nGetEllipsis(ptr: Long): String @ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nSetStrutStyle")
@JvmStatic external fun _nSetEllipsis(ptr: Long, ellipsis: String?) external fun _nSetStrutStyle(ptr: Long, stylePtr: Long)
@JvmStatic external fun _nGetHeight(ptr: Long): Float @JvmStatic
@JvmStatic external fun _nSetHeight(ptr: Long, height: Float) @ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetTextStyle")
@JvmStatic external fun _nGetHeightMode(ptr: Long): Int external fun _nGetTextStyle(ptr: Long): Long
@JvmStatic external fun _nSetHeightMode(ptr: Long, v: Int) @JvmStatic
@JvmStatic external fun _nGetEffectiveAlignment(ptr: Long): Int @ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nSetTextStyle")
@JvmStatic external fun _nIsHintingEnabled(ptr: Long): Boolean external fun _nSetTextStyle(ptr: Long, textStylePtr: Long)
@JvmStatic external fun _nDisableHinting(ptr: Long) @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetDirection")
external fun _nGetDirection(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nSetDirection")
external fun _nSetDirection(ptr: Long, direction: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetAlignment")
external fun _nGetAlignment(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nSetAlignment")
external fun _nSetAlignment(ptr: Long, align: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetMaxLinesCount")
external fun _nGetMaxLinesCount(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nSetMaxLinesCount")
external fun _nSetMaxLinesCount(ptr: Long, maxLines: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetEllipsis")
external fun _nGetEllipsis(ptr: Long): String
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nSetEllipsis")
external fun _nSetEllipsis(ptr: Long, ellipsis: String?)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetHeight")
external fun _nGetHeight(ptr: Long): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nSetHeight")
external fun _nSetHeight(ptr: Long, height: Float)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetHeightMode")
external fun _nGetHeightMode(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nSetHeightMode")
external fun _nSetHeightMode(ptr: Long, v: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetEffectiveAlignment")
external fun _nGetEffectiveAlignment(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nIsHintingEnabled")
external fun _nIsHintingEnabled(ptr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nDisableHinting")
external fun _nDisableHinting(ptr: Long)
init { init {
staticLoad() staticLoad()
......
...@@ -7,29 +7,68 @@ import org.jetbrains.skia.impl.Managed ...@@ -7,29 +7,68 @@ import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Native import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class StrutStyle internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) { class StrutStyle internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) {
companion object { companion object {
@JvmStatic external fun _nGetFinalizer(): Long @JvmStatic
@JvmStatic external fun _nMake(): Long @ExternalSymbolName("org_jetbrains_skia_StrutStyle__1nGetFinalizer")
@JvmStatic external fun _nEquals(ptr: Long, otherPtr: Long): Boolean external fun _nGetFinalizer(): Long
@JvmStatic external fun _nGetFontFamilies(ptr: Long): Array<String> @JvmStatic
@JvmStatic external fun _nSetFontFamilies(ptr: Long, families: Array<String?>?) @ExternalSymbolName("org_jetbrains_skia_StrutStyle__1nMake")
@JvmStatic external fun _nGetFontStyle(ptr: Long): Int external fun _nMake(): Long
@JvmStatic external fun _nSetFontStyle(ptr: Long, value: Int) @JvmStatic
@JvmStatic external fun _nGetFontSize(ptr: Long): Float @ExternalSymbolName("org_jetbrains_skia_StrutStyle__1nEquals")
@JvmStatic external fun _nSetFontSize(ptr: Long, value: Float) external fun _nEquals(ptr: Long, otherPtr: Long): Boolean
@JvmStatic external fun _nGetHeight(ptr: Long): Float @JvmStatic
@JvmStatic external fun _nSetHeight(ptr: Long, value: Float) @ExternalSymbolName("org_jetbrains_skia_StrutStyle__1nGetFontFamilies")
@JvmStatic external fun _nGetLeading(ptr: Long): Float external fun _nGetFontFamilies(ptr: Long): Array<String>
@JvmStatic external fun _nSetLeading(ptr: Long, value: Float) @JvmStatic
@JvmStatic external fun _nIsEnabled(ptr: Long): Boolean @ExternalSymbolName("org_jetbrains_skia_StrutStyle__1nSetFontFamilies")
@JvmStatic external fun _nSetEnabled(ptr: Long, value: Boolean) external fun _nSetFontFamilies(ptr: Long, families: Array<String?>?)
@JvmStatic external fun _nIsHeightForced(ptr: Long): Boolean @JvmStatic
@JvmStatic external fun _nSetHeightForced(ptr: Long, value: Boolean) @ExternalSymbolName("org_jetbrains_skia_StrutStyle__1nGetFontStyle")
@JvmStatic external fun _nIsHeightOverridden(ptr: Long): Boolean external fun _nGetFontStyle(ptr: Long): Int
@JvmStatic external fun _nSetHeightOverridden(ptr: Long, value: Boolean) @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_StrutStyle__1nSetFontStyle")
external fun _nSetFontStyle(ptr: Long, value: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_StrutStyle__1nGetFontSize")
external fun _nGetFontSize(ptr: Long): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_StrutStyle__1nSetFontSize")
external fun _nSetFontSize(ptr: Long, value: Float)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_StrutStyle__1nGetHeight")
external fun _nGetHeight(ptr: Long): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_StrutStyle__1nSetHeight")
external fun _nSetHeight(ptr: Long, value: Float)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_StrutStyle__1nGetLeading")
external fun _nGetLeading(ptr: Long): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_StrutStyle__1nSetLeading")
external fun _nSetLeading(ptr: Long, value: Float)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_StrutStyle__1nIsEnabled")
external fun _nIsEnabled(ptr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_StrutStyle__1nSetEnabled")
external fun _nSetEnabled(ptr: Long, value: Boolean)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_StrutStyle__1nIsHeightForced")
external fun _nIsHeightForced(ptr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_StrutStyle__1nSetHeightForced")
external fun _nSetHeightForced(ptr: Long, value: Boolean)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_StrutStyle__1nIsHeightOverridden")
external fun _nIsHeightOverridden(ptr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_StrutStyle__1nSetHeightOverridden")
external fun _nSetHeightOverridden(ptr: Long, value: Boolean)
init { init {
staticLoad() staticLoad()
......
...@@ -7,22 +7,47 @@ import org.jetbrains.skia.impl.Managed ...@@ -7,22 +7,47 @@ import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Native import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class TextStyle internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) { class TextStyle internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) {
companion object { companion object {
@JvmStatic external fun _nGetFinalizer(): Long @JvmStatic
@JvmStatic external fun _nMake(): Long @ExternalSymbolName("org_jetbrains_skia_TextStyle__1nGetFinalizer")
@JvmStatic external fun _nEquals(ptr: Long, otherPtr: Long): Boolean external fun _nGetFinalizer(): Long
@JvmStatic external fun _nAttributeEquals(ptr: Long, attribute: Int, otherPtr: Long): Boolean @JvmStatic
@JvmStatic external fun _nGetColor(ptr: Long): Int @ExternalSymbolName("org_jetbrains_skia_TextStyle__1nMake")
@JvmStatic external fun _nSetColor(ptr: Long, color: Int) external fun _nMake(): Long
@JvmStatic external fun _nGetForeground(ptr: Long): Long @JvmStatic
@JvmStatic external fun _nSetForeground(ptr: Long, paintPtr: Long) @ExternalSymbolName("org_jetbrains_skia_TextStyle__1nEquals")
@JvmStatic external fun _nGetBackground(ptr: Long): Long external fun _nEquals(ptr: Long, otherPtr: Long): Boolean
@JvmStatic external fun _nSetBackground(ptr: Long, paintPtr: Long) @JvmStatic
@JvmStatic external fun _nGetDecorationStyle(ptr: Long): DecorationStyle @ExternalSymbolName("org_jetbrains_skia_TextStyle__1nAttributeEquals")
@JvmStatic external fun _nSetDecorationStyle( external fun _nAttributeEquals(ptr: Long, attribute: Int, otherPtr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextStyle__1nGetColor")
external fun _nGetColor(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextStyle__1nSetColor")
external fun _nSetColor(ptr: Long, color: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextStyle__1nGetForeground")
external fun _nGetForeground(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextStyle__1nSetForeground")
external fun _nSetForeground(ptr: Long, paintPtr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextStyle__1nGetBackground")
external fun _nGetBackground(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextStyle__1nSetBackground")
external fun _nSetBackground(ptr: Long, paintPtr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextStyle__1nGetDecorationStyle")
external fun _nGetDecorationStyle(ptr: Long): DecorationStyle
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextStyle__1nSetDecorationStyle")
external fun _nSetDecorationStyle(
ptr: Long, ptr: Long,
underline: Boolean, underline: Boolean,
overline: Boolean, overline: Boolean,
...@@ -33,33 +58,87 @@ class TextStyle internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder. ...@@ -33,33 +58,87 @@ class TextStyle internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.
thicknessMultiplier: Float thicknessMultiplier: Float
) )
@JvmStatic external fun _nGetFontStyle(ptr: Long): Int @JvmStatic
@JvmStatic external fun _nSetFontStyle(ptr: Long, fontStyle: Int) @ExternalSymbolName("org_jetbrains_skia_TextStyle__1nGetFontStyle")
@JvmStatic external fun _nGetShadows(ptr: Long): Array<Shadow> external fun _nGetFontStyle(ptr: Long): Int
@JvmStatic external fun _nAddShadow(ptr: Long, color: Int, offsetX: Float, offsetY: Float, blurSigma: Double) @JvmStatic
@JvmStatic external fun _nClearShadows(ptr: Long) @ExternalSymbolName("org_jetbrains_skia_TextStyle__1nSetFontStyle")
@JvmStatic external fun _nGetFontFeatures(ptr: Long): Array<FontFeature> external fun _nSetFontStyle(ptr: Long, fontStyle: Int)
@JvmStatic external fun _nAddFontFeature(ptr: Long, name: String?, value: Int) @JvmStatic
@JvmStatic external fun _nClearFontFeatures(ptr: Long) @ExternalSymbolName("org_jetbrains_skia_TextStyle__1nGetShadows")
@JvmStatic external fun _nGetFontSize(ptr: Long): Float external fun _nGetShadows(ptr: Long): Array<Shadow>
@JvmStatic external fun _nSetFontSize(ptr: Long, size: Float) @JvmStatic
@JvmStatic external fun _nGetFontFamilies(ptr: Long): Array<String> @ExternalSymbolName("org_jetbrains_skia_TextStyle__1nAddShadow")
@JvmStatic external fun _nSetFontFamilies(ptr: Long, families: Array<String>?) external fun _nAddShadow(ptr: Long, color: Int, offsetX: Float, offsetY: Float, blurSigma: Double)
@JvmStatic external fun _nGetHeight(ptr: Long): Float? @JvmStatic
@JvmStatic external fun _nSetHeight(ptr: Long, override: Boolean, height: Float) @ExternalSymbolName("org_jetbrains_skia_TextStyle__1nClearShadows")
@JvmStatic external fun _nGetLetterSpacing(ptr: Long): Float external fun _nClearShadows(ptr: Long)
@JvmStatic external fun _nSetLetterSpacing(ptr: Long, letterSpacing: Float) @JvmStatic
@JvmStatic external fun _nGetWordSpacing(ptr: Long): Float @ExternalSymbolName("org_jetbrains_skia_TextStyle__1nGetFontFeatures")
@JvmStatic external fun _nSetWordSpacing(ptr: Long, wordSpacing: Float) external fun _nGetFontFeatures(ptr: Long): Array<FontFeature>
@JvmStatic external fun _nGetTypeface(ptr: Long): Long @JvmStatic
@JvmStatic external fun _nSetTypeface(ptr: Long, typefacePtr: Long) @ExternalSymbolName("org_jetbrains_skia_TextStyle__1nAddFontFeature")
@JvmStatic external fun _nGetLocale(ptr: Long): String external fun _nAddFontFeature(ptr: Long, name: String?, value: Int)
@JvmStatic external fun _nSetLocale(ptr: Long, locale: String?) @JvmStatic
@JvmStatic external fun _nGetBaselineMode(ptr: Long): Int @ExternalSymbolName("org_jetbrains_skia_TextStyle__1nClearFontFeatures")
@JvmStatic external fun _nSetBaselineMode(ptr: Long, mode: Int) external fun _nClearFontFeatures(ptr: Long)
@JvmStatic external fun _nGetFontMetrics(ptr: Long): FontMetrics @JvmStatic
@JvmStatic external fun _nIsPlaceholder(ptr: Long): Boolean @ExternalSymbolName("org_jetbrains_skia_TextStyle__1nGetFontSize")
@JvmStatic external fun _nSetPlaceholder(ptr: Long) external fun _nGetFontSize(ptr: Long): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextStyle__1nSetFontSize")
external fun _nSetFontSize(ptr: Long, size: Float)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextStyle__1nGetFontFamilies")
external fun _nGetFontFamilies(ptr: Long): Array<String>
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextStyle__1nSetFontFamilies")
external fun _nSetFontFamilies(ptr: Long, families: Array<String>?)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextStyle__1nGetHeight")
external fun _nGetHeight(ptr: Long): Float?
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextStyle__1nSetHeight")
external fun _nSetHeight(ptr: Long, override: Boolean, height: Float)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextStyle__1nGetLetterSpacing")
external fun _nGetLetterSpacing(ptr: Long): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextStyle__1nSetLetterSpacing")
external fun _nSetLetterSpacing(ptr: Long, letterSpacing: Float)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextStyle__1nGetWordSpacing")
external fun _nGetWordSpacing(ptr: Long): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextStyle__1nSetWordSpacing")
external fun _nSetWordSpacing(ptr: Long, wordSpacing: Float)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextStyle__1nGetTypeface")
external fun _nGetTypeface(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextStyle__1nSetTypeface")
external fun _nSetTypeface(ptr: Long, typefacePtr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextStyle__1nGetLocale")
external fun _nGetLocale(ptr: Long): String
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextStyle__1nSetLocale")
external fun _nSetLocale(ptr: Long, locale: String?)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextStyle__1nGetBaselineMode")
external fun _nGetBaselineMode(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextStyle__1nSetBaselineMode")
external fun _nSetBaselineMode(ptr: Long, mode: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextStyle__1nGetFontMetrics")
external fun _nGetFontMetrics(ptr: Long): FontMetrics
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextStyle__1nIsPlaceholder")
external fun _nIsPlaceholder(ptr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextStyle__1nSetPlaceholder")
external fun _nSetPlaceholder(ptr: Long)
init { init {
staticLoad() staticLoad()
......
...@@ -6,12 +6,17 @@ import org.jetbrains.skia.Typeface ...@@ -6,12 +6,17 @@ import org.jetbrains.skia.Typeface
import org.jetbrains.skia.FontMgr import org.jetbrains.skia.FontMgr
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class TypefaceFontProvider : FontMgr(_nMake()) { class TypefaceFontProvider : FontMgr(_nMake()) {
companion object { companion object {
@JvmStatic external fun _nMake(): Long @JvmStatic
@JvmStatic external fun _nRegisterTypeface(ptr: Long, typefacePtr: Long, alias: String?): Long @ExternalSymbolName("org_jetbrains_skia_TypefaceFontProvider__1nMake")
external fun _nMake(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TypefaceFontProvider__1nRegisterTypeface")
external fun _nRegisterTypeface(ptr: Long, typefacePtr: Long, alias: String?): Long
init { init {
staticLoad() staticLoad()
......
...@@ -6,6 +6,7 @@ import org.jetbrains.skia.* ...@@ -6,6 +6,7 @@ import org.jetbrains.skia.*
import org.jetbrains.skia.impl.Native import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class FontMgrRunIterator(text: ManagedString?, manageText: Boolean, font: Font?, opts: ShapingOptions) : class FontMgrRunIterator(text: ManagedString?, manageText: Boolean, font: Font?, opts: ShapingOptions) :
...@@ -13,8 +14,12 @@ class FontMgrRunIterator(text: ManagedString?, manageText: Boolean, font: Font?, ...@@ -13,8 +14,12 @@ class FontMgrRunIterator(text: ManagedString?, manageText: Boolean, font: Font?,
_nMake(Native.getPtr(text), Native.getPtr(font), opts), text, manageText _nMake(Native.getPtr(text), Native.getPtr(font), opts), text, manageText
) { ) {
companion object { companion object {
@JvmStatic external fun _nMake(textPtr: Long, fontPtr: Long, opts: ShapingOptions?): Long @JvmStatic
@JvmStatic external fun _nGetCurrentFont(ptr: Long): Long @ExternalSymbolName("org_jetbrains_skia_FontMgrRunIterator__1nMake")
external fun _nMake(textPtr: Long, fontPtr: Long, opts: ShapingOptions?): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontMgrRunIterator__1nGetCurrentFont")
external fun _nGetCurrentFont(ptr: Long): Long
init { init {
staticLoad() staticLoad()
......
...@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad ...@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.ManagedString import org.jetbrains.skia.ManagedString
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class HbIcuScriptRunIterator(text: ManagedString?, manageText: Boolean) : ManagedRunIterator<ScriptRun?>( class HbIcuScriptRunIterator(text: ManagedString?, manageText: Boolean) : ManagedRunIterator<ScriptRun?>(
...@@ -13,8 +14,12 @@ class HbIcuScriptRunIterator(text: ManagedString?, manageText: Boolean) : Manage ...@@ -13,8 +14,12 @@ class HbIcuScriptRunIterator(text: ManagedString?, manageText: Boolean) : Manage
), text, manageText ), text, manageText
) { ) {
companion object { companion object {
@JvmStatic external fun _nMake(textPtr: Long): Long @JvmStatic
@JvmStatic external fun _nGetCurrentScriptTag(ptr: Long): Int @ExternalSymbolName("org_jetbrains_skia_HbIcuScriptRunIterator__1nMake")
external fun _nMake(textPtr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_HbIcuScriptRunIterator__1nGetCurrentScriptTag")
external fun _nGetCurrentScriptTag(ptr: Long): Int
init { init {
staticLoad() staticLoad()
......
...@@ -5,14 +5,19 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad ...@@ -5,14 +5,19 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.ManagedString import org.jetbrains.skia.ManagedString
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class IcuBidiRunIterator(text: ManagedString?, manageText: Boolean, bidiLevel: Int) : ManagedRunIterator<BidiRun?>( class IcuBidiRunIterator(text: ManagedString?, manageText: Boolean, bidiLevel: Int) : ManagedRunIterator<BidiRun?>(
_nMake(getPtr(text), bidiLevel), text, manageText _nMake(getPtr(text), bidiLevel), text, manageText
) { ) {
companion object { companion object {
@JvmStatic external fun _nMake(textPtr: Long, bidiLevel: Int): Long @JvmStatic
@JvmStatic external fun _nGetCurrentLevel(ptr: Long): Int @ExternalSymbolName("org_jetbrains_skia_IcuBidiRunIterator__1nMake")
external fun _nMake(textPtr: Long, bidiLevel: Int): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_IcuBidiRunIterator__1nGetCurrentLevel")
external fun _nGetCurrentLevel(ptr: Long): Int
init { init {
staticLoad() staticLoad()
......
...@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad ...@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.ManagedString import org.jetbrains.skia.ManagedString
import org.jetbrains.skia.impl.Managed import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
abstract class ManagedRunIterator<T> internal constructor( abstract class ManagedRunIterator<T> internal constructor(
...@@ -13,10 +14,18 @@ abstract class ManagedRunIterator<T> internal constructor( ...@@ -13,10 +14,18 @@ abstract class ManagedRunIterator<T> internal constructor(
manageText: Boolean manageText: Boolean
) : Managed(ptr, _FinalizerHolder.PTR), MutableIterator<T> { ) : Managed(ptr, _FinalizerHolder.PTR), MutableIterator<T> {
companion object { companion object {
@JvmStatic external fun _nGetFinalizer(): Long @JvmStatic
@JvmStatic external fun _nConsume(ptr: Long) @ExternalSymbolName("org_jetbrains_skia_ManagedRunIterator__1nGetFinalizer")
@JvmStatic external fun _nGetEndOfCurrentRun(ptr: Long, textPtr: Long): Int external fun _nGetFinalizer(): Long
@JvmStatic external fun _nIsAtEnd(ptr: Long): Boolean @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ManagedRunIterator__1nConsume")
external fun _nConsume(ptr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ManagedRunIterator__1nGetEndOfCurrentRun")
external fun _nGetEndOfCurrentRun(ptr: Long, textPtr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ManagedRunIterator__1nIsAtEnd")
external fun _nIsAtEnd(ptr: Long): Boolean
init { init {
staticLoad() staticLoad()
......
...@@ -7,6 +7,7 @@ import org.jetbrains.skia.impl.Managed ...@@ -7,6 +7,7 @@ import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.impl.use import org.jetbrains.skia.impl.use
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
/** /**
...@@ -89,20 +90,28 @@ class Shaper internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR ...@@ -89,20 +90,28 @@ class Shaper internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR
} }
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shaper__1nGetFinalizer")
external fun _nGetFinalizer(): Long external fun _nGetFinalizer(): Long
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shaper__1nMakePrimitive")
external fun _nMakePrimitive(): Long external fun _nMakePrimitive(): Long
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shaper__1nMakeShaperDrivenWrapper")
external fun _nMakeShaperDrivenWrapper(fontMgrPtr: Long): Long external fun _nMakeShaperDrivenWrapper(fontMgrPtr: Long): Long
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shaper__1nMakeShapeThenWrap")
external fun _nMakeShapeThenWrap(fontMgrPtr: Long): Long external fun _nMakeShapeThenWrap(fontMgrPtr: Long): Long
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shaper__1nMakeShapeDontWrapOrReorder")
external fun _nMakeShapeDontWrapOrReorder(fontMgrPtr: Long): Long external fun _nMakeShapeDontWrapOrReorder(fontMgrPtr: Long): Long
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shaper__1nMakeCoreText")
external fun _nMakeCoreText(): Long external fun _nMakeCoreText(): Long
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shaper__1nMake")
external fun _nMake(fontMgrPtr: Long): Long external fun _nMake(fontMgrPtr: Long): Long
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shaper__1nShapeBlob")
external fun _nShapeBlob( external fun _nShapeBlob(
ptr: Long, ptr: Long,
text: String?, text: String?,
...@@ -114,8 +123,10 @@ class Shaper internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR ...@@ -114,8 +123,10 @@ class Shaper internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR
): Long ): Long
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shaper__1nShapeLine")
external fun _nShapeLine(ptr: Long, text: String?, fontPtr: Long, opts: ShapingOptions?): Long external fun _nShapeLine(ptr: Long, text: String?, fontPtr: Long, opts: ShapingOptions?): Long
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shaper__1nShape")
external fun _nShape( external fun _nShape(
ptr: Long, ptr: Long,
textPtr: Long, textPtr: Long,
......
...@@ -6,6 +6,7 @@ import org.jetbrains.skia.* ...@@ -6,6 +6,7 @@ import org.jetbrains.skia.*
import org.jetbrains.skia.impl.Managed import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class TextBlobBuilderRunHandler<T> internal constructor( class TextBlobBuilderRunHandler<T> internal constructor(
...@@ -17,9 +18,15 @@ class TextBlobBuilderRunHandler<T> internal constructor( ...@@ -17,9 +18,15 @@ class TextBlobBuilderRunHandler<T> internal constructor(
_nMake(getPtr(text), offsetX, offsetY), _FinalizerHolder.PTR _nMake(getPtr(text), offsetX, offsetY), _FinalizerHolder.PTR
), RunHandler { ), RunHandler {
companion object { companion object {
@JvmStatic external fun _nGetFinalizer(): Long @JvmStatic
@JvmStatic external fun _nMake(textPtr: Long, offsetX: Float, offsetY: Float): Long @ExternalSymbolName("org_jetbrains_skia_TextBlobBuilderRunHandler__1nGetFinalizer")
@JvmStatic external fun _nMakeBlob(ptr: Long): Long external fun _nGetFinalizer(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlobBuilderRunHandler__1nMake")
external fun _nMake(textPtr: Long, offsetX: Float, offsetY: Float): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlobBuilderRunHandler__1nMakeBlob")
external fun _nMakeBlob(ptr: Long): Long
init { init {
staticLoad() staticLoad()
......
...@@ -714,20 +714,6 @@ namespace skija { ...@@ -714,20 +714,6 @@ namespace skija {
} }
} }
namespace SamplingMode {
SkSamplingOptions unpack(jlong val) {
if (0x8000000000000000 & val) {
val = val & 0x7FFFFFFFFFFFFFFF;
float* ptr = reinterpret_cast<float*>(&val);
return SkSamplingOptions(SkCubicResampler {ptr[1], ptr[0]});
} else {
int32_t filter = (int32_t) ((val >> 32) & 0xFFFFFFFF);
int32_t mipmap = (int32_t) (val & 0xFFFFFFFF);
return SkSamplingOptions(static_cast<SkFilterMode>(filter), static_cast<SkMipmapMode>(mipmap));
}
}
}
namespace SurfaceProps { namespace SurfaceProps {
jmethodID _getFlags; jmethodID _getFlags;
jmethodID _getPixelGeometryOrdinal; jmethodID _getPixelGeometryOrdinal;
...@@ -972,18 +958,6 @@ jobject javaFloat(JNIEnv* env, SkScalar val) { ...@@ -972,18 +958,6 @@ jobject javaFloat(JNIEnv* env, SkScalar val) {
return env->NewObject(java::lang::Float::cls, java::lang::Float::ctor, val); return env->NewObject(java::lang::Float::cls, java::lang::Float::ctor, val);
} }
jlong packTwoInts(int32_t a, int32_t b) {
return (uint64_t (a) << 32) | b;
}
jlong packIPoint(SkIPoint p) {
return packTwoInts(p.fX, p.fY);
}
jlong packISize(SkISize p) {
return packTwoInts(p.fWidth, p.fHeight);
}
jbyteArray javaByteArray(JNIEnv* env, const std::vector<jbyte>& bytes) { jbyteArray javaByteArray(JNIEnv* env, const std::vector<jbyte>& bytes) {
jbyteArray res = env->NewByteArray((jsize) bytes.size()); jbyteArray res = env->NewByteArray((jsize) bytes.size());
env->SetByteArrayRegion(res, 0, (jsize) bytes.size(), bytes.data()); env->SetByteArrayRegion(res, 0, (jsize) bytes.size(), bytes.data());
...@@ -1042,45 +1016,3 @@ void deleteJBytes(void* addr, void*) { ...@@ -1042,45 +1016,3 @@ void deleteJBytes(void* addr, void*) {
delete[] (jbyte*) addr; delete[] (jbyte*) addr;
} }
skija::UtfIndicesConverter::UtfIndicesConverter(const char* chars8, size_t len8):
fStart8(chars8),
fPtr8(chars8),
fEnd8(chars8 + len8),
fPos16(0)
{}
skija::UtfIndicesConverter::UtfIndicesConverter(const SkString& str):
skija::UtfIndicesConverter::UtfIndicesConverter(str.c_str(), str.size())
{}
size_t skija::UtfIndicesConverter::from16To8(uint32_t i16) {
if (i16 >= fPos16) {
// if new i16 >= last fPos16, continue from where we started
} else {
fPtr8 = fStart8;
fPos16 = 0;
}
while (fPtr8 < fEnd8 && fPos16 < i16) {
SkUnichar u = SkUTF::NextUTF8(&fPtr8, fEnd8);
fPos16 += (uint32_t) SkUTF::ToUTF16(u);
}
return fPtr8 - fStart8;
}
uint32_t skija::UtfIndicesConverter::from8To16(size_t i8) {
if (i8 >= (size_t) (fPtr8 - fStart8)) {
// if new i8 >= last fPtr8, continue from where we started
} else {
fPtr8 = fStart8;
fPos16 = 0;
}
while (fPtr8 < fEnd8 && (size_t) (fPtr8 - fStart8) < i8) {
SkUnichar u = SkUTF::NextUTF8(&fPtr8, fEnd8);
fPos16 += (uint32_t) SkUTF::ToUTF16(u);
}
return fPos16;
}
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#include "SkShaper.h" #include "SkShaper.h"
#include "SkString.h" #include "SkString.h"
#include "SkSurfaceProps.h" #include "SkSurfaceProps.h"
#include "common.h"
namespace java { namespace java {
namespace io { namespace io {
...@@ -288,10 +289,6 @@ namespace skija { ...@@ -288,10 +289,6 @@ namespace skija {
void onUnload(JNIEnv* env); void onUnload(JNIEnv* env);
} }
namespace SamplingMode {
SkSamplingOptions unpack(jlong val);
}
namespace SurfaceProps { namespace SurfaceProps {
extern jmethodID _getFlags; extern jmethodID _getFlags;
extern jmethodID _getPixelGeometryOrdinal; extern jmethodID _getPixelGeometryOrdinal;
...@@ -310,20 +307,6 @@ namespace skija { ...@@ -310,20 +307,6 @@ namespace skija {
void onLoad(JNIEnv* env); void onLoad(JNIEnv* env);
void onUnload(JNIEnv* env); void onUnload(JNIEnv* env);
class UtfIndicesConverter {
public:
UtfIndicesConverter(const char* chars8, size_t len8);
UtfIndicesConverter(const SkString& s);
const char* fStart8;
const char* fPtr8;
const char* fEnd8;
uint32_t fPos16;
size_t from16To8(uint32_t i16);
uint32_t from8To16(size_t i8);
};
} }
std::unique_ptr<SkMatrix> skMatrix(JNIEnv* env, jfloatArray arr); std::unique_ptr<SkMatrix> skMatrix(JNIEnv* env, jfloatArray arr);
...@@ -350,12 +333,3 @@ jobjectArray javaStringArray(JNIEnv* env, const std::vector<SkString>& strings); ...@@ -350,12 +333,3 @@ jobjectArray javaStringArray(JNIEnv* env, const std::vector<SkString>& strings);
void deleteJBytes(void* addr, void*); void deleteJBytes(void* addr, void*);
template <typename T>
inline T jlongToPtr(jlong ptr) {
return reinterpret_cast<T>(static_cast<uintptr_t>(ptr));
}
template <typename T>
jlong ptrToJlong(T* ptr) {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(ptr));
}
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
#include "SkShaper.h" #include "SkShaper.h"
#include "unicode/ubrk.h" #include "unicode/ubrk.h"
#include "unicode/utext.h" #include "unicode/utext.h"
#include "common.h"
namespace skija { namespace skija {
namespace shaper { namespace shaper {
......
#include <iostream> #include <iostream>
#include <stdint.h> #include <stdint.h>
#include "GrBackendSurface.h" #include "GrBackendSurface.h"
#include "common.h"
typedef jint int32_t;
typedef jlong int64_t;
static void deleteBackendRenderTarget(GrBackendRenderTarget* rt) { static void deleteBackendRenderTarget(GrBackendRenderTarget* rt) {
delete rt; delete rt;
......
// This file has been auto generated.
#include "SkBitmap.h"
#include "SkPixelRef.h"
#include "SkSamplingOptions.h"
#include "SkShader.h"
#include "common.h"
static void deleteBitmap(SkBitmap* instance) {
// std::cout << "Deleting [SkBitmap " << instance << "]" << std::endl;
delete instance;
}
extern "C" jlong org_jetbrains_skia_Bitmap__1nGetFinalizer(kref __Kinstance) {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(&deleteBitmap));
}
extern "C" jlong org_jetbrains_skia_Bitmap__1nMake
(kref __Kinstance) {
return reinterpret_cast<jlong>(new SkBitmap());
}
extern "C" jlong org_jetbrains_skia_Bitmap__1nMakeClone
(kref __Kinstance, jlong ptr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr));
return reinterpret_cast<jlong>(new SkBitmap(*instance));
}
extern "C" void org_jetbrains_skia_Bitmap__1nSwap
(kref __Kinstance, jlong ptr, jlong otherPtr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr));
SkBitmap* other = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(otherPtr));
instance->swap(*other);
}
extern "C" jobject org_jetbrains_skia_Bitmap__1nGetImageInfo
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Bitmap__1nGetImageInfo");
}
#if 0
extern "C" jobject org_jetbrains_skia_Bitmap__1nGetImageInfo
(kref __Kinstance, jlong ptr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr));
return skija::ImageInfo::toJava(env, instance->info());
}
#endif
extern "C" jint org_jetbrains_skia_Bitmap__1nGetRowBytesAsPixels
(kref __Kinstance, jlong ptr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr));
return instance->rowBytesAsPixels();
}
extern "C" jboolean org_jetbrains_skia_Bitmap__1nIsNull
(kref __Kinstance, jlong ptr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr));
return instance->isNull();
}
extern "C" jlong org_jetbrains_skia_Bitmap__1nGetRowBytes
(kref __Kinstance, jlong ptr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr));
return instance->rowBytes();
}
extern "C" jboolean org_jetbrains_skia_Bitmap__1nSetAlphaType
(kref __Kinstance, jlong ptr, jint alphaType) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr));
return instance->setAlphaType(static_cast<SkAlphaType>(alphaType));
}
extern "C" jlong org_jetbrains_skia_Bitmap__1nComputeByteSize
(kref __Kinstance, jlong ptr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr));
return instance->computeByteSize();
}
extern "C" jboolean org_jetbrains_skia_Bitmap__1nIsImmutable
(kref __Kinstance, jlong ptr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr));
return instance->isImmutable();
}
extern "C" void org_jetbrains_skia_Bitmap__1nSetImmutable
(kref __Kinstance, jlong ptr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr));
instance->setImmutable();
}
extern "C" void org_jetbrains_skia_Bitmap__1nReset
(kref __Kinstance, jlong ptr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr));
instance->reset();
}
extern "C" jboolean org_jetbrains_skia_Bitmap__1nComputeIsOpaque
(kref __Kinstance, jlong ptr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr));
return SkBitmap::ComputeIsOpaque(*instance);
}
extern "C" jboolean org_jetbrains_skia_Bitmap__1nSetImageInfo
(kref __Kinstance, jlong ptr, jint width, jint height, jint colorType, jint alphaType, jlong colorSpacePtr, jlong rowBytes) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr));
SkColorSpace* colorSpace = reinterpret_cast<SkColorSpace*>(static_cast<uintptr_t>(colorSpacePtr));
SkImageInfo imageInfo = SkImageInfo::Make(width,
height,
static_cast<SkColorType>(colorType),
static_cast<SkAlphaType>(alphaType),
sk_ref_sp<SkColorSpace>(colorSpace));
return instance->setInfo(imageInfo, rowBytes);
}
extern "C" jboolean org_jetbrains_skia_Bitmap__1nAllocPixelsFlags
(kref __Kinstance, jlong ptr, jint width, jint height, jint colorType, jint alphaType, jlong colorSpacePtr, jint flags) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr));
SkColorSpace* colorSpace = reinterpret_cast<SkColorSpace*>(static_cast<uintptr_t>(colorSpacePtr));
SkImageInfo imageInfo = SkImageInfo::Make(width,
height,
static_cast<SkColorType>(colorType),
static_cast<SkAlphaType>(alphaType),
sk_ref_sp<SkColorSpace>(colorSpace));
return instance->tryAllocPixelsFlags(imageInfo, flags);
}
extern "C" jboolean org_jetbrains_skia_Bitmap__1nAllocPixelsRowBytes
(kref __Kinstance, jlong ptr, jint width, jint height, jint colorType, jint alphaType, jlong colorSpacePtr, jlong rowBytes) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr));
SkColorSpace* colorSpace = reinterpret_cast<SkColorSpace*>(static_cast<uintptr_t>(colorSpacePtr));
SkImageInfo imageInfo = SkImageInfo::Make(width,
height,
static_cast<SkColorType>(colorType),
static_cast<SkAlphaType>(alphaType),
sk_ref_sp<SkColorSpace>(colorSpace));
return instance->tryAllocPixels(imageInfo, rowBytes);
}
extern "C" jboolean org_jetbrains_skia_Bitmap__1nInstallPixels
(kref __Kinstance, jlong ptr, jint width, jint height, jint colorType, jint alphaType, jlong colorSpacePtr, jbyteArray pixelsArr, jlong rowBytes) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Bitmap__1nInstallPixels");
}
#if 0
extern "C" jboolean org_jetbrains_skia_Bitmap__1nInstallPixels
(kref __Kinstance, jlong ptr, jint width, jint height, jint colorType, jint alphaType, jlong colorSpacePtr, jbyteArray pixelsArr, jlong rowBytes) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr));
SkColorSpace* colorSpace = reinterpret_cast<SkColorSpace*>(static_cast<uintptr_t>(colorSpacePtr));
SkImageInfo imageInfo = SkImageInfo::Make(width,
height,
static_cast<SkColorType>(colorType),
static_cast<SkAlphaType>(alphaType),
sk_ref_sp<SkColorSpace>(colorSpace));
jsize len = env->GetArrayLength(pixelsArr);
jbyte* pixels = new jbyte[len];
env->GetByteArrayRegion(pixelsArr, 0, len, pixels);
return instance->installPixels(imageInfo, pixels, rowBytes, deleteJBytes, nullptr);
}
#endif
extern "C" jboolean org_jetbrains_skia_Bitmap__1nAllocPixels
(kref __Kinstance, jlong ptr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr));
return instance->tryAllocPixels();
}
extern "C" jlong org_jetbrains_skia_Bitmap__1nGetPixelRef
(kref __Kinstance, jlong ptr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr));
SkPixelRef* pixelRef = instance->pixelRef();
pixelRef->ref();
return reinterpret_cast<jlong>(pixelRef);
}
extern "C" jlong org_jetbrains_skia_Bitmap__1nGetPixelRefOrigin
(kref __Kinstance, jlong ptr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr));
SkIPoint origin = instance->pixelRefOrigin();
return packIPoint(origin);
}
extern "C" void org_jetbrains_skia_Bitmap__1nSetPixelRef
(kref __Kinstance, jlong ptr, jlong pixelRefPtr, jint dx, jint dy) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr));
SkPixelRef* pixelRef = reinterpret_cast<SkPixelRef*>(static_cast<uintptr_t>(pixelRefPtr));
instance->setPixelRef(sk_ref_sp<SkPixelRef>(pixelRef), dx, dy);
}
extern "C" jboolean org_jetbrains_skia_Bitmap__1nIsReadyToDraw
(kref __Kinstance, jlong ptr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr));
return instance->readyToDraw();
}
extern "C" jint org_jetbrains_skia_Bitmap__1nGetGenerationId
(kref __Kinstance, jlong ptr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr));
return instance->getGenerationID();
}
extern "C" void org_jetbrains_skia_Bitmap__1nNotifyPixelsChanged
(kref __Kinstance, jlong ptr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr));
instance->notifyPixelsChanged();
}
extern "C" void org_jetbrains_skia_Bitmap__1nEraseColor
(kref __Kinstance, jlong ptr, jint color) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr));
instance->eraseColor(color);
}
extern "C" void org_jetbrains_skia_Bitmap__1nErase
(kref __Kinstance, jlong ptr, jint color, jint left, jint top, jint right, jint bottom) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr));
instance->erase(color, {left, top, right, bottom});
}
extern "C" jint org_jetbrains_skia_Bitmap__1nGetColor
(kref __Kinstance, jlong ptr, jint x, jint y) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr));
return instance->getColor(x, y);
}
extern "C" jfloat org_jetbrains_skia_Bitmap__1nGetAlphaf
(kref __Kinstance, jlong ptr, jint x, jint y) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr));
return instance->getAlphaf(x, y);
}
extern "C" jboolean org_jetbrains_skia_Bitmap__1nExtractSubset
(kref __Kinstance, jlong ptr, jlong dstPtr, jint left, jint top, jint right, jint bottom) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr));
SkBitmap* dst = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(dstPtr));
return instance->extractSubset(dst, {left, top, right, bottom});
}
extern "C" jbyteArray org_jetbrains_skia_Bitmap__1nReadPixels
(kref __Kinstance, jlong ptr, jint width, jint height, jint colorType, jint alphaType, jlong colorSpacePtr, jlong rowBytes, jint srcX, jint srcY) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Bitmap__1nReadPixels");
}
#if 0
extern "C" jbyteArray org_jetbrains_skia_Bitmap__1nReadPixels
(kref __Kinstance, jlong ptr, jint width, jint height, jint colorType, jint alphaType, jlong colorSpacePtr, jlong rowBytes, jint srcX, jint srcY) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr));
SkColorSpace* colorSpace = reinterpret_cast<SkColorSpace*>(static_cast<uintptr_t>(colorSpacePtr));
SkImageInfo imageInfo = SkImageInfo::Make(width,
height,
static_cast<SkColorType>(colorType),
static_cast<SkAlphaType>(alphaType),
sk_ref_sp<SkColorSpace>(colorSpace));
std::vector<jbyte> pixels(std::min(height, instance->height() - srcY) * rowBytes);
if (instance->readPixels(imageInfo, pixels.data(), rowBytes, srcX, srcY))
return javaByteArray(env, pixels);
else
return nullptr;
}
#endif
extern "C" jobject org_jetbrains_skia_Bitmap__1nExtractAlpha
(kref __Kinstance, jlong ptr, jlong dstPtr, jlong paintPtr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Bitmap__1nExtractAlpha");
}
#if 0
extern "C" jobject org_jetbrains_skia_Bitmap__1nExtractAlpha
(kref __Kinstance, jlong ptr, jlong dstPtr, jlong paintPtr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr));
SkBitmap* dst = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(dstPtr));
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr));
SkIPoint offset;
if (instance->extractAlpha(dst, paint, &offset))
return skija::IPoint::fromSkIPoint(env, offset);
else
return nullptr;
}
#endif
extern "C" jobject org_jetbrains_skia_Bitmap__1nPeekPixels
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Bitmap__1nPeekPixels");
}
#if 0
extern "C" jobject org_jetbrains_skia_Bitmap__1nPeekPixels
(kref __Kinstance, jlong ptr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr));
SkPixmap pixmap;
if (instance->peekPixels(&pixmap))
return env->NewDirectByteBuffer(pixmap.writable_addr(), pixmap.rowBytes() * pixmap.height());
else
return nullptr;
}
#endif
extern "C" jlong org_jetbrains_skia_Bitmap__1nMakeShader
(kref __Kinstance, jlong ptr, jint tmx, jint tmy, jlong samplingMode, jfloatArray localMatrixArr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Bitmap__1nMakeShader");
}
#if 0
extern "C" jlong org_jetbrains_skia_Bitmap__1nMakeShader
(kref __Kinstance, jlong ptr, jint tmx, jint tmy, jlong samplingMode, jfloatArray localMatrixArr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr));
std::unique_ptr<SkMatrix> localMatrix = skMatrix(env, localMatrixArr);
sk_sp<SkShader> shader = instance->makeShader(static_cast<SkTileMode>(tmx), static_cast<SkTileMode>(tmy), skija::SamplingMode::unpack(samplingMode), localMatrix.get());
return reinterpret_cast<jlong>(shader.release());
}
#endif
This diff is collapsed.
This diff is collapsed.
// This file has been auto generated.
#include <iostream>
#include "SkBitmap.h"
#include "SkCodec.h"
#include "SkData.h"
#include "common.h"
static void deleteCodec(SkCodec* instance) {
delete instance;
}
extern "C" jlong org_jetbrains_skia_Codec__1nGetFinalizer(kref __Kinstance) {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(&deleteCodec));
}
extern "C" jlong org_jetbrains_skia_Codec__1nMakeFromData
(kref __Kinstance, jlong dataPtr) {
SkData* data = reinterpret_cast<SkData*>(static_cast<uintptr_t>(dataPtr));
std::unique_ptr<SkCodec> instance = SkCodec::MakeFromData(sk_ref_sp(data));
return reinterpret_cast<jlong>(instance.release());
}
extern "C" jobject org_jetbrains_skia_Codec__1nGetImageInfo
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Codec__1nGetImageInfo");
}
#if 0
extern "C" jobject org_jetbrains_skia_Codec__1nGetImageInfo
(kref __Kinstance, jlong ptr) {
SkCodec* instance = reinterpret_cast<SkCodec*>(static_cast<uintptr_t>(ptr));
return skija::ImageInfo::toJava(env, instance->getInfo());
}
#endif
extern "C" jlong org_jetbrains_skia_Codec__1nGetSize
(kref __Kinstance, jlong ptr) {
SkCodec* instance = reinterpret_cast<SkCodec*>(static_cast<uintptr_t>(ptr));
return packISize(instance->dimensions());
}
extern "C" jlong org_jetbrains_skia_Codec__1nGetEncodedOrigin
(kref __Kinstance, jlong ptr) {
SkCodec* instance = reinterpret_cast<SkCodec*>(static_cast<uintptr_t>(ptr));
return static_cast<jint>(instance->getOrigin());
}
extern "C" jlong org_jetbrains_skia_Codec__1nGetEncodedImageFormat
(kref __Kinstance, jlong ptr) {
SkCodec* instance = reinterpret_cast<SkCodec*>(static_cast<uintptr_t>(ptr));
return static_cast<jint>(instance->getEncodedFormat());
}
extern "C" jint org_jetbrains_skia_Codec__1nReadPixels
(kref __Kinstance, jlong ptr, jlong bitmapPtr, jint frame, jint priorFrame) {
SkCodec* instance = reinterpret_cast<SkCodec*>(static_cast<uintptr_t>(ptr));
SkBitmap* bitmap = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(bitmapPtr));
SkCodec::Options opts;
opts.fFrameIndex = frame;
opts.fPriorFrame = priorFrame;
SkCodec::Result result = instance->getPixels(bitmap->info(), bitmap->getPixels(), bitmap->rowBytes(), &opts);
return static_cast<jint>(result);
}
extern "C" jint org_jetbrains_skia_Codec__1nGetFrameCount
(kref __Kinstance, jlong ptr) {
SkCodec* instance = reinterpret_cast<SkCodec*>(static_cast<uintptr_t>(ptr));
return instance->getFrameCount();
}
extern "C" jobject org_jetbrains_skia_Codec__1nGetFrameInfo
(kref __Kinstance, jlong ptr, jint frame) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Codec__1nGetFrameInfo");
}
#if 0
extern "C" jobject org_jetbrains_skia_Codec__1nGetFrameInfo
(kref __Kinstance, jlong ptr, jint frame) {
SkCodec* instance = reinterpret_cast<SkCodec*>(static_cast<uintptr_t>(ptr));
SkCodec::FrameInfo info;
instance->getFrameInfo(frame, &info);
return skija::AnimationFrameInfo::toJava(env, info);
}
#endif
extern "C" jobject org_jetbrains_skia_Codec__1nGetFramesInfo
(kref __Kinstance, jlong ptr, jint frame) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Codec__1nGetFramesInfo");
}
#if 0
extern "C" jobject org_jetbrains_skia_Codec__1nGetFramesInfo
(kref __Kinstance, jlong ptr, jint frame) {
SkCodec* instance = reinterpret_cast<SkCodec*>(static_cast<uintptr_t>(ptr));
SkCodec::FrameInfo info;
std::vector<SkCodec::FrameInfo> frames = instance->getFrameInfo();
jobjectArray res = env->NewObjectArray(frames.size(), skija::AnimationFrameInfo::cls, nullptr);
if (java::lang::Throwable::exceptionThrown(env))
return nullptr;
for (int i = 0; i < frames.size(); ++i) {
skija::AutoLocal<jobject> infoObj(env, skija::AnimationFrameInfo::toJava(env, frames[i]));
env->SetObjectArrayElement(res, i, infoObj.get());
}
return res;
}
#endif
extern "C" jint org_jetbrains_skia_Codec__1nGetRepetitionCount
(kref __Kinstance, jlong ptr) {
SkCodec* instance = reinterpret_cast<SkCodec*>(static_cast<uintptr_t>(ptr));
return instance->getRepetitionCount();
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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