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 {
binaries {
executable {
entryPoint = "org.jetbrains.skiko.sample.native.main"
freeCompilerArgs += listOf("-linker-options", "-framework", "-linker-option", "Metal")
}
}
}
......@@ -65,8 +66,6 @@ kotlin {
dependsOn(nativeMain)
dependencies {
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
import platform.AppKit.*
import org.jetbrains.skiko.skia.native.*
import org.jetbrains.skia.*
import org.jetbrains.skiko.native.SkiaLayer
import org.jetbrains.skiko.native.SkiaRenderer
import org.jetbrains.skiko.native.SkiaWindow
......@@ -40,7 +40,8 @@ class Renderer(
override fun onRender(canvas: Canvas, width: Int, height: Int, nanoTime: Long) {
this.canvas = canvas
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)
layer.needRedraw()
}
......@@ -50,14 +51,17 @@ fun displayScene(renderer: Renderer, nanoTime: Long) {
val canvas = renderer.canvas!!
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.translate(128.0f, 128.0f)
canvas.rotate(nanoTime.toFloat() / 1e7f)
val rect = SkRect.MakeXYWH(-90.5f, -90.5f, 181.0f, 181.0f)
// TODO: disabled to ramp up the new native skiko.
//canvas.translate(128.0f, 128.0f)
//canvas.rotate(nanoTime.toFloat() / 1e7f)
val rect = Rect.makeXYWH(-90.5f, -90.5f, 181.0f, 181.0f)
canvas.drawRect(rect, paint)
canvas.restore();
}
......
import de.undercouch.gradle.tasks.download.Download
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.KotlinNativeCompile
......@@ -127,22 +126,26 @@ kotlin {
}
if (supportNative) {
val nativeTarget = when (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
compilerOpts("-I$skiaDir")
extraOpts("-staticLibrary", "libskia.a")
extraOpts("-staticLibrary", "libskshaper.a")
extraOpts("-staticLibrary", "libskparagraph.a")
extraOpts("-libraryPath", "$skiaDir/$skiaBinSubdir")
val targetString = target
val skiaDir = skiaDir.get().absolutePath
val nativeTarget = when (targetString) {
"macos-x64", "macos-arm64" -> macosX64() {
compilations.all {
kotlinOptions {
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
}
}
......@@ -186,27 +189,13 @@ kotlin {
}
}
tasks.withType(CInteropProcess::class.java).forEach {
it.dependsOn(skiaDir)
}
tasks.withType(JavaCompile::class.java).configureEach {
this.getOptions().compilerArgs.addAll(listOf("-source", "11", "-target", "11"))
}
// 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 skiaPreprocessorFlags: Array<String> get() {
val skiaDir = skiaDir.get().absolutePath
compilerArgs.addAll(listOf(
"-I$jdkHome/include",
return listOf(
"-I$skiaDir",
"-I$skiaDir/include",
"-I$skiaDir/include/core",
......@@ -238,8 +227,26 @@ tasks.withType(CppCompile::class.java).configureEach {
"-DU_DISABLE_RENAMING",
"-DSK_USING_THIRD_PARTY_ICU",
*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 commonIncludeDir = "$projectDir/src/commonMain/cpp/headers"
when (targetOs) {
OS.MacOS -> {
compilerArgs.addAll(
......@@ -248,6 +255,7 @@ tasks.withType(CppCompile::class.java).configureEach {
"-fvisibility-inlines-hidden",
"-I$jdkHome/include/darwin",
"-I$includeDir",
"-I$commonIncludeDir",
"-DSK_SHAPER_CORETEXT_AVAILABLE",
"-DSK_BUILD_FOR_MAC",
"-DSK_METAL",
......@@ -265,6 +273,7 @@ tasks.withType(CppCompile::class.java).configureEach {
"-fvisibility-inlines-hidden",
"-I$jdkHome/include/linux",
"-I$includeDir",
"-I$commonIncludeDir",
"-DSK_BUILD_FOR_LINUX",
"-D_GLIBCXX_USE_CXX11_ABI=0",
*buildType.clangFlags
......@@ -276,6 +285,7 @@ tasks.withType(CppCompile::class.java).configureEach {
listOf(
"-I$jdkHome/include/win32",
"-I$includeDir",
"-I$commonIncludeDir",
"-DSK_BUILD_FOR_WIN",
"-D_CRT_SECURE_NO_WARNINGS",
"-D_HAS_EXCEPTIONS=0",
......@@ -310,7 +320,7 @@ project.tasks.register<Exec>("objcCompile") {
commandLine = listOf(
"clang",
*targetArch.clangFlags,
"-mmacosx-version-min=10.13",
*targetOs.clangFlags,
"-I$jdkHome/include",
"-I$jdkHome/include/darwin",
"-I$skiaDir",
......@@ -354,6 +364,75 @@ project.tasks.register<Exec>("wasmCompile") {
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 {
println("Local signing $lib as $signer")
val proc = ProcessBuilder("codesign", "-f", "-s", signer, lib.absolutePath)
......@@ -480,6 +559,7 @@ tasks.withType(LinkSharedLibrary::class.java).configureEach {
extensions.configure<CppLibrary> {
source.from(
fileTree("$projectDir/src/commonMain/cpp/common"),
fileTree("$projectDir/src/jvmMain/cpp/common"),
fileTree("$projectDir/src/jvmMain/cpp/${targetOs.id}")
)
......@@ -722,12 +802,6 @@ publishing {
}
}
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") {
artifactId = SkikoArtifacts.nativeRuntimeArtifactIdFor(targetOs, targetArch)
afterEvaluate {
......@@ -741,8 +815,13 @@ publishing {
}
}
tasks.withType<KotlinCompile>().configureEach {
if (name == "compileTestKotlinJvm") {
kotlinOptions.freeCompilerArgs += "-Xopt-in=kotlin.RequiresOptIn"
afterEvaluate {
tasks.withType<KotlinCompile>().configureEach {
if (name == "compileTestKotlinJvm") {
kotlinOptions.freeCompilerArgs += "-Xopt-in=kotlin.RequiresOptIn"
}
if (supportNative) {
dependsOn(tasks.getByName("nativeBridgesLink"))
}
}
}
import org.gradle.api.Project
import java.io.File
enum class OS(val id: String) {
Linux("linux"),
Windows("windows"),
MacOS("macos"),
Wasm("wasm")
enum class OS(val id: String, val clangFlags: Array<String>) {
Linux("linux", arrayOf()),
Windows("windows", arrayOf()),
MacOS("macos", arrayOf("-mmacosx-version-min=10.13")),
Wasm("wasm", arrayOf())
;
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
import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
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
}
}
@JvmStatic external fun _nGetFinalizer(): Long
@JvmStatic external fun _nMake(): Long
@JvmStatic external fun _nMakeClone(ptr: Long): Long
@JvmStatic external fun _nSwap(ptr: Long, otherPtr: Long)
@JvmStatic external fun _nGetPixmap(ptr: Long): Long
@JvmStatic external fun _nGetImageInfo(ptr: Long): ImageInfo?
@JvmStatic external fun _nGetRowBytesAsPixels(ptr: Long): Int
@JvmStatic external fun _nIsNull(ptr: Long): Boolean
@JvmStatic external fun _nGetRowBytes(ptr: Long): Long
@JvmStatic external fun _nSetAlphaType(ptr: Long, alphaType: Int): Boolean
@JvmStatic external fun _nComputeByteSize(ptr: Long): Long
@JvmStatic external fun _nIsImmutable(ptr: Long): Boolean
@JvmStatic external fun _nSetImmutable(ptr: Long)
@JvmStatic external fun _nIsVolatile(ptr: Long): Boolean
@JvmStatic external fun _nSetVolatile(ptr: Long, value: Boolean)
@JvmStatic external fun _nReset(ptr: Long)
@JvmStatic external fun _nComputeIsOpaque(ptr: Long): Boolean
@JvmStatic external fun _nSetImageInfo(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetFinalizer")
external fun _nGetFinalizer(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nMake")
external fun _nMake(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nMakeClone")
external fun _nMakeClone(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nSwap")
external fun _nSwap(ptr: Long, otherPtr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetPixmap")
external fun _nGetPixmap(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetImageInfo")
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,
width: Int,
height: Int,
......@@ -45,7 +82,9 @@ class Bitmap internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR
rowBytes: Long
): Boolean
@JvmStatic external fun _nAllocPixelsFlags(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nAllocPixelsFlags")
external fun _nAllocPixelsFlags(
ptr: Long,
width: Int,
height: Int,
......@@ -55,7 +94,9 @@ class Bitmap internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR
flags: Int
): Boolean
@JvmStatic external fun _nAllocPixelsRowBytes(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nAllocPixelsRowBytes")
external fun _nAllocPixelsRowBytes(
ptr: Long,
width: Int,
height: Int,
......@@ -65,7 +106,9 @@ class Bitmap internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR
rowBytes: Long
): Boolean
@JvmStatic external fun _nInstallPixels(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nInstallPixels")
external fun _nInstallPixels(
ptr: Long,
width: Int,
height: Int,
......@@ -76,19 +119,45 @@ class Bitmap internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR
rowBytes: Long
): Boolean
@JvmStatic external fun _nAllocPixels(ptr: Long): Boolean
@JvmStatic external fun _nGetPixelRef(ptr: Long): Long
@JvmStatic external fun _nGetPixelRefOrigin(ptr: Long): Long
@JvmStatic external fun _nSetPixelRef(ptr: Long, pixelRefPtr: Long, dx: Int, dy: Int)
@JvmStatic external fun _nIsReadyToDraw(ptr: Long): Boolean
@JvmStatic external fun _nGetGenerationId(ptr: Long): Int
@JvmStatic external fun _nNotifyPixelsChanged(ptr: Long)
@JvmStatic external fun _nEraseColor(ptr: Long, color: Int)
@JvmStatic external fun _nErase(ptr: Long, color: Int, left: Int, top: Int, right: Int, bottom: Int)
@JvmStatic external fun _nGetColor(ptr: Long, x: Int, y: Int): Int
@JvmStatic external fun _nGetAlphaf(ptr: Long, x: Int, y: Int): Float
@JvmStatic external fun _nExtractSubset(ptr: Long, dstPtr: Long, left: Int, top: Int, right: Int, bottom: Int): Boolean
@JvmStatic external fun _nReadPixels(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nAllocPixels")
external fun _nAllocPixels(ptr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetPixelRef")
external fun _nGetPixelRef(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetPixelRefOrigin")
external fun _nGetPixelRefOrigin(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nSetPixelRef")
external fun _nSetPixelRef(ptr: Long, pixelRefPtr: Long, dx: Int, dy: Int)
@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,
width: Int,
height: Int,
......@@ -100,9 +169,15 @@ class Bitmap internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR
srcY: Int
): ByteArray?
@JvmStatic external fun _nExtractAlpha(ptr: Long, dstPtr: Long, paintPtr: Long): IPoint?
@JvmStatic external fun _nPeekPixels(ptr: Long): ByteBuffer?
@JvmStatic external fun _nMakeShader(ptr: Long, tmx: Int, tmy: Int, samplingMode: Long, localMatrix: FloatArray?): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nExtractAlpha")
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 {
staticLoad()
......
......@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
/**
......@@ -291,20 +292,48 @@ class BreakIterator internal constructor(ptr: Long) : Managed(ptr, _FinalizerHol
return BreakIterator(_nMake(3, locale)) // UBRK_SENTENCE
}
@JvmStatic external fun _nGetFinalizer(): Long
@JvmStatic external fun _nMake(type: Int, locale: String?): Long
@JvmStatic external fun _nClone(ptr: Long): Long
@JvmStatic external fun _nCurrent(ptr: Long): Int
@JvmStatic external fun _nNext(ptr: Long): Int
@JvmStatic external fun _nPrevious(ptr: Long): Int
@JvmStatic external fun _nFirst(ptr: Long): Int
@JvmStatic external fun _nLast(ptr: Long): Int
@JvmStatic external fun _nPreceding(ptr: Long, offset: Int): Int
@JvmStatic external fun _nFollowing(ptr: Long, offset: Int): Int
@JvmStatic external fun _nIsBoundary(ptr: Long, offset: Int): Boolean
@JvmStatic external fun _nGetRuleStatus(ptr: Long): Int
@JvmStatic external fun _nGetRuleStatuses(ptr: Long): IntArray
@JvmStatic external fun _nSetText(ptr: Long, textPtr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nGetFinalizer")
external fun _nGetFinalizer(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nMake")
external fun _nMake(type: Int, locale: String?): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nClone")
external fun _nClone(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nCurrent")
external fun _nCurrent(ptr: Long): Int
@JvmStatic
@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 {
staticLoad()
......
......@@ -7,22 +7,29 @@ import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.impl.use
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val _owner: Any) :
Managed(ptr, _FinalizerHolder.PTR, managed) {
companion object {
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nGetFinalizer")
external fun _nGetFinalizer(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nMakeFromBitmap")
external fun _nMakeFromBitmap(bitmapPtr: Long, flags: Int, pixelGeometry: Int): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawPoint")
external fun _nDrawPoint(ptr: Long, x: Float, y: Float, paintPtr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawPoints")
external fun _nDrawPoints(ptr: Long, mode: Int, coords: FloatArray?, paintPtr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawLine")
external fun _nDrawLine(ptr: Long, x0: Float, y0: Float, x1: Float, y1: Float, paintPtr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawArc")
external fun _nDrawArc(
ptr: Long,
left: Float,
......@@ -36,10 +43,13 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val
)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawRect")
external fun _nDrawRect(ptr: Long, left: Float, top: Float, right: Float, bottom: Float, paintPtr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawOval")
external fun _nDrawOval(ptr: Long, left: Float, top: Float, right: Float, bottom: Float, paint: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawRRect")
external fun _nDrawRRect(
ptr: Long,
left: Float,
......@@ -51,6 +61,7 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val
)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawDRRect")
external fun _nDrawDRRect(
ptr: Long,
ol: Float,
......@@ -67,8 +78,10 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val
)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawPath")
external fun _nDrawPath(ptr: Long, nativePath: Long, paintPtr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawImageRect")
external fun _nDrawImageRect(
ptr: Long,
nativeImage: Long,
......@@ -86,6 +99,7 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val
)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawImageNine")
external fun _nDrawImageNine(
ptr: Long,
nativeImage: Long,
......@@ -102,14 +116,19 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val
)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawRegion")
external fun _nDrawRegion(ptr: Long, nativeRegion: Long, paintPtr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawString")
external fun _nDrawString(ptr: Long, string: String?, x: Float, y: Float, font: Long, paint: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawTextBlob")
external fun _nDrawTextBlob(ptr: Long, blob: Long, x: Float, y: Float, paint: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawPicture")
external fun _nDrawPicture(ptr: Long, picturePtr: Long, matrix: FloatArray?, paintPtr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawVertices")
external fun _nDrawVertices(
ptr: Long,
verticesMode: Int,
......@@ -122,6 +141,7 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val
)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawPatch")
external fun _nDrawPatch(
ptr: Long,
cubics: FloatArray?,
......@@ -132,18 +152,25 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val
)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawDrawable")
external fun _nDrawDrawable(ptr: Long, drawablePrt: Long, matrix: FloatArray?)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nClear")
external fun _nClear(ptr: Long, color: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawPaint")
external fun _nDrawPaint(ptr: Long, paintPtr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nSetMatrix")
external fun _nSetMatrix(ptr: Long, matrix: FloatArray?)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nGetLocalToDevice")
external fun _nGetLocalToDevice(ptr: Long): FloatArray
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nResetMatrix")
external fun _nResetMatrix(ptr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nClipRect")
external fun _nClipRect(
ptr: Long,
left: Float,
......@@ -155,6 +182,7 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val
)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nClipRRect")
external fun _nClipRRect(
ptr: Long,
left: Float,
......@@ -167,22 +195,31 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val
)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nClipPath")
external fun _nClipPath(ptr: Long, nativePath: Long, mode: Int, antiAlias: Boolean)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nClipRegion")
external fun _nClipRegion(ptr: Long, nativeRegion: Long, mode: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nConcat")
external fun _nConcat(ptr: Long, matrix: FloatArray?)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nConcat44")
external fun _nConcat44(ptr: Long, matrix: FloatArray?)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nReadPixels")
external fun _nReadPixels(ptr: Long, bitmapPtr: Long, srcX: Int, srcY: Int): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nWritePixels")
external fun _nWritePixels(ptr: Long, bitmapPtr: Long, x: Int, y: Int): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nSave")
external fun _nSave(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nSaveLayer")
external fun _nSaveLayer(ptr: Long, paintPtr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nSaveLayerRect")
external fun _nSaveLayerRect(
ptr: Long,
left: Float,
......@@ -193,10 +230,13 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val
): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nGetSaveCount")
external fun _nGetSaveCount(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nRestore")
external fun _nRestore(ptr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nRestoreToCount")
external fun _nRestoreToCount(ptr: Long, saveCount: Int)
init {
......
......@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
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)
}
}
@JvmStatic external fun _nGetFinalizer(): Long
@JvmStatic external fun _nMakeFromData(dataPtr: Long): Long
@JvmStatic external fun _nGetImageInfo(ptr: Long): ImageInfo?
@JvmStatic external fun _nGetSize(ptr: Long): Long
@JvmStatic external fun _nGetEncodedOrigin(ptr: Long): Int
@JvmStatic external fun _nGetEncodedImageFormat(ptr: Long): Int
@JvmStatic external fun _nReadPixels(ptr: Long, bitmapPtr: Long, frame: Int, priorFrame: Int): Int
@JvmStatic external fun _nGetFrameCount(ptr: Long): Int
@JvmStatic external fun _nGetFrameInfo(ptr: Long, frame: Int): AnimationFrameInfo
@JvmStatic external fun _nGetFramesInfo(ptr: Long): Array<AnimationFrameInfo>
@JvmStatic external fun _nGetRepetitionCount(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Codec__1nGetFinalizer")
external fun _nGetFinalizer(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Codec__1nMakeFromData")
external fun _nMakeFromData(dataPtr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Codec__1nGetImageInfo")
external fun _nGetImageInfo(ptr: Long): ImageInfo?
@JvmStatic
@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 {
staticLoad()
......
......@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
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]))
}
@JvmStatic external fun _nMakeComposed(outer: Long, inner: Long): Long
@JvmStatic external fun _nMakeBlend(color: Int, blendMode: Int): Long
@JvmStatic external fun _nMakeMatrix(rowMajor: FloatArray?): Long
@JvmStatic external fun _nMakeHSLAMatrix(rowMajor: FloatArray?): Long
@JvmStatic external fun _nGetLinearToSRGBGamma(): Long
@JvmStatic external fun _nGetSRGBToLinearGamma(): Long
@JvmStatic external fun _nMakeLerp(t: Float, dstPtr: Long, srcPtr: Long): Long
@JvmStatic external fun _nMakeLighting(colorMul: Int, colorAdd: Int): Long
@JvmStatic external fun _nMakeHighContrast(grayscale: Boolean, inversionMode: Int, contrast: Float): Long
@JvmStatic external fun _nMakeTable(table: ByteArray?): Long
@JvmStatic external fun _nMakeTableARGB(a: ByteArray?, r: ByteArray?, g: ByteArray?, b: ByteArray?): Long
@JvmStatic external fun _nMakeOverdraw(c0: Int, c1: Int, c2: Int, c3: Int, c4: Int, c5: Int): Long
@JvmStatic external fun _nGetLuma(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nMakeComposed")
external fun _nMakeComposed(outer: Long, inner: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nMakeBlend")
external fun _nMakeBlend(color: Int, blendMode: Int): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nMakeMatrix")
external fun _nMakeMatrix(rowMajor: FloatArray?): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nMakeHSLAMatrix")
external fun _nMakeHSLAMatrix(rowMajor: FloatArray?): 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 {
staticLoad()
......
......@@ -5,18 +5,35 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
class ColorSpace : Managed {
companion object {
@JvmStatic external fun _nGetFinalizer(): Long
@JvmStatic external fun _nMakeSRGB(): Long
@JvmStatic external fun _nMakeDisplayP3(): Long
@JvmStatic external fun _nMakeSRGBLinear(): Long
@JvmStatic external fun _nConvert(fromPtr: Long, toPtr: Long, r: Float, g: Float, b: Float, a: Float): FloatArray
@JvmStatic external fun _nIsGammaCloseToSRGB(ptr: Long): Boolean
@JvmStatic external fun _nIsGammaLinear(ptr: Long): Boolean
@JvmStatic external fun _nIsSRGB(ptr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorSpace__1nGetFinalizer")
external fun _nGetFinalizer(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorSpace__1nMakeSRGB")
external fun _nMakeSRGB(): Long
@JvmStatic
@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 {
staticLoad()
......
@file:Suppress("NESTED_EXTERNAL_DECLARATION")
package org.jetbrains.skia
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
/**
......@@ -317,7 +318,9 @@ enum class ColorType {
* Native ARGB 32-bit encoding
*/
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)
return Data(_nMakeEmpty())
}
@JvmStatic external fun _nGetFinalizer(): Long
@JvmStatic external fun _nSize(ptr: Long): Long
@JvmStatic external fun _nBytes(ptr: Long, offset: Long, length: Long): ByteArray
@JvmStatic external fun _nEquals(ptr: Long, otherPtr: Long): Boolean
@JvmStatic external fun _nToByteBuffer(ptr: Long): ByteBuffer
@JvmStatic external fun _nMakeFromBytes(bytes: ByteArray?, offset: Long, length: Long): Long
@JvmStatic external fun _nMakeFromFileName(path: String?): Long
@JvmStatic external fun _nMakeSubset(ptr: Long, offset: Long, length: Long): Long
@JvmStatic external fun _nMakeEmpty(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Data__1nGetFinalizer")
external fun _nGetFinalizer(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Data__1nSize")
external fun _nSize(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Data__1nBytes")
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 {
staticLoad()
......@@ -118,4 +136,4 @@ class Data internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR)
private object _FinalizerHolder {
val PTR = _nGetFinalizer()
}
}
\ No newline at end of file
}
......@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
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))
}
@JvmStatic external fun _nMakeGL(): Long
@JvmStatic external fun _nMakeMetal(devicePtr: Long, queuePtr: Long): Long
@JvmStatic external fun _nMakeDirect3D(adapterPtr: Long, devicePtr: Long, queuePtr: Long): Long
@JvmStatic external fun _nFlush(ptr: Long): Long
@JvmStatic external fun _nSubmit(ptr: Long, syncCpu: Boolean): Long
@JvmStatic external fun _nReset(ptr: Long, flags: Int)
@JvmStatic external fun _nAbandon(ptr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_DirectContext__1nMakeGL")
external fun _nMakeGL(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_DirectContext__1nMakeMetal")
external fun _nMakeMetal(devicePtr: Long, queuePtr: Long): 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 {
staticLoad()
......
......@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
/**
......@@ -18,11 +19,21 @@ import kotlin.jvm.JvmStatic
*/
abstract class Drawable : RefCnt(_nMake()) {
companion object {
@JvmStatic external fun _nMake(): Long
@JvmStatic external fun _nDraw(ptr: Long, canvasPtr: Long, matrix: FloatArray?)
@JvmStatic external fun _nMakePictureSnapshot(ptr: Long): Long
@JvmStatic external fun _nGetGenerationId(ptr: Long): Int
@JvmStatic external fun _nNotifyDrawingChanged(ptr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Drawable__1nMake")
external fun _nMake(): Long
@JvmStatic
@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 {
staticLoad()
......@@ -123,6 +134,7 @@ abstract class Drawable : RefCnt(_nMake()) {
onDraw(Canvas(canvasPtr, false, this))
}
@ExternalSymbolName("org_jetbrains_skia_Drawable__1nInit")
external fun _nInit(ptr: Long)
init {
......
......@@ -6,6 +6,7 @@ import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
class Font : Managed {
......@@ -15,52 +16,144 @@ class Font : Managed {
return Font(_nMakeClone(ptr))
}
@JvmStatic external fun _nGetFinalizer(): Long
@JvmStatic external fun _nMakeDefault(): Long
@JvmStatic external fun _nMakeTypeface(typefacePtr: Long): Long
@JvmStatic external fun _nMakeTypefaceSize(typefacePtr: Long, size: Float): Long
@JvmStatic external fun _nMakeTypefaceSizeScaleSkew(typefacePtr: Long, size: Float, scaleX: Float, skewX: Float): Long
@JvmStatic external fun _nMakeClone(ptr: Long): Long
@JvmStatic external fun _nEquals(ptr: Long, otherPtr: Long): Boolean
@JvmStatic external fun _nIsAutoHintingForced(ptr: Long): Boolean
@JvmStatic external fun _nAreBitmapsEmbedded(ptr: Long): Boolean
@JvmStatic external fun _nIsSubpixel(ptr: Long): Boolean
@JvmStatic external fun _nAreMetricsLinear(ptr: Long): Boolean
@JvmStatic external fun _nIsEmboldened(ptr: Long): Boolean
@JvmStatic external fun _nIsBaselineSnapped(ptr: Long): Boolean
@JvmStatic external fun _nSetAutoHintingForced(ptr: Long, value: Boolean)
@JvmStatic external fun _nSetBitmapsEmbedded(ptr: Long, value: Boolean)
@JvmStatic external fun _nSetSubpixel(ptr: Long, value: Boolean)
@JvmStatic external fun _nSetMetricsLinear(ptr: Long, value: Boolean)
@JvmStatic external fun _nSetEmboldened(ptr: Long, value: Boolean)
@JvmStatic external fun _nSetBaselineSnapped(ptr: Long, value: Boolean)
@JvmStatic external fun _nGetEdging(ptr: Long): Int
@JvmStatic external fun _nSetEdging(ptr: Long, value: Int)
@JvmStatic external fun _nGetHinting(ptr: Long): Int
@JvmStatic external fun _nSetHinting(ptr: Long, value: Int)
@JvmStatic external fun _nGetTypeface(ptr: Long): Long
@JvmStatic external fun _nGetTypefaceOrDefault(ptr: Long): Long
@JvmStatic external fun _nGetSize(ptr: Long): Float
@JvmStatic external fun _nGetScaleX(ptr: Long): Float
@JvmStatic external fun _nGetSkewX(ptr: Long): Float
@JvmStatic external fun _nSetTypeface(ptr: Long, typefacePtr: Long)
@JvmStatic external fun _nSetSize(ptr: Long, value: Float)
@JvmStatic external fun _nSetScaleX(ptr: Long, value: Float)
@JvmStatic external fun _nSetSkewX(ptr: Long, value: Float)
@JvmStatic external fun _nGetStringGlyphs(ptr: Long, str: String?): ShortArray?
@JvmStatic external fun _nGetUTF32Glyph(ptr: Long, uni: Int): Short
@JvmStatic external fun _nGetUTF32Glyphs(ptr: Long, uni: IntArray?): ShortArray
@JvmStatic external fun _nGetStringGlyphsCount(ptr: Long, str: String?): Int
@JvmStatic external fun _nMeasureText(ptr: Long, str: String?, paintPtr: Long): Rect
@JvmStatic external fun _nMeasureTextWidth(ptr: Long, str: String?, paintPtr: Long): Float
@JvmStatic external fun _nGetWidths(ptr: Long, glyphs: ShortArray?): FloatArray
@JvmStatic external fun _nGetBounds(ptr: Long, glyphs: ShortArray?, paintPtr: Long): Array<Rect>
@JvmStatic external fun _nGetPositions(ptr: Long, glyphs: ShortArray?, x: Float, y: Float): Array<Point>
@JvmStatic external fun _nGetXPositions(ptr: Long, glyphs: ShortArray?, x: Float): FloatArray
@JvmStatic external fun _nGetPath(ptr: Long, glyph: Short): Long
@JvmStatic external fun _nGetPaths(ptr: Long, glyphs: ShortArray?): Array<Path>
@JvmStatic external fun _nGetMetrics(ptr: Long): FontMetrics
@JvmStatic external fun _nGetSpacing(ptr: Long): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetFinalizer")
external fun _nGetFinalizer(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nMakeDefault")
external fun _nMakeDefault(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nMakeTypeface")
external fun _nMakeTypeface(typefacePtr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nMakeTypefaceSize")
external fun _nMakeTypefaceSize(typefacePtr: Long, size: Float): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nMakeTypefaceSizeScaleSkew")
external fun _nMakeTypefaceSizeScaleSkew(typefacePtr: Long, size: Float, scaleX: Float, skewX: Float): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nMakeClone")
external fun _nMakeClone(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nEquals")
external fun _nEquals(ptr: Long, otherPtr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nIsAutoHintingForced")
external fun _nIsAutoHintingForced(ptr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nAreBitmapsEmbedded")
external fun _nAreBitmapsEmbedded(ptr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nIsSubpixel")
external fun _nIsSubpixel(ptr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nAreMetricsLinear")
external fun _nAreMetricsLinear(ptr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nIsEmboldened")
external fun _nIsEmboldened(ptr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nIsBaselineSnapped")
external fun _nIsBaselineSnapped(ptr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nSetAutoHintingForced")
external fun _nSetAutoHintingForced(ptr: Long, value: Boolean)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nSetBitmapsEmbedded")
external fun _nSetBitmapsEmbedded(ptr: Long, value: Boolean)
@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 {
staticLoad()
......
......@@ -5,24 +5,41 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
open class FontMgr : RefCnt {
companion object {
@JvmStatic external fun _nGetFamiliesCount(ptr: Long): Int
@JvmStatic external fun _nGetFamilyName(ptr: Long, index: Int): String
@JvmStatic external fun _nMakeStyleSet(ptr: Long, index: Int): Long
@JvmStatic external fun _nMatchFamily(ptr: Long, familyName: String?): Long
@JvmStatic external fun _nMatchFamilyStyle(ptr: Long, familyName: String?, fontStyle: Int): Long
@JvmStatic external fun _nMatchFamilyStyleCharacter(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontMgr__1nGetFamiliesCount")
external fun _nGetFamiliesCount(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontMgr__1nGetFamilyName")
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,
familyName: String?,
fontStyle: Int,
bcp47: Array<String?>?,
character: Int
): Long
@JvmStatic external fun _nMakeFromData(ptr: Long, dataPtr: Long, ttcIndex: Int): Long
@JvmStatic external fun _nDefault(): Long
@JvmStatic
@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 {
staticLoad()
......
......@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
class FontStyleSet internal constructor(ptr: Long) : RefCnt(ptr) {
......@@ -14,12 +15,24 @@ class FontStyleSet internal constructor(ptr: Long) : RefCnt(ptr) {
return FontStyleSet(_nMakeEmpty())
}
@JvmStatic external fun _nMakeEmpty(): Long
@JvmStatic external fun _nCount(ptr: Long): Int
@JvmStatic external fun _nGetStyle(ptr: Long, index: Int): Int
@JvmStatic external fun _nGetStyleName(ptr: Long, index: Int): String
@JvmStatic external fun _nGetTypeface(ptr: Long, index: Int): Long
@JvmStatic external fun _nMatchStyle(ptr: Long, style: Int): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontStyleSet__1nMakeEmpty")
external fun _nMakeEmpty(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontStyleSet__1nCount")
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 {
staticLoad()
......
......@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
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)
}
@JvmStatic external fun _nMakeRaster(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Image__1nMakeRaster")
external fun _nMakeRaster(
width: Int,
height: Int,
colorType: Int,
......@@ -152,7 +155,9 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo {
rowBytes: Long
): Long
@JvmStatic external fun _nMakeRasterData(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Image__1nMakeRasterData")
external fun _nMakeRasterData(
width: Int,
height: Int,
colorType: Int,
......@@ -162,16 +167,36 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo {
rowBytes: Long
): Long
@JvmStatic external fun _nMakeFromBitmap(bitmapPtr: Long): Long
@JvmStatic external fun _nMakeFromPixmap(pixmapPtr: Long): Long
@JvmStatic external fun _nMakeFromEncoded(bytes: ByteArray?): Long
@JvmStatic external fun _nGetImageInfo(ptr: Long): ImageInfo?
@JvmStatic external fun _nEncodeToData(ptr: Long, format: Int, quality: Int): Long
@JvmStatic external fun _nMakeShader(ptr: Long, tmx: Int, tmy: Int, samplingMode: Long, localMatrix: FloatArray?): Long
@JvmStatic external fun _nPeekPixels(ptr: Long): ByteBuffer?
@JvmStatic external fun _nPeekPixelsToPixmap(ptr: Long, pixmapPtr: Long): Boolean
@JvmStatic external fun _nScalePixels(ptr: Long, pixmapPtr: Long, samplingOptions: Long, cache: Boolean): Boolean
@JvmStatic external fun _nReadPixelsBitmap(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Image__1nMakeFromBitmap")
external fun _nMakeFromBitmap(bitmapPtr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Image__1nMakeFromPixmap")
external fun _nMakeFromPixmap(pixmapPtr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Image__1nMakeFromEncoded")
external fun _nMakeFromEncoded(bytes: ByteArray?): Long
@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,
contextPtr: Long,
bitmapPtr: Long,
......@@ -180,7 +205,9 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo {
cache: 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 {
staticLoad()
......
......@@ -6,6 +6,7 @@ import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
......@@ -608,6 +609,7 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
}
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeAlphaThreshold")
external fun _nMakeAlphaThreshold(
regionPtr: Long,
innerMin: Float,
......@@ -616,7 +618,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
crop: IRect?
): Long
@JvmStatic external fun _nMakeArithmetic(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeArithmetic")
external fun _nMakeArithmetic(
k1: Float,
k2: Float,
k3: Float,
......@@ -627,11 +631,21 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
crop: IRect?
): Long
@JvmStatic external fun _nMakeBlend(blendMode: Int, bg: Long, fg: Long, crop: IRect?): Long
@JvmStatic external fun _nMakeBlur(sigmaX: Float, sigmaY: Float, tileMode: Int, input: Long, crop: IRect?): Long
@JvmStatic external fun _nMakeColorFilter(colorFilterPtr: Long, input: Long, crop: IRect?): Long
@JvmStatic external fun _nMakeCompose(outer: Long, inner: Long): Long
@JvmStatic external fun _nMakeDisplacementMap(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeBlend")
external fun _nMakeBlend(blendMode: Int, bg: Long, fg: Long, crop: IRect?): Long
@JvmStatic
@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,
yChan: Int,
scale: Float,
......@@ -640,7 +654,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
crop: IRect?
): Long
@JvmStatic external fun _nMakeDropShadow(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeDropShadow")
external fun _nMakeDropShadow(
dx: Float,
dy: Float,
sigmaX: Float,
......@@ -650,7 +666,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
crop: IRect?
): Long
@JvmStatic external fun _nMakeDropShadowOnly(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeDropShadowOnly")
external fun _nMakeDropShadowOnly(
dx: Float,
dy: Float,
sigmaX: Float,
......@@ -660,7 +678,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
crop: IRect?
): Long
@JvmStatic external fun _nMakeImage(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeImage")
external fun _nMakeImage(
image: Long,
l0: Float,
t0: Float,
......@@ -673,7 +693,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
samplingMode: Long
): Long
@JvmStatic external fun _nMakeMagnifier(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeMagnifier")
external fun _nMakeMagnifier(
l: Float,
t: Float,
r: Float,
......@@ -683,7 +705,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
crop: IRect?
): Long
@JvmStatic external fun _nMakeMatrixConvolution(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeMatrixConvolution")
external fun _nMakeMatrixConvolution(
kernelW: Int,
kernelH: Int,
kernel: FloatArray?,
......@@ -697,12 +721,24 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
crop: IRect?
): Long
@JvmStatic external fun _nMakeMatrixTransform(matrix: FloatArray?, samplingMode: Long, input: Long): Long
@JvmStatic external fun _nMakeMerge(filters: LongArray?, crop: IRect?): Long
@JvmStatic external fun _nMakeOffset(dx: Float, dy: Float, input: Long, crop: IRect?): Long
@JvmStatic external fun _nMakePaint(paint: Long, crop: IRect?): Long
@JvmStatic external fun _nMakePicture(picture: Long, l: Float, t: Float, r: Float, b: Float): Long
@JvmStatic external fun _nMakeTile(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeMatrixTransform")
external fun _nMakeMatrixTransform(matrix: FloatArray?, samplingMode: Long, input: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeMerge")
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,
t0: Float,
r0: Float,
......@@ -714,9 +750,15 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
input: Long
): Long
@JvmStatic external fun _nMakeDilate(rx: Float, ry: Float, input: Long, crop: IRect?): Long
@JvmStatic external fun _nMakeErode(rx: Float, ry: Float, input: Long, crop: IRect?): Long
@JvmStatic external fun _nMakeDistantLitDiffuse(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeDilate")
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,
y: Float,
z: Float,
......@@ -727,7 +769,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
crop: IRect?
): Long
@JvmStatic external fun _nMakePointLitDiffuse(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakePointLitDiffuse")
external fun _nMakePointLitDiffuse(
x: Float,
y: Float,
z: Float,
......@@ -738,7 +782,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
crop: IRect?
): Long
@JvmStatic external fun _nMakeSpotLitDiffuse(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeSpotLitDiffuse")
external fun _nMakeSpotLitDiffuse(
x0: Float,
y0: Float,
z0: Float,
......@@ -754,7 +800,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
crop: IRect?
): Long
@JvmStatic external fun _nMakeDistantLitSpecular(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeDistantLitSpecular")
external fun _nMakeDistantLitSpecular(
x: Float,
y: Float,
z: Float,
......@@ -766,7 +814,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
crop: IRect?
): Long
@JvmStatic external fun _nMakePointLitSpecular(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakePointLitSpecular")
external fun _nMakePointLitSpecular(
x: Float,
y: Float,
z: Float,
......@@ -778,7 +828,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
crop: IRect?
): Long
@JvmStatic external fun _nMakeSpotLitSpecular(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeSpotLitSpecular")
external fun _nMakeSpotLitSpecular(
x0: Float,
y0: Float,
z0: Float,
......
......@@ -5,17 +5,32 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
class ManagedString internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) {
companion object {
@JvmStatic external fun _nMake(s: String?): Long
@JvmStatic external fun _nGetFinalizer(): Long
@JvmStatic external fun _nToString(ptr: Long): String
@JvmStatic external fun _nInsert(ptr: Long, offset: Int, s: String?)
@JvmStatic external fun _nAppend(ptr: Long, s: String?)
@JvmStatic external fun _nRemoveSuffix(ptr: Long, from: Int)
@JvmStatic external fun _nRemove(ptr: Long, from: Int, length: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ManagedString__1nMake")
external fun _nMake(s: String?): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ManagedString__1nGetFinalizer")
external fun _nGetFinalizer(): Long
@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 {
staticLoad()
......
......@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
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()))
}
@JvmStatic external fun _nMakeBlur(mode: Int, sigma: Float, respectCTM: Boolean): Long
@JvmStatic external fun _nMakeShader(shaderPtr: Long): Long
@JvmStatic external fun _nMakeTable(table: ByteArray?): Long
@JvmStatic external fun _nMakeGamma(gamma: Float): Long
@JvmStatic external fun _nMakeClip(min: Byte, max: Byte): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_MaskFilter__1nMakeBlur")
external fun _nMakeBlur(mode: Int, sigma: Float, respectCTM: Boolean): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_MaskFilter__1nMakeShader")
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 {
staticLoad()
......
......@@ -3,12 +3,17 @@ package org.jetbrains.skia
import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
class OutputWStream(out: OutputStream?) : WStream(_nMake(out), _FinalizerHolder.PTR) {
companion object {
@JvmStatic external fun _nGetFinalizer(): Long
@JvmStatic external fun _nMake(out: OutputStream?): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_OutputWStream__1nGetFinalizer")
external fun _nGetFinalizer(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_OutputWStream__1nMake")
external fun _nMake(out: OutputStream?): Long
init {
staticLoad()
......
......@@ -6,60 +6,86 @@ import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
import kotlin.math.round
class Paint : Managed {
companion object {
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetFinalizer")
external fun _nGetFinalizer(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nMake")
external fun _nMake(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nMakeClone")
external fun _nMakeClone(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nEquals")
external fun _nEquals(ptr: Long, otherPtr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nReset")
external fun _nReset(ptr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nIsAntiAlias")
external fun _nIsAntiAlias(ptr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetAntiAlias")
external fun _nSetAntiAlias(ptr: Long, value: Boolean)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nIsDither")
external fun _nIsDither(ptr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetDither")
external fun _nSetDither(ptr: Long, value: Boolean)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetMode")
external fun _nGetMode(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetMode")
external fun _nSetMode(ptr: Long, value: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetColor")
external fun _nGetColor(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetColor4f")
external fun _nGetColor4f(ptr: Long): Color4f
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetColor")
external fun _nSetColor(ptr: Long, argb: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetColor4f")
external fun _nSetColor4f(ptr: Long, r: Float, g: Float, b: Float, a: Float, colorSpacePtr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetStrokeWidth")
external fun _nGetStrokeWidth(ptr: Long): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetStrokeWidth")
external fun _nSetStrokeWidth(ptr: Long, value: Float)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetStrokeMiter")
external fun _nGetStrokeMiter(ptr: Long): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetStrokeMiter")
external fun _nSetStrokeMiter(ptr: Long, value: Float)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetStrokeCap")
external fun _nGetStrokeCap(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetStrokeCap")
external fun _nSetStrokeCap(ptr: Long, value: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetStrokeJoin")
external fun _nGetStrokeJoin(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetStrokeJoin")
external fun _nSetStrokeJoin(ptr: Long, value: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetFillPath")
external fun _nGetFillPath(ptr: Long, path: Long, resScale: Float): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetFillPathCull")
external fun _nGetFillPathCull(
ptr: Long,
path: Long,
......@@ -71,30 +97,43 @@ class Paint : Managed {
): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetShader")
external fun _nGetShader(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetShader")
external fun _nSetShader(ptr: Long, shaderPtr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetColorFilter")
external fun _nGetColorFilter(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetColorFilter")
external fun _nSetColorFilter(ptr: Long, colorFilterPtr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetBlendMode")
external fun _nGetBlendMode(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetBlendMode")
external fun _nSetBlendMode(ptr: Long, mode: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetPathEffect")
external fun _nGetPathEffect(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetPathEffect")
external fun _nSetPathEffect(ptr: Long, pathEffectPtr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetMaskFilter")
external fun _nGetMaskFilter(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetMaskFilter")
external fun _nSetMaskFilter(ptr: Long, filterPtr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetImageFilter")
external fun _nGetImageFilter(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetImageFilter")
external fun _nSetImageFilter(ptr: Long, filterPtr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nHasNothingToDraw")
external fun _nHasNothingToDraw(ptr: Long): Boolean
init {
......
......@@ -11,6 +11,7 @@ import org.jetbrains.skia.impl.reachabilityBarrier
abstract class PaintFilterCanvas(canvas: Canvas, unrollDrawable: Boolean) :
Canvas(_nMake(getPtr(canvas), unrollDrawable), true, canvas) {
companion object {
@ExternalSymbolName("org_jetbrains_skia_PaintFilterCanvas__1nMake")
external fun _nMake(canvasPtr: Long, unrollDrawable: Boolean): Long
init {
......@@ -33,6 +34,7 @@ abstract class PaintFilterCanvas(canvas: Canvas, unrollDrawable: Boolean) :
return onFilter(paint)
}
@ExternalSymbolName("org_jetbrains_skia_PaintFilterCanvas__1nAttachToJava")
external fun _nAttachToJava(canvasPtr: Long)
/**
......
......@@ -6,6 +6,7 @@ import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
/**
......@@ -201,26 +202,65 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR),
}
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nGetFinalizer")
external fun _nGetFinalizer(): Long
@JvmStatic external fun _nMake(): Long
@JvmStatic external fun _nMakeFromSVGString(s: String?): Long
@JvmStatic external fun _nEquals(aPtr: Long, bPtr: Long): Boolean
@JvmStatic external fun _nIsInterpolatable(ptr: Long, comparePtr: Long): Boolean
@JvmStatic external fun _nMakeLerp(ptr: Long, endingPtr: Long, weight: Float): Long
@JvmStatic external fun _nGetFillMode(ptr: Long): Int
@JvmStatic external fun _nSetFillMode(ptr: Long, fillMode: Int)
@JvmStatic external fun _nIsConvex(ptr: Long): Boolean
@JvmStatic external fun _nIsOval(ptr: Long): Rect
@JvmStatic external fun _nIsRRect(ptr: Long): RRect
@JvmStatic external fun _nReset(ptr: Long)
@JvmStatic external fun _nRewind(ptr: Long)
@JvmStatic external fun _nIsEmpty(ptr: Long): Boolean
@JvmStatic external fun _nIsLastContourClosed(ptr: Long): Boolean
@JvmStatic external fun _nIsFinite(ptr: Long): Boolean
@JvmStatic external fun _nIsVolatile(ptr: Long): Boolean
@JvmStatic external fun _nSetVolatile(ptr: Long, isVolatile: Boolean)
@JvmStatic external fun _nIsLineDegenerate(x0: Float, y0: Float, x1: Float, y1: Float, exact: Boolean): Boolean
@JvmStatic external fun _nIsQuadDegenerate(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nMake")
external fun _nMake(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nMakeFromSVGString")
external fun _nMakeFromSVGString(s: String?): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nEquals")
external fun _nEquals(aPtr: Long, bPtr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nIsInterpolatable")
external fun _nIsInterpolatable(ptr: Long, comparePtr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nMakeLerp")
external fun _nMakeLerp(ptr: Long, endingPtr: Long, weight: Float): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nGetFillMode")
external fun _nGetFillMode(ptr: Long): Int
@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,
y0: Float,
x1: Float,
......@@ -230,7 +270,9 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR),
exact: Boolean
): Boolean
@JvmStatic external fun _nIsCubicDegenerate(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nIsCubicDegenerate")
external fun _nIsCubicDegenerate(
x0: Float,
y0: Float,
x1: Float,
......@@ -242,30 +284,78 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR),
exact: Boolean
): Boolean
@JvmStatic external fun _nMaybeGetAsLine(ptr: Long): Array<Point>
@JvmStatic external fun _nGetPointsCount(ptr: Long): Int
@JvmStatic external fun _nGetPoint(ptr: Long, index: Int): Point
@JvmStatic external fun _nGetPoints(ptr: Long, points: Array<Point?>?, max: Int): Int
@JvmStatic external fun _nCountVerbs(ptr: Long): Int
@JvmStatic external fun _nGetVerbs(ptr: Long, verbs: ByteArray?, max: Int): Int
@JvmStatic external fun _nApproximateBytesUsed(ptr: Long): Long
@JvmStatic external fun _nSwap(ptr: Long, otherPtr: Long)
@JvmStatic external fun _nGetBounds(ptr: Long): Rect
@JvmStatic external fun _nUpdateBoundsCache(ptr: Long)
@JvmStatic external fun _nComputeTightBounds(ptr: Long): Rect
@JvmStatic external fun _nConservativelyContainsRect(ptr: Long, l: Float, t: Float, r: Float, b: Float): Boolean
@JvmStatic external fun _nIncReserve(ptr: Long, extraPtCount: Int)
@JvmStatic external fun _nMoveTo(ptr: Long, x: Float, y: Float)
@JvmStatic external fun _nRMoveTo(ptr: Long, dx: Float, dy: Float)
@JvmStatic external fun _nLineTo(ptr: Long, x: Float, y: Float)
@JvmStatic external fun _nRLineTo(ptr: Long, dx: Float, dy: Float)
@JvmStatic external fun _nQuadTo(ptr: Long, x1: Float, y1: Float, x2: Float, y2: Float)
@JvmStatic external fun _nRQuadTo(ptr: Long, dx1: Float, dy1: Float, dx2: Float, dy2: Float)
@JvmStatic external fun _nConicTo(ptr: Long, x1: Float, y1: Float, x2: Float, y2: Float, w: Float)
@JvmStatic external fun _nRConicTo(ptr: Long, dx1: Float, dy1: Float, dx2: Float, dy2: Float, w: Float)
@JvmStatic external fun _nCubicTo(ptr: Long, x1: Float, y1: Float, x2: Float, y2: Float, x3: Float, y3: Float)
@JvmStatic external fun _nRCubicTo(ptr: Long, dx1: Float, dy1: Float, dx2: Float, dy2: Float, dx3: Float, dy3: Float)
@JvmStatic external fun _nArcTo(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nMaybeGetAsLine")
external fun _nMaybeGetAsLine(ptr: Long): Array<Point>
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nGetPointsCount")
external fun _nGetPointsCount(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nGetPoint")
external fun _nGetPoint(ptr: Long, index: Int): Point
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nGetPoints")
external fun _nGetPoints(ptr: Long, points: Array<Point?>?, max: Int): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nCountVerbs")
external fun _nCountVerbs(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nGetVerbs")
external fun _nGetVerbs(ptr: Long, verbs: ByteArray?, max: Int): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nApproximateBytesUsed")
external fun _nApproximateBytesUsed(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nSwap")
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,
left: Float,
top: Float,
......@@ -276,8 +366,12 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR),
forceMoveTo: Boolean
)
@JvmStatic external fun _nTangentArcTo(ptr: Long, x1: Float, y1: Float, x2: Float, y2: Float, radius: Float)
@JvmStatic external fun _nEllipticalArcTo(
@JvmStatic
@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,
rx: Float,
ry: Float,
......@@ -288,7 +382,9 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR),
y: Float
)
@JvmStatic external fun _nREllipticalArcTo(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nREllipticalArcTo")
external fun _nREllipticalArcTo(
ptr: Long,
rx: Float,
ry: Float,
......@@ -299,8 +395,12 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR),
dy: Float
)
@JvmStatic external fun _nClosePath(ptr: Long)
@JvmStatic external fun _nConvertConicToQuads(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nClosePath")
external fun _nClosePath(ptr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nConvertConicToQuads")
external fun _nConvertConicToQuads(
x0: Float,
y0: Float,
x1: Float,
......@@ -311,12 +411,24 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR),
pow2: Int
): Array<Point>
@JvmStatic external fun _nIsRect(ptr: Long): Rect
@JvmStatic external fun _nAddRect(ptr: Long, l: Float, t: Float, r: Float, b: Float, dir: Int, start: Int)
@JvmStatic external fun _nAddOval(ptr: Long, l: Float, t: Float, r: Float, b: Float, dir: Int, start: Int)
@JvmStatic external fun _nAddCircle(ptr: Long, x: Float, y: Float, r: Float, dir: Int)
@JvmStatic external fun _nAddArc(ptr: Long, l: Float, t: Float, r: Float, b: Float, startAngle: Float, sweepAngle: Float)
@JvmStatic external fun _nAddRRect(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nIsRect")
external fun _nIsRect(ptr: Long): Rect
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nAddRect")
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,
l: Float,
t: Float,
......@@ -327,24 +439,60 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR),
start: Int
)
@JvmStatic external fun _nAddPoly(ptr: Long, coords: FloatArray?, close: Boolean)
@JvmStatic external fun _nAddPath(ptr: Long, srcPtr: Long, extend: Boolean)
@JvmStatic external fun _nAddPathOffset(ptr: Long, srcPtr: Long, dx: Float, dy: Float, extend: Boolean)
@JvmStatic external fun _nAddPathTransform(ptr: Long, srcPtr: Long, matrix: FloatArray?, extend: Boolean)
@JvmStatic external fun _nReverseAddPath(ptr: Long, srcPtr: Long)
@JvmStatic external fun _nOffset(ptr: Long, dx: Float, dy: Float, dst: Long)
@JvmStatic external fun _nTransform(ptr: Long, matrix: FloatArray?, dst: Long, applyPerspectiveClip: Boolean)
@JvmStatic external fun _nGetLastPt(ptr: Long): Point
@JvmStatic external fun _nSetLastPt(ptr: Long, x: Float, y: Float)
@JvmStatic external fun _nGetSegmentMasks(ptr: Long): Int
@JvmStatic external fun _nContains(ptr: Long, x: Float, y: Float): Boolean
@JvmStatic external fun _nDump(ptr: Long)
@JvmStatic external fun _nDumpHex(ptr: Long)
@JvmStatic external fun _nSerializeToBytes(ptr: Long): ByteArray
@JvmStatic external fun _nMakeCombining(onePtr: Long, twoPtr: Long, op: Int): Long
@JvmStatic external fun _nMakeFromBytes(data: ByteArray?): Long
@JvmStatic external fun _nGetGenerationId(ptr: Long): Int
@JvmStatic external fun _nIsValid(ptr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nAddPoly")
external fun _nAddPoly(ptr: Long, coords: FloatArray?, close: Boolean)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nAddPath")
external fun _nAddPath(ptr: Long, srcPtr: Long, extend: Boolean)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nAddPathOffset")
external fun _nAddPathOffset(ptr: Long, srcPtr: Long, dx: Float, dy: Float, extend: Boolean)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nAddPathTransform")
external fun _nAddPathTransform(ptr: Long, srcPtr: Long, matrix: FloatArray?, extend: Boolean)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nReverseAddPath")
external fun _nReverseAddPath(ptr: Long, srcPtr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nOffset")
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 {
staticLoad()
......
......@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
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))
}
@JvmStatic external fun _nMakeSum(firstPtr: Long, secondPtr: Long): Long
@JvmStatic external fun _nMakeCompose(outerPtr: Long, innerPtr: Long): Long
@JvmStatic external fun _nMakePath1D(pathPtr: Long, advance: Float, phase: Float, style: Int): Long
@JvmStatic external fun _nMakePath2D(matrix: FloatArray?, pathPtr: Long): Long
@JvmStatic external fun _nMakeLine2D(width: Float, matrix: FloatArray?): Long
@JvmStatic external fun _nMakeCorner(radius: Float): Long
@JvmStatic external fun _nMakeDash(intervals: FloatArray?, phase: Float): Long
@JvmStatic external fun _nMakeDiscrete(segLength: Float, dev: Float, seed: Int): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathEffect__1nMakeSum")
external fun _nMakeSum(firstPtr: Long, secondPtr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathEffect__1nMakeCompose")
external fun _nMakeCompose(outerPtr: Long, innerPtr: Long): Long
@JvmStatic
@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 {
staticLoad()
......
......@@ -5,20 +5,41 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
class PathMeasure internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) {
companion object {
@JvmStatic external fun _nGetFinalizer(): Long
@JvmStatic external fun _nMake(): Long
@JvmStatic external fun _nMakePath(pathPtr: Long, forceClosed: Boolean, resScale: Float): Long
@JvmStatic external fun _nSetPath(ptr: Long, pathPtr: Long, forceClosed: Boolean)
@JvmStatic external fun _nGetLength(ptr: Long): Float
@JvmStatic external fun _nGetPosition(ptr: Long, distance: Float): Point?
@JvmStatic external fun _nGetTangent(ptr: Long, distance: Float): Point?
@JvmStatic external fun _nGetRSXform(ptr: Long, distance: Float): RSXform?
@JvmStatic external fun _nGetMatrix(ptr: Long, distance: Float, getPosition: Boolean, getTangent: Boolean): FloatArray?
@JvmStatic external fun _nGetSegment(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nGetFinalizer")
external fun _nGetFinalizer(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nMake")
external fun _nMake(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nMakePath")
external fun _nMakePath(pathPtr: Long, forceClosed: Boolean, resScale: Float): Long
@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,
startD: Float,
endD: Float,
......@@ -26,8 +47,12 @@ class PathMeasure internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolde
startWithMoveTo: Boolean
): Boolean
@JvmStatic external fun _nIsClosed(ptr: Long): Boolean
@JvmStatic external fun _nNextContour(ptr: Long): Boolean
@JvmStatic
@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 {
staticLoad()
......
......@@ -22,9 +22,15 @@ class PathSegmentIterator internal constructor(val _path: Path?, ptr: Long) : Ma
}
}
@JvmStatic external fun _nMake(pathPtr: Long, forceClose: Boolean): Long
@JvmStatic external fun _nGetFinalizer(): Long
@JvmStatic external fun _nNext(ptr: Long): PathSegment?
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathSegmentIterator__1nMake")
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 {
staticLoad()
......@@ -58,4 +64,4 @@ class PathSegmentIterator internal constructor(val _path: Path?, ptr: Long) : Ma
override fun remove() {
TODO("Not yet implemented")
}
}
\ No newline at end of file
}
......@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
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))
}
@JvmStatic external fun _nMakeFromData(dataPtr: Long /*, SkDeserialProcs */): Long
@JvmStatic external fun _nPlayback(ptr: Long, canvasPtr: Long, abort: BooleanSupplier?)
@JvmStatic external fun _nGetCullRect(ptr: Long): Rect
@JvmStatic external fun _nGetUniqueId(ptr: Long): Int
@JvmStatic external fun _nSerializeToData(ptr: Long /*, SkSerialProcs */): Long
@JvmStatic external fun _nMakePlaceholder(left: Float, top: Float, right: Float, bottom: Float): Long
@JvmStatic external fun _nGetApproximateOpCount(ptr: Long): Int
@JvmStatic external fun _nGetApproximateBytesUsed(ptr: Long): Long
@JvmStatic external fun _nMakeShader(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Picture__1nMakeFromData")
external fun _nMakeFromData(dataPtr: Long /*, SkDeserialProcs */): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Picture__1nPlayback")
external fun _nPlayback(ptr: Long, canvasPtr: Long, abort: BooleanSupplier?)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Picture__1nGetCullRect")
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,
tmx: Int,
tmy: Int,
......
......@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
class PictureRecorder internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) {
......@@ -26,12 +27,24 @@ class PictureRecorder internal constructor(ptr: Long) : Managed(ptr, _FinalizerH
// Stats.onNativeCall();
// return new Drawable(_nFinishRecordingAsDrawable(_ptr, 0));
// }
@JvmStatic external fun _nMake(): Long
@JvmStatic external fun _nGetFinalizer(): Long
@JvmStatic external fun _nBeginRecording(ptr: Long, left: Float, top: Float, right: Float, bottom: Float): Long
@JvmStatic external fun _nGetRecordingCanvas(ptr: Long): Long
@JvmStatic external fun _nFinishRecordingAsPicture(ptr: Long): Long
@JvmStatic external fun _nFinishRecordingAsPictureWithCull(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PictureRecorder__1nMake")
external fun _nMake(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PictureRecorder__1nGetFinalizer")
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,
left: Float,
top: Float,
......@@ -39,7 +52,9 @@ class PictureRecorder internal constructor(ptr: Long) : Managed(ptr, _FinalizerH
bottom: Float
): Long
@JvmStatic external fun _nFinishRecordingAsDrawable(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PictureRecorder__1nFinishRecordingAsDrawable")
external fun _nFinishRecordingAsDrawable(ptr: Long): Long
init {
staticLoad()
......
......@@ -5,17 +5,32 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
class PixelRef internal constructor(ptr: Long) : RefCnt(ptr) {
companion object {
@JvmStatic external fun _nGetWidth(ptr: Long): Int
@JvmStatic external fun _nGetHeight(ptr: Long): Int
@JvmStatic external fun _nGetRowBytes(ptr: Long): Long
@JvmStatic external fun _nGetGenerationId(ptr: Long): Int
@JvmStatic external fun _nNotifyPixelsChanged(ptr: Long)
@JvmStatic external fun _nIsImmutable(ptr: Long): Boolean
@JvmStatic external fun _nSetImmutable(ptr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PixelRef__1nGetWidth")
external fun _nGetWidth(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PixelRef__1nGetHeight")
external fun _nGetHeight(ptr: Long): Int
@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 {
staticLoad()
......
......@@ -2,6 +2,7 @@
package org.jetbrains.skia
import org.jetbrains.skia.impl.*
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
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 external fun _nMakeNull(): Long
@JvmStatic external fun _nMake(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nGetFinalizer")
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,
height: Int,
colorType: Int,
......@@ -281,8 +288,12 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) :
rowBytes: Int
): Long
@JvmStatic external fun _nReset(ptr: Long)
@JvmStatic external fun _nResetWithInfo(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nReset")
external fun _nReset(ptr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nResetWithInfo")
external fun _nResetWithInfo(
ptr: Long,
width: Int,
height: Int,
......@@ -293,24 +304,48 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) :
rowBytes: Int
)
@JvmStatic external fun _nSetColorSpace(ptr: Long, colorSpacePtr: Long)
@JvmStatic external fun _nExtractSubset(ptr: Long, subsetPtr: Long, l: Int, t: Int, r: Int, b: Int): Boolean
@JvmStatic external fun _nGetInfo(ptr: Long): ImageInfo
@JvmStatic external fun _nGetRowBytes(ptr: Long): Int
@JvmStatic external fun _nGetAddr(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nSetColorSpace")
external fun _nSetColorSpace(ptr: Long, colorSpacePtr: Long)
@JvmStatic
@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.
@JvmStatic external fun _nGetRowBytesAsPixels(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nGetRowBytesAsPixels")
external fun _nGetRowBytesAsPixels(ptr: Long): Int
// TODO shiftPerPixel
@JvmStatic external fun _nComputeByteSize(ptr: Long): Int
@JvmStatic external fun _nComputeIsOpaque(ptr: Long): Boolean
@JvmStatic external fun _nGetColor(ptr: Long, x: Int, y: Int): Int
@JvmStatic external fun _nGetAlphaF(ptr: Long, x: Int, y: Int): Float
@JvmStatic external fun _nGetAddrAt(ptr: Long, x: Int, y: Int): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nComputeByteSize")
external fun _nComputeByteSize(ptr: Long): Int
@JvmStatic
@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
@JvmStatic external fun _nReadPixels(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nReadPixels")
external fun _nReadPixels(
ptr: Long,
width: Int,
height: Int,
......@@ -321,7 +356,9 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) :
dstRowBytes: Int
): Boolean
@JvmStatic external fun _nReadPixelsFromPoint(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nReadPixelsFromPoint")
external fun _nReadPixelsFromPoint(
ptr: Long,
width: Int,
height: Int,
......@@ -334,11 +371,21 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) :
srcY: Int
): Boolean
@JvmStatic external fun _nReadPixelsToPixmap(ptr: Long, dstPixmapPtr: Long): Boolean
@JvmStatic external fun _nReadPixelsToPixmapFromPoint(ptr: Long, dstPixmapPtr: Long, srcX: Int, srcY: Int): Boolean
@JvmStatic external fun _nScalePixels(ptr: Long, dstPixmapPtr: Long, samplingOptions: Long): Boolean
@JvmStatic external fun _nErase(ptr: Long, color: Int): Boolean
@JvmStatic external fun _nEraseSubset(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nReadPixelsToPixmap")
external fun _nReadPixelsToPixmap(ptr: Long, dstPixmapPtr: Long): Boolean
@JvmStatic
@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,
color: Int,
l: Int,
......
package org.jetbrains.skia
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
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
import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
class Region : Managed(_nMake(), _FinalizerHolder.PTR) {
companion object {
@JvmStatic external fun _nMake(): Long
@JvmStatic external fun _nGetFinalizer(): Long
@JvmStatic external fun _nSet(ptr: Long, regoinPtr: Long): Boolean
@JvmStatic external fun _nIsEmpty(ptr: Long): Boolean
@JvmStatic external fun _nIsRect(ptr: Long): Boolean
@JvmStatic external fun _nIsComplex(ptr: Long): Boolean
@JvmStatic external fun _nGetBounds(ptr: Long): IRect
@JvmStatic external fun _nComputeRegionComplexity(ptr: Long): Int
@JvmStatic external fun _nGetBoundaryPath(ptr: Long, pathPtr: Long): Boolean
@JvmStatic external fun _nSetEmpty(ptr: Long): Boolean
@JvmStatic external fun _nSetRect(ptr: Long, left: Int, top: Int, right: Int, bottom: Int): Boolean
@JvmStatic external fun _nSetRects(ptr: Long, rects: IntArray?): Boolean
@JvmStatic external fun _nSetRegion(ptr: Long, regionPtr: Long): Boolean
@JvmStatic external fun _nSetPath(ptr: Long, pathPtr: Long, regionPtr: Long): Boolean
@JvmStatic external fun _nIntersectsIRect(ptr: Long, left: Int, top: Int, right: Int, bottom: Int): Boolean
@JvmStatic external fun _nIntersectsRegion(ptr: Long, regionPtr: Long): Boolean
@JvmStatic external fun _nContainsIPoint(ptr: Long, x: Int, y: Int): Boolean
@JvmStatic external fun _nContainsIRect(ptr: Long, left: Int, top: Int, right: Int, bottom: Int): Boolean
@JvmStatic external fun _nContainsRegion(ptr: Long, regionPtr: Long): Boolean
@JvmStatic external fun _nQuickContains(ptr: Long, left: Int, top: Int, right: Int, bottom: Int): Boolean
@JvmStatic external fun _nQuickRejectIRect(ptr: Long, left: Int, top: Int, right: Int, bottom: Int): Boolean
@JvmStatic external fun _nQuickRejectRegion(ptr: Long, regionPtr: Long): Boolean
@JvmStatic external fun _nTranslate(ptr: Long, dx: Int, dy: Int)
@JvmStatic external fun _nOpIRect(ptr: Long, left: Int, top: Int, right: Int, bottom: Int, op: Int): Boolean
@JvmStatic external fun _nOpRegion(ptr: Long, regionPtr: Long, op: Int): Boolean
@JvmStatic external fun _nOpIRectRegion(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nMake")
external fun _nMake(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nGetFinalizer")
external fun _nGetFinalizer(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nSet")
external fun _nSet(ptr: Long, regoinPtr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nIsEmpty")
external fun _nIsEmpty(ptr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nIsRect")
external fun _nIsRect(ptr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nIsComplex")
external fun _nIsComplex(ptr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nGetBounds")
external fun _nGetBounds(ptr: Long): IRect
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nComputeRegionComplexity")
external fun _nComputeRegionComplexity(ptr: Long): Int
@JvmStatic
@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,
left: Int,
top: Int,
......@@ -44,7 +97,9 @@ class Region : Managed(_nMake(), _FinalizerHolder.PTR) {
op: Int
): Boolean
@JvmStatic external fun _nOpRegionIRect(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nOpRegionIRect")
external fun _nOpRegionIRect(
ptr: Long,
regionPtr: Long,
left: Int,
......@@ -54,7 +109,9 @@ class Region : Managed(_nMake(), _FinalizerHolder.PTR) {
op: Int
): 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 {
staticLoad()
......
......@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
class RuntimeEffect internal constructor(ptr: Long) : RefCnt(ptr) {
......@@ -19,13 +20,19 @@ class RuntimeEffect internal constructor(ptr: Long) : RefCnt(ptr) {
return RuntimeEffect(_nMakeForColorFilter(sksl))
}
@JvmStatic external fun _nMakeShader(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_RuntimeEffect__1nMakeShader")
external fun _nMakeShader(
runtimeEffectPtr: Long, uniformPtr: Long, childrenPtrs: LongArray?,
localMatrix: FloatArray?, isOpaque: Boolean
): Long
@JvmStatic external fun _nMakeForShader(sksl: String?): Long
@JvmStatic external fun _nMakeForColorFilter(sksl: String?): Long
@JvmStatic
@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 {
staticLoad()
......
......@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
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 external fun _nMakeLinearGradient(
@JvmStatic
@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,
y0: Float,
x1: Float,
......@@ -497,7 +502,9 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
matrix: FloatArray?
): Long
@JvmStatic external fun _nMakeLinearGradientCS(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeLinearGradientCS")
external fun _nMakeLinearGradientCS(
x0: Float,
y0: Float,
x1: Float,
......@@ -510,7 +517,9 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
matrix: FloatArray?
): Long
@JvmStatic external fun _nMakeRadialGradient(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeRadialGradient")
external fun _nMakeRadialGradient(
x: Float,
y: Float,
r: Float,
......@@ -521,7 +530,9 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
matrix: FloatArray?
): Long
@JvmStatic external fun _nMakeRadialGradientCS(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeRadialGradientCS")
external fun _nMakeRadialGradientCS(
x: Float,
y: Float,
r: Float,
......@@ -533,7 +544,9 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
matrix: FloatArray?
): Long
@JvmStatic external fun _nMakeTwoPointConicalGradient(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeTwoPointConicalGradient")
external fun _nMakeTwoPointConicalGradient(
x0: Float,
y0: Float,
r0: Float,
......@@ -547,7 +560,9 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
matrix: FloatArray?
): Long
@JvmStatic external fun _nMakeTwoPointConicalGradientCS(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeTwoPointConicalGradientCS")
external fun _nMakeTwoPointConicalGradientCS(
x0: Float,
y0: Float,
r0: Float,
......@@ -562,7 +577,9 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
matrix: FloatArray?
): Long
@JvmStatic external fun _nMakeSweepGradient(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeSweepGradient")
external fun _nMakeSweepGradient(
x: Float,
y: Float,
startAngle: Float,
......@@ -574,7 +591,9 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
matrix: FloatArray?
): Long
@JvmStatic external fun _nMakeSweepGradientCS(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeSweepGradientCS")
external fun _nMakeSweepGradientCS(
x: Float,
y: Float,
startAngle: Float,
......@@ -587,7 +606,9 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
matrix: FloatArray?
): Long
@JvmStatic external fun _nMakeFractalNoise(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeFractalNoise")
external fun _nMakeFractalNoise(
baseFrequencyX: Float,
baseFrequencyY: Float,
numOctaves: Int,
......@@ -595,7 +616,9 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
tiles: IntArray?
): Long
@JvmStatic external fun _nMakeTurbulence(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeTurbulence")
external fun _nMakeTurbulence(
baseFrequencyX: Float,
baseFrequencyY: Float,
numOctaves: Int,
......@@ -603,10 +626,18 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
tiles: IntArray?
): Long
@JvmStatic external fun _nMakeEmpty(): Long
@JvmStatic external fun _nMakeColor(color: Int): Long
@JvmStatic external fun _nMakeColorCS(r: Float, g: Float, b: Float, a: Float, colorSpacePtr: Long): Long
@JvmStatic external fun _nMakeBlend(blendMode: Int, dst: Long, src: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeEmpty")
external fun _nMakeEmpty(): 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 {
staticLoad()
......@@ -621,4 +652,4 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
reachabilityBarrier(f)
}
}
}
\ No newline at end of file
}
......@@ -4,6 +4,7 @@ package org.jetbrains.skia
import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
object ShadowUtils {
......@@ -80,7 +81,9 @@ object ShadowUtils {
return _nComputeTonalSpotColor(ambientColor, spotColor)
}
@JvmStatic external fun _nDrawShadow(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ShadowUtils__1nDrawShadow")
external fun _nDrawShadow(
canvasPtr: Long,
pathPtr: Long,
zPlaneX: Float,
......@@ -95,8 +98,12 @@ object ShadowUtils {
flags: Int
)
@JvmStatic external fun _nComputeTonalAmbientColor(ambientColor: Int, spotColor: Int): Int
@JvmStatic external fun _nComputeTonalSpotColor(ambientColor: Int, spotColor: Int): Int
@JvmStatic
@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 {
staticLoad()
......
......@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
class Surface : RefCnt {
......@@ -526,7 +527,9 @@ class Surface : RefCnt {
return Surface(ptr)
}
@JvmStatic external fun _nMakeRasterDirect(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeRasterDirect")
external fun _nMakeRasterDirect(
width: Int,
height: Int,
colorType: Int,
......@@ -537,8 +540,12 @@ class Surface : RefCnt {
surfaceProps: SurfaceProps?
): Long
@JvmStatic external fun _nMakeRasterDirectWithPixmap(pixmapPtr: Long, surfaceProps: SurfaceProps?): Long
@JvmStatic external fun _nMakeRaster(
@JvmStatic
@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,
height: Int,
colorType: Int,
......@@ -548,8 +555,12 @@ class Surface : RefCnt {
surfaceProps: SurfaceProps?
): Long
@JvmStatic external fun _nMakeRasterN32Premul(width: Int, height: Int): Long
@JvmStatic external fun _nMakeFromBackendRenderTarget(
@JvmStatic
@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,
pBackendRenderTarget: Long,
surfaceOrigin: Int,
......@@ -558,7 +569,9 @@ class Surface : RefCnt {
surfaceProps: SurfaceProps?
): Long
@JvmStatic external fun _nMakeFromMTKView(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeFromMTKView")
external fun _nMakeFromMTKView(
contextPtr: Long,
mtkViewPtr: Long,
surfaceOrigin: Int,
......@@ -568,7 +581,9 @@ class Surface : RefCnt {
surfaceProps: SurfaceProps?
): Long
@JvmStatic external fun _nMakeRenderTarget(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeRenderTarget")
external fun _nMakeRenderTarget(
contextPtr: Long,
budgeted: Boolean,
width: Int,
......@@ -582,15 +597,33 @@ class Surface : RefCnt {
shouldCreateWithMips: Boolean
): Long
@JvmStatic external fun _nMakeNull(width: Int, height: Int): Long
@JvmStatic external fun _nGetWidth(ptr: Long): Int
@JvmStatic external fun _nGetHeight(ptr: Long): Int
@JvmStatic external fun _nGetImageInfo(ptr: Long): ImageInfo
@JvmStatic external fun _nGenerationId(ptr: Long): Int
@JvmStatic external fun _nNotifyContentWillChange(ptr: Long, mode: Int)
@JvmStatic external fun _nGetRecordingContext(ptr: Long): Long
@JvmStatic external fun _nGetCanvas(ptr: Long): Long
@JvmStatic external fun _nMakeSurfaceI(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeNull")
external fun _nMakeNull(width: Int, height: Int): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nGetWidth")
external fun _nGetWidth(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nGetHeight")
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,
width: Int,
height: Int,
......@@ -599,18 +632,42 @@ class Surface : RefCnt {
colorSpacePtr: Long
): Long
@JvmStatic external fun _nMakeSurface(ptr: Long, width: Int, height: Int): Long
@JvmStatic external fun _nMakeImageSnapshot(ptr: Long): Long
@JvmStatic external fun _nMakeImageSnapshotR(ptr: Long, left: Int, top: Int, right: Int, bottom: Int): Long
@JvmStatic external fun _nDraw(ptr: Long, canvasPtr: Long, x: Float, y: Float, paintPtr: Long)
@JvmStatic external fun _nPeekPixels(ptr: Long, pixmapPtr: Long): Boolean
@JvmStatic external fun _nReadPixelsToPixmap(ptr: Long, pixmapPtr: Long, srcX: Int, srcY: Int): Boolean
@JvmStatic external fun _nReadPixels(ptr: Long, bitmapPtr: Long, srcX: Int, srcY: Int): Boolean
@JvmStatic external fun _nWritePixelsFromPixmap(ptr: Long, pixmapPtr: Long, x: Int, y: Int)
@JvmStatic external fun _nWritePixels(ptr: Long, bitmapPtr: Long, x: Int, y: Int)
@JvmStatic external fun _nFlushAndSubmit(ptr: Long, syncCpu: Boolean)
@JvmStatic external fun _nFlush(ptr: Long)
@JvmStatic external fun _nUnique(ptr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeSurface")
external fun _nMakeSurface(ptr: Long, width: Int, height: Int): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeImageSnapshot")
external fun _nMakeImageSnapshot(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeImageSnapshotR")
external fun _nMakeImageSnapshotR(ptr: Long, left: Int, top: Int, right: Int, bottom: Int): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nDraw")
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 {
staticLoad()
......
......@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
class TextBlob internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) {
......@@ -93,22 +94,54 @@ class TextBlob internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.P
}
}
@JvmStatic external fun _nGetFinalizer(): Long
@JvmStatic external fun _nBounds(ptr: Long): Rect
@JvmStatic external fun _nGetUniqueId(ptr: Long): Int
@JvmStatic external fun _nGetIntercepts(ptr: Long, lower: Float, upper: Float, paintPtr: Long): FloatArray?
@JvmStatic external fun _nMakeFromPosH(glyphs: ShortArray?, xpos: FloatArray?, ypos: Float, fontPtr: Long): Long
@JvmStatic external fun _nMakeFromPos(glyphs: ShortArray?, pos: FloatArray?, fontPtr: Long): Long
@JvmStatic external fun _nMakeFromRSXform(glyphs: ShortArray?, xform: FloatArray?, fontPtr: Long): Long
@JvmStatic external fun _nSerializeToData(ptr: Long /*, SkSerialProcs */): Long
@JvmStatic external fun _nMakeFromData(dataPtr: Long /*, SkDeserialProcs */): Long
@JvmStatic external fun _nGetGlyphs(ptr: Long): ShortArray
@JvmStatic external fun _nGetPositions(ptr: Long): FloatArray
@JvmStatic external fun _nGetClusters(ptr: Long): IntArray
@JvmStatic external fun _nGetTightBounds(ptr: Long): Rect
@JvmStatic external fun _nGetBlockBounds(ptr: Long): Rect
@JvmStatic external fun _nGetFirstBaseline(ptr: Long): Float
@JvmStatic external fun _nGetLastBaseline(ptr: Long): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetFinalizer")
external fun _nGetFinalizer(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nBounds")
external fun _nBounds(ptr: Long): Rect
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetUniqueId")
external fun _nGetUniqueId(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetIntercepts")
external fun _nGetIntercepts(ptr: Long, lower: Float, upper: Float, paintPtr: Long): FloatArray?
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nMakeFromPosH")
external fun _nMakeFromPosH(glyphs: ShortArray?, xpos: FloatArray?, ypos: Float, fontPtr: Long): Long
@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 {
staticLoad()
......
......@@ -5,15 +5,26 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
class TextBlobBuilder internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) {
companion object {
@JvmStatic external fun _nGetFinalizer(): Long
@JvmStatic external fun _nMake(): Long
@JvmStatic external fun _nBuild(ptr: Long): Long
@JvmStatic external fun _nAppendRun(ptr: Long, fontPtr: Long, glyphs: ShortArray?, x: Float, y: Float, bounds: Rect?)
@JvmStatic external fun _nAppendRunPosH(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlobBuilder__1nGetFinalizer")
external fun _nGetFinalizer(): Long
@JvmStatic
@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,
fontPtr: Long,
glyphs: ShortArray?,
......@@ -22,8 +33,12 @@ class TextBlobBuilder internal constructor(ptr: Long) : Managed(ptr, _FinalizerH
bounds: Rect?
)
@JvmStatic external fun _nAppendRunPos(ptr: Long, fontPtr: Long, glyphs: ShortArray?, pos: FloatArray?, bounds: Rect?)
@JvmStatic external fun _nAppendRunRSXform(ptr: Long, fontPtr: Long, glyphs: ShortArray?, xform: FloatArray?)
@JvmStatic
@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 {
staticLoad()
......
......@@ -3,6 +3,7 @@ package org.jetbrains.skia
import org.jetbrains.skia.impl.*
import org.jetbrains.skia.shaper.*
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
class TextLine internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) {
......@@ -15,23 +16,57 @@ class TextLine internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.P
return Shaper.makeShapeDontWrapOrReorder().use { shaper -> shaper.shapeLine(text, font, opts!!) }
}
@JvmStatic external fun _nGetFinalizer(): Long
@JvmStatic external fun _nGetAscent(ptr: Long): Float
@JvmStatic external fun _nGetCapHeight(ptr: Long): Float
@JvmStatic external fun _nGetXHeight(ptr: Long): Float
@JvmStatic external fun _nGetDescent(ptr: Long): Float
@JvmStatic external fun _nGetLeading(ptr: Long): Float
@JvmStatic external fun _nGetWidth(ptr: Long): Float
@JvmStatic external fun _nGetHeight(ptr: Long): Float
@JvmStatic external fun _nGetTextBlob(ptr: Long): Long
@JvmStatic external fun _nGetGlyphs(ptr: Long): ShortArray
@JvmStatic external fun _nGetPositions(ptr: Long): FloatArray
@JvmStatic external fun _nGetRunPositions(ptr: Long): FloatArray?
@JvmStatic external fun _nGetBreakPositions(ptr: Long): FloatArray?
@JvmStatic external fun _nGetBreakOffsets(ptr: Long): IntArray?
@JvmStatic external fun _nGetOffsetAtCoord(ptr: Long, x: Float): Int
@JvmStatic external fun _nGetLeftOffsetAtCoord(ptr: Long, x: Float): Int
@JvmStatic external fun _nGetCoordAtOffset(ptr: Long, offset: Int): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetFinalizer")
external fun _nGetFinalizer(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetAscent")
external fun _nGetAscent(ptr: Long): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetCapHeight")
external fun _nGetCapHeight(ptr: Long): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetXHeight")
external fun _nGetXHeight(ptr: Long): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetDescent")
external fun _nGetDescent(ptr: Long): Float
@JvmStatic
@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 {
Library.staticLoad()
......
......@@ -6,6 +6,7 @@ import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
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 external fun _nIsFixedPitch(ptr: Long): Boolean
@JvmStatic external fun _nGetVariations(ptr: Long): Array<FontVariation>?
@JvmStatic external fun _nGetVariationAxes(ptr: Long): Array<FontVariationAxis>?
@JvmStatic external fun _nGetUniqueId(ptr: Long): Int
@JvmStatic external fun _nEquals(ptr: Long, otherPtr: Long): Boolean
@JvmStatic external fun _nMakeDefault(): Long
@JvmStatic external fun _nMakeFromName(name: String?, fontStyle: Int): Long
@JvmStatic external fun _nMakeFromFile(path: String?, index: Int): Long
@JvmStatic external fun _nMakeFromData(dataPtr: Long, index: Int): Long
@JvmStatic external fun _nMakeClone(ptr: Long, variations: Array<FontVariation>?, collectionIndex: Int): Long
@JvmStatic external fun _nGetUTF32Glyphs(ptr: Long, uni: IntArray?): ShortArray
@JvmStatic external fun _nGetUTF32Glyph(ptr: Long, unichar: Int): Short
@JvmStatic external fun _nGetGlyphsCount(ptr: Long): Int
@JvmStatic external fun _nGetTablesCount(ptr: Long): Int
@JvmStatic external fun _nGetTableTags(ptr: Long): IntArray?
@JvmStatic external fun _nGetTableSize(ptr: Long, tag: Int): Long
@JvmStatic external fun _nGetTableData(ptr: Long, tag: Int): Long
@JvmStatic external fun _nGetUnitsPerEm(ptr: Long): Int
@JvmStatic external fun _nGetKerningPairAdjustments(ptr: Long, glyphs: ShortArray?): IntArray?
@JvmStatic external fun _nGetFamilyNames(ptr: Long): Array<FontFamilyName>
@JvmStatic external fun _nGetFamilyName(ptr: Long): String
@JvmStatic external fun _nGetBounds(ptr: Long): Rect
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetFontStyle")
external fun _nGetFontStyle(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nIsFixedPitch")
external fun _nIsFixedPitch(ptr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetVariations")
external fun _nGetVariations(ptr: Long): Array<FontVariation>?
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetVariationAxes")
external fun _nGetVariationAxes(ptr: Long): Array<FontVariationAxis>?
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetUniqueId")
external fun _nGetUniqueId(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nEquals")
external fun _nEquals(ptr: Long, otherPtr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nMakeDefault")
external fun _nMakeDefault(): Long
@JvmStatic
@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 {
staticLoad()
......
......@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
/**
......@@ -12,9 +13,15 @@ import kotlin.jvm.JvmStatic
*/
class U16String internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) {
companion object {
@JvmStatic external fun _nMake(s: String?): Long
@JvmStatic external fun _nGetFinalizer(): Long
@JvmStatic external fun _nToString(ptr: Long): String
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_U16String__1nMake")
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 {
staticLoad()
......
......@@ -2,6 +2,7 @@
package org.jetbrains.skia.impl
import org.jetbrains.skia.ByteBuffer
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
object BufferUtil {
......@@ -16,6 +17,10 @@ object BufferUtil {
return result
}
@JvmStatic external fun _nGetByteBufferFromPointer(ptr: Long, size: Int): ByteBuffer?
@JvmStatic external fun _nGetPointerFromByteBuffer(buffer: ByteBuffer?): Long
@JvmStatic
@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
import org.jetbrains.skia.*
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
class FontCollection internal constructor(ptr: Long) : RefCnt(ptr) {
companion object {
@JvmStatic external fun _nMake(): Long
@JvmStatic external fun _nGetFontManagersCount(ptr: Long): Long
@JvmStatic external fun _nSetAssetFontManager(ptr: Long, fontManagerPtr: Long): Long
@JvmStatic external fun _nSetDynamicFontManager(ptr: Long, fontManagerPtr: Long): Long
@JvmStatic external fun _nSetTestFontManager(ptr: Long, fontManagerPtr: Long): Long
@JvmStatic external fun _nSetDefaultFontManager(ptr: Long, fontManagerPtr: Long, defaultFamilyName: String?): Long
@JvmStatic external fun _nGetFallbackManager(ptr: Long): Long
@JvmStatic external fun _nFindTypefaces(ptr: Long, familyNames: Array<String?>?, fontStyle: Int): LongArray
@JvmStatic external fun _nDefaultFallbackChar(ptr: Long, unicode: Int, fontStyle: Int, locale: String?): Long
@JvmStatic external fun _nDefaultFallback(ptr: Long): Long
@JvmStatic external fun _nSetEnableFallback(ptr: Long, value: Boolean): Long
@JvmStatic external fun _nGetParagraphCache(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontCollection__1nMake")
external fun _nMake(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontCollection__1nGetFontManagersCount")
external fun _nGetFontManagersCount(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontCollection__1nSetAssetFontManager")
external fun _nSetAssetFontManager(ptr: Long, fontManagerPtr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontCollection__1nSetDynamicFontManager")
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 {
staticLoad()
......
......@@ -6,22 +6,47 @@ import org.jetbrains.skia.*
import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
class Paragraph internal constructor(ptr: Long, text: ManagedString?) : Managed(ptr, _FinalizerHolder.PTR) {
companion object {
@JvmStatic external fun _nGetFinalizer(): Long
@JvmStatic external fun _nGetMaxWidth(ptr: Long): Float
@JvmStatic external fun _nGetHeight(ptr: Long): Float
@JvmStatic external fun _nGetMinIntrinsicWidth(ptr: Long): Float
@JvmStatic external fun _nGetMaxIntrinsicWidth(ptr: Long): Float
@JvmStatic external fun _nGetAlphabeticBaseline(ptr: Long): Float
@JvmStatic external fun _nGetIdeographicBaseline(ptr: Long): Float
@JvmStatic external fun _nGetLongestLine(ptr: Long): Float
@JvmStatic external fun _nDidExceedMaxLines(ptr: Long): Boolean
@JvmStatic external fun _nLayout(ptr: Long, width: Float)
@JvmStatic external fun _nPaint(ptr: Long, canvasPtr: Long, x: Float, y: Float): Long
@JvmStatic external fun _nGetRectsForRange(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetFinalizer")
external fun _nGetFinalizer(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetMaxWidth")
external fun _nGetMaxWidth(ptr: Long): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetHeight")
external fun _nGetHeight(ptr: Long): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetMinIntrinsicWidth")
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,
start: Int,
end: Int,
......@@ -29,18 +54,40 @@ class Paragraph internal constructor(ptr: Long, text: ManagedString?) : Managed(
rectWidthMode: Int
): Array<TextBox>
@JvmStatic external fun _nGetRectsForPlaceholders(ptr: Long): Array<TextBox>
@JvmStatic external fun _nGetGlyphPositionAtCoordinate(ptr: Long, dx: Float, dy: Float): Int
@JvmStatic external fun _nGetWordBoundary(ptr: Long, offset: Int): Long
@JvmStatic external fun _nGetLineMetrics(ptr: Long, textPtr: Long): Array<LineMetrics?>
@JvmStatic external fun _nGetLineNumber(ptr: Long): Long
@JvmStatic external fun _nMarkDirty(ptr: Long)
@JvmStatic external fun _nGetUnresolvedGlyphsCount(ptr: Long): Int
@JvmStatic external fun _nUpdateAlignment(ptr: Long, Align: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetRectsForPlaceholders")
external fun _nGetRectsForPlaceholders(ptr: Long): Array<TextBox>
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetGlyphPositionAtCoordinate")
external fun _nGetGlyphPositionAtCoordinate(ptr: Long, dx: Float, dy: Float): Int
@JvmStatic
@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 external fun _nUpdateForegroundPaint(ptr: Long, from: Int, to: Int, paintPtr: Long, textPtr: Long)
@JvmStatic external fun _nUpdateBackgroundPaint(ptr: Long, from: Int, to: Int, paintPtr: Long, textPtr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nUpdateFontSize")
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 {
staticLoad()
......
......@@ -6,17 +6,30 @@ import org.jetbrains.skia.ManagedString
import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
class ParagraphBuilder(style: ParagraphStyle?, fc: FontCollection?) :
Managed(_nMake(getPtr(style), getPtr(fc)), _FinalizerHolder.PTR) {
companion object {
@JvmStatic external fun _nMake(paragraphStylePtr: Long, fontCollectionPtr: Long): Long
@JvmStatic external fun _nGetFinalizer(): Long
@JvmStatic external fun _nPushStyle(ptr: Long, textStylePtr: Long)
@JvmStatic external fun _nPopStyle(ptr: Long)
@JvmStatic external fun _nAddText(ptr: Long, text: String?)
@JvmStatic external fun _nAddPlaceholder(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphBuilder__1nMake")
external fun _nMake(paragraphStylePtr: Long, fontCollectionPtr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphBuilder__1nGetFinalizer")
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,
width: Float,
height: Float,
......@@ -25,8 +38,12 @@ class ParagraphBuilder(style: ParagraphStyle?, fc: FontCollection?) :
baseline: Float
)
@JvmStatic external fun _nSetParagraphStyle(ptr: Long, stylePtr: Long)
@JvmStatic external fun _nBuild(ptr: Long): Long
@JvmStatic
@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 {
staticLoad()
......
......@@ -5,17 +5,32 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
class ParagraphCache internal constructor(owner: FontCollection, ptr: Long) : Native(ptr) {
companion object {
@JvmStatic external fun _nAbandon(ptr: Long)
@JvmStatic external fun _nReset(ptr: Long)
@JvmStatic external fun _nUpdateParagraph(ptr: Long, paragraphPtr: Long): Boolean
@JvmStatic external fun _nFindParagraph(ptr: Long, paragraphPtr: Long): Boolean
@JvmStatic external fun _nPrintStatistics(ptr: Long)
@JvmStatic external fun _nSetEnabled(ptr: Long, value: Boolean)
@JvmStatic external fun _nGetCount(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphCache__1nAbandon")
external fun _nAbandon(ptr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphCache__1nReset")
external fun _nReset(ptr: Long)
@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 {
staticLoad()
......
......@@ -6,32 +6,77 @@ import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
class ParagraphStyle : Managed(_nMake(), _FinalizerHolder.PTR) {
companion object {
@JvmStatic external fun _nGetFinalizer(): Long
@JvmStatic external fun _nMake(): Long
@JvmStatic external fun _nEquals(ptr: Long, otherPtr: Long): Boolean
@JvmStatic external fun _nGetStrutStyle(ptr: Long): Long
@JvmStatic external fun _nSetStrutStyle(ptr: Long, stylePtr: Long)
@JvmStatic external fun _nGetTextStyle(ptr: Long): Long
@JvmStatic external fun _nSetTextStyle(ptr: Long, textStylePtr: Long)
@JvmStatic external fun _nGetDirection(ptr: Long): Int
@JvmStatic external fun _nSetDirection(ptr: Long, direction: Int)
@JvmStatic external fun _nGetAlignment(ptr: Long): Int
@JvmStatic external fun _nSetAlignment(ptr: Long, align: Int)
@JvmStatic external fun _nGetMaxLinesCount(ptr: Long): Long
@JvmStatic external fun _nSetMaxLinesCount(ptr: Long, maxLines: Long)
@JvmStatic external fun _nGetEllipsis(ptr: Long): String
@JvmStatic external fun _nSetEllipsis(ptr: Long, ellipsis: String?)
@JvmStatic external fun _nGetHeight(ptr: Long): Float
@JvmStatic external fun _nSetHeight(ptr: Long, height: Float)
@JvmStatic external fun _nGetHeightMode(ptr: Long): Int
@JvmStatic external fun _nSetHeightMode(ptr: Long, v: Int)
@JvmStatic external fun _nGetEffectiveAlignment(ptr: Long): Int
@JvmStatic external fun _nIsHintingEnabled(ptr: Long): Boolean
@JvmStatic external fun _nDisableHinting(ptr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetFinalizer")
external fun _nGetFinalizer(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nMake")
external fun _nMake(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nEquals")
external fun _nEquals(ptr: Long, otherPtr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetStrutStyle")
external fun _nGetStrutStyle(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nSetStrutStyle")
external fun _nSetStrutStyle(ptr: Long, stylePtr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetTextStyle")
external fun _nGetTextStyle(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nSetTextStyle")
external fun _nSetTextStyle(ptr: Long, textStylePtr: 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 {
staticLoad()
......
......@@ -7,29 +7,68 @@ import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
class StrutStyle internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) {
companion object {
@JvmStatic external fun _nGetFinalizer(): Long
@JvmStatic external fun _nMake(): Long
@JvmStatic external fun _nEquals(ptr: Long, otherPtr: Long): Boolean
@JvmStatic external fun _nGetFontFamilies(ptr: Long): Array<String>
@JvmStatic external fun _nSetFontFamilies(ptr: Long, families: Array<String?>?)
@JvmStatic external fun _nGetFontStyle(ptr: Long): Int
@JvmStatic external fun _nSetFontStyle(ptr: Long, value: Int)
@JvmStatic external fun _nGetFontSize(ptr: Long): Float
@JvmStatic external fun _nSetFontSize(ptr: Long, value: Float)
@JvmStatic external fun _nGetHeight(ptr: Long): Float
@JvmStatic external fun _nSetHeight(ptr: Long, value: Float)
@JvmStatic external fun _nGetLeading(ptr: Long): Float
@JvmStatic external fun _nSetLeading(ptr: Long, value: Float)
@JvmStatic external fun _nIsEnabled(ptr: Long): Boolean
@JvmStatic external fun _nSetEnabled(ptr: Long, value: Boolean)
@JvmStatic external fun _nIsHeightForced(ptr: Long): Boolean
@JvmStatic external fun _nSetHeightForced(ptr: Long, value: Boolean)
@JvmStatic external fun _nIsHeightOverridden(ptr: Long): Boolean
@JvmStatic external fun _nSetHeightOverridden(ptr: Long, value: Boolean)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_StrutStyle__1nGetFinalizer")
external fun _nGetFinalizer(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_StrutStyle__1nMake")
external fun _nMake(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_StrutStyle__1nEquals")
external fun _nEquals(ptr: Long, otherPtr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_StrutStyle__1nGetFontFamilies")
external fun _nGetFontFamilies(ptr: Long): Array<String>
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_StrutStyle__1nSetFontFamilies")
external fun _nSetFontFamilies(ptr: Long, families: Array<String?>?)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_StrutStyle__1nGetFontStyle")
external fun _nGetFontStyle(ptr: Long): Int
@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 {
staticLoad()
......
......@@ -7,22 +7,47 @@ import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
class TextStyle internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) {
companion object {
@JvmStatic external fun _nGetFinalizer(): Long
@JvmStatic external fun _nMake(): Long
@JvmStatic external fun _nEquals(ptr: Long, otherPtr: Long): Boolean
@JvmStatic external fun _nAttributeEquals(ptr: Long, attribute: Int, otherPtr: Long): Boolean
@JvmStatic external fun _nGetColor(ptr: Long): Int
@JvmStatic external fun _nSetColor(ptr: Long, color: Int)
@JvmStatic external fun _nGetForeground(ptr: Long): Long
@JvmStatic external fun _nSetForeground(ptr: Long, paintPtr: Long)
@JvmStatic external fun _nGetBackground(ptr: Long): Long
@JvmStatic external fun _nSetBackground(ptr: Long, paintPtr: Long)
@JvmStatic external fun _nGetDecorationStyle(ptr: Long): DecorationStyle
@JvmStatic external fun _nSetDecorationStyle(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextStyle__1nGetFinalizer")
external fun _nGetFinalizer(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextStyle__1nMake")
external fun _nMake(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextStyle__1nEquals")
external fun _nEquals(ptr: Long, otherPtr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextStyle__1nAttributeEquals")
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,
underline: Boolean,
overline: Boolean,
......@@ -33,33 +58,87 @@ class TextStyle internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.
thicknessMultiplier: Float
)
@JvmStatic external fun _nGetFontStyle(ptr: Long): Int
@JvmStatic external fun _nSetFontStyle(ptr: Long, fontStyle: Int)
@JvmStatic external fun _nGetShadows(ptr: Long): Array<Shadow>
@JvmStatic external fun _nAddShadow(ptr: Long, color: Int, offsetX: Float, offsetY: Float, blurSigma: Double)
@JvmStatic external fun _nClearShadows(ptr: Long)
@JvmStatic external fun _nGetFontFeatures(ptr: Long): Array<FontFeature>
@JvmStatic external fun _nAddFontFeature(ptr: Long, name: String?, value: Int)
@JvmStatic external fun _nClearFontFeatures(ptr: Long)
@JvmStatic external fun _nGetFontSize(ptr: Long): Float
@JvmStatic external fun _nSetFontSize(ptr: Long, size: Float)
@JvmStatic external fun _nGetFontFamilies(ptr: Long): Array<String>
@JvmStatic external fun _nSetFontFamilies(ptr: Long, families: Array<String>?)
@JvmStatic external fun _nGetHeight(ptr: Long): Float?
@JvmStatic external fun _nSetHeight(ptr: Long, override: Boolean, height: Float)
@JvmStatic external fun _nGetLetterSpacing(ptr: Long): Float
@JvmStatic external fun _nSetLetterSpacing(ptr: Long, letterSpacing: Float)
@JvmStatic external fun _nGetWordSpacing(ptr: Long): Float
@JvmStatic external fun _nSetWordSpacing(ptr: Long, wordSpacing: Float)
@JvmStatic external fun _nGetTypeface(ptr: Long): Long
@JvmStatic external fun _nSetTypeface(ptr: Long, typefacePtr: Long)
@JvmStatic external fun _nGetLocale(ptr: Long): String
@JvmStatic external fun _nSetLocale(ptr: Long, locale: String?)
@JvmStatic external fun _nGetBaselineMode(ptr: Long): Int
@JvmStatic external fun _nSetBaselineMode(ptr: Long, mode: Int)
@JvmStatic external fun _nGetFontMetrics(ptr: Long): FontMetrics
@JvmStatic external fun _nIsPlaceholder(ptr: Long): Boolean
@JvmStatic external fun _nSetPlaceholder(ptr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextStyle__1nGetFontStyle")
external fun _nGetFontStyle(ptr: Long): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextStyle__1nSetFontStyle")
external fun _nSetFontStyle(ptr: Long, fontStyle: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextStyle__1nGetShadows")
external fun _nGetShadows(ptr: Long): Array<Shadow>
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextStyle__1nAddShadow")
external fun _nAddShadow(ptr: Long, color: Int, offsetX: Float, offsetY: Float, blurSigma: Double)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextStyle__1nClearShadows")
external fun _nClearShadows(ptr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextStyle__1nGetFontFeatures")
external fun _nGetFontFeatures(ptr: Long): Array<FontFeature>
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextStyle__1nAddFontFeature")
external fun _nAddFontFeature(ptr: Long, name: String?, value: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextStyle__1nClearFontFeatures")
external fun _nClearFontFeatures(ptr: Long)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextStyle__1nGetFontSize")
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 {
staticLoad()
......
......@@ -6,12 +6,17 @@ import org.jetbrains.skia.Typeface
import org.jetbrains.skia.FontMgr
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
class TypefaceFontProvider : FontMgr(_nMake()) {
companion object {
@JvmStatic external fun _nMake(): Long
@JvmStatic external fun _nRegisterTypeface(ptr: Long, typefacePtr: Long, alias: String?): Long
@JvmStatic
@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 {
staticLoad()
......
......@@ -6,6 +6,7 @@ import org.jetbrains.skia.*
import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
class FontMgrRunIterator(text: ManagedString?, manageText: Boolean, font: Font?, opts: ShapingOptions) :
......@@ -13,8 +14,12 @@ class FontMgrRunIterator(text: ManagedString?, manageText: Boolean, font: Font?,
_nMake(Native.getPtr(text), Native.getPtr(font), opts), text, manageText
) {
companion object {
@JvmStatic external fun _nMake(textPtr: Long, fontPtr: Long, opts: ShapingOptions?): Long
@JvmStatic external fun _nGetCurrentFont(ptr: Long): Long
@JvmStatic
@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 {
staticLoad()
......
......@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.ManagedString
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
class HbIcuScriptRunIterator(text: ManagedString?, manageText: Boolean) : ManagedRunIterator<ScriptRun?>(
......@@ -13,8 +14,12 @@ class HbIcuScriptRunIterator(text: ManagedString?, manageText: Boolean) : Manage
), text, manageText
) {
companion object {
@JvmStatic external fun _nMake(textPtr: Long): Long
@JvmStatic external fun _nGetCurrentScriptTag(ptr: Long): Int
@JvmStatic
@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 {
staticLoad()
......
......@@ -5,14 +5,19 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.ManagedString
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
class IcuBidiRunIterator(text: ManagedString?, manageText: Boolean, bidiLevel: Int) : ManagedRunIterator<BidiRun?>(
_nMake(getPtr(text), bidiLevel), text, manageText
) {
companion object {
@JvmStatic external fun _nMake(textPtr: Long, bidiLevel: Int): Long
@JvmStatic external fun _nGetCurrentLevel(ptr: Long): Int
@JvmStatic
@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 {
staticLoad()
......
......@@ -5,6 +5,7 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.ManagedString
import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
abstract class ManagedRunIterator<T> internal constructor(
......@@ -13,10 +14,18 @@ abstract class ManagedRunIterator<T> internal constructor(
manageText: Boolean
) : Managed(ptr, _FinalizerHolder.PTR), MutableIterator<T> {
companion object {
@JvmStatic external fun _nGetFinalizer(): Long
@JvmStatic external fun _nConsume(ptr: Long)
@JvmStatic external fun _nGetEndOfCurrentRun(ptr: Long, textPtr: Long): Int
@JvmStatic external fun _nIsAtEnd(ptr: Long): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ManagedRunIterator__1nGetFinalizer")
external fun _nGetFinalizer(): Long
@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 {
staticLoad()
......
......@@ -7,6 +7,7 @@ import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.impl.use
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
/**
......@@ -89,20 +90,28 @@ class Shaper internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR
}
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shaper__1nGetFinalizer")
external fun _nGetFinalizer(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shaper__1nMakePrimitive")
external fun _nMakePrimitive(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shaper__1nMakeShaperDrivenWrapper")
external fun _nMakeShaperDrivenWrapper(fontMgrPtr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shaper__1nMakeShapeThenWrap")
external fun _nMakeShapeThenWrap(fontMgrPtr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shaper__1nMakeShapeDontWrapOrReorder")
external fun _nMakeShapeDontWrapOrReorder(fontMgrPtr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shaper__1nMakeCoreText")
external fun _nMakeCoreText(): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shaper__1nMake")
external fun _nMake(fontMgrPtr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shaper__1nShapeBlob")
external fun _nShapeBlob(
ptr: Long,
text: String?,
......@@ -114,8 +123,10 @@ class Shaper internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR
): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shaper__1nShapeLine")
external fun _nShapeLine(ptr: Long, text: String?, fontPtr: Long, opts: ShapingOptions?): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shaper__1nShape")
external fun _nShape(
ptr: Long,
textPtr: Long,
......
......@@ -6,6 +6,7 @@ import org.jetbrains.skia.*
import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
class TextBlobBuilderRunHandler<T> internal constructor(
......@@ -17,9 +18,15 @@ class TextBlobBuilderRunHandler<T> internal constructor(
_nMake(getPtr(text), offsetX, offsetY), _FinalizerHolder.PTR
), RunHandler {
companion object {
@JvmStatic external fun _nGetFinalizer(): Long
@JvmStatic external fun _nMake(textPtr: Long, offsetX: Float, offsetY: Float): Long
@JvmStatic external fun _nMakeBlob(ptr: Long): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlobBuilderRunHandler__1nGetFinalizer")
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 {
staticLoad()
......
......@@ -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 {
jmethodID _getFlags;
jmethodID _getPixelGeometryOrdinal;
......@@ -972,18 +958,6 @@ jobject javaFloat(JNIEnv* env, SkScalar 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 res = env->NewByteArray((jsize) bytes.size());
env->SetByteArrayRegion(res, 0, (jsize) bytes.size(), bytes.data());
......@@ -1042,45 +1016,3 @@ void deleteJBytes(void* addr, void*) {
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 @@
#include "SkShaper.h"
#include "SkString.h"
#include "SkSurfaceProps.h"
#include "common.h"
namespace java {
namespace io {
......@@ -288,10 +289,6 @@ namespace skija {
void onUnload(JNIEnv* env);
}
namespace SamplingMode {
SkSamplingOptions unpack(jlong val);
}
namespace SurfaceProps {
extern jmethodID _getFlags;
extern jmethodID _getPixelGeometryOrdinal;
......@@ -310,20 +307,6 @@ namespace skija {
void onLoad(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);
......@@ -350,12 +333,3 @@ jobjectArray javaStringArray(JNIEnv* env, const std::vector<SkString>& strings);
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 @@
#include "SkShaper.h"
#include "unicode/ubrk.h"
#include "unicode/utext.h"
#include "common.h"
namespace skija {
namespace shaper {
......
#include <iostream>
#include <stdint.h>
#include "GrBackendSurface.h"
typedef jint int32_t;
typedef jlong int64_t;
#include "common.h"
static void deleteBackendRenderTarget(GrBackendRenderTarget* 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 file has been auto generated.
#include "unicode/ubrk.h"
#include "common.h"
static void deleteBreakIterator(UBreakIterator* instance) {
ubrk_close(instance);
}
extern "C" jlong org_jetbrains_skia_BreakIterator__1nGetFinalizer(kref __Kinstance) {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(&deleteBreakIterator));
}
extern "C" jlong org_jetbrains_skia_BreakIterator__1nMake
(kref __Kinstance, jint type, jstring localeStr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_BreakIterator__1nMake");
}
#if 0
extern "C" jlong org_jetbrains_skia_BreakIterator__1nMake
(kref __Kinstance, jint type, jstring localeStr) {
UErrorCode status = U_ZERO_ERROR;
UBreakIterator* instance;
if (localeStr == nullptr)
instance = ubrk_open(static_cast<UBreakIteratorType>(type), uloc_getDefault(), nullptr, 0, &status);
else {
SkString locale = skString(env, localeStr);
instance = ubrk_open(static_cast<UBreakIteratorType>(type), locale.c_str(), nullptr, 0, &status);
}
if (U_FAILURE(status)) {
env->ThrowNew(java::lang::RuntimeException::cls, u_errorName(status));
return 0;
} else
return reinterpret_cast<jlong>(instance);
}
#endif
extern "C" jint org_jetbrains_skia_BreakIterator__1nClone
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_BreakIterator__1nClone");
}
#if 0
extern "C" jint org_jetbrains_skia_BreakIterator__1nClone
(kref __Kinstance, jlong ptr) {
UBreakIterator* instance = reinterpret_cast<UBreakIterator*>(static_cast<uintptr_t>(ptr));
UErrorCode status = U_ZERO_ERROR;
UBreakIterator* clone = ubrk_safeClone(instance, nullptr, 0, &status);
if (U_FAILURE(status)) {
env->ThrowNew(java::lang::RuntimeException::cls, u_errorName(status));
return 0;
} else
return reinterpret_cast<jlong>(clone);
}
#endif
extern "C" jint org_jetbrains_skia_BreakIterator__1nCurrent
(kref __Kinstance, jlong ptr) {
UBreakIterator* instance = reinterpret_cast<UBreakIterator*>(static_cast<uintptr_t>(ptr));
return ubrk_current(instance);
}
extern "C" jint org_jetbrains_skia_BreakIterator__1nNext
(kref __Kinstance, jlong ptr) {
UBreakIterator* instance = reinterpret_cast<UBreakIterator*>(static_cast<uintptr_t>(ptr));
return ubrk_next(instance);
}
extern "C" jint org_jetbrains_skia_BreakIterator__1nPrevious
(kref __Kinstance, jlong ptr) {
UBreakIterator* instance = reinterpret_cast<UBreakIterator*>(static_cast<uintptr_t>(ptr));
return ubrk_previous(instance);
}
extern "C" jint org_jetbrains_skia_BreakIterator__1nFirst
(kref __Kinstance, jlong ptr) {
UBreakIterator* instance = reinterpret_cast<UBreakIterator*>(static_cast<uintptr_t>(ptr));
return ubrk_first(instance);
}
extern "C" jint org_jetbrains_skia_BreakIterator__1nLast
(kref __Kinstance, jlong ptr) {
UBreakIterator* instance = reinterpret_cast<UBreakIterator*>(static_cast<uintptr_t>(ptr));
return ubrk_last(instance);
}
extern "C" jint org_jetbrains_skia_BreakIterator__1nPreceding
(kref __Kinstance, jlong ptr, jint offset) {
UBreakIterator* instance = reinterpret_cast<UBreakIterator*>(static_cast<uintptr_t>(ptr));
return ubrk_preceding(instance, offset);
}
extern "C" jint org_jetbrains_skia_BreakIterator__1nFollowing
(kref __Kinstance, jlong ptr, jint offset) {
UBreakIterator* instance = reinterpret_cast<UBreakIterator*>(static_cast<uintptr_t>(ptr));
return ubrk_following(instance, offset);
}
extern "C" jboolean org_jetbrains_skia_BreakIterator__1nIsBoundary
(kref __Kinstance, jlong ptr, jint offset) {
UBreakIterator* instance = reinterpret_cast<UBreakIterator*>(static_cast<uintptr_t>(ptr));
return ubrk_isBoundary(instance, offset);
}
extern "C" jint org_jetbrains_skia_BreakIterator__1nGetRuleStatus
(kref __Kinstance, jlong ptr) {
UBreakIterator* instance = reinterpret_cast<UBreakIterator*>(static_cast<uintptr_t>(ptr));
return ubrk_getRuleStatus(instance);
}
extern "C" jintArray org_jetbrains_skia_BreakIterator__1nGetRuleStatuses
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_BreakIterator__1nGetRuleStatuses");
}
#if 0
extern "C" jintArray org_jetbrains_skia_BreakIterator__1nGetRuleStatuses
(kref __Kinstance, jlong ptr) {
UBreakIterator* instance = reinterpret_cast<UBreakIterator*>(static_cast<uintptr_t>(ptr));
UErrorCode status = U_ZERO_ERROR;
int32_t len = ubrk_getRuleStatusVec(instance, nullptr, 0, &status);
if (U_FAILURE(status))
env->ThrowNew(java::lang::RuntimeException::cls, u_errorName(status));
std::vector<jint> vec(len);
ubrk_getRuleStatusVec(instance, reinterpret_cast<int32_t*>(vec.data()), len, &status);
if (U_FAILURE(status))
env->ThrowNew(java::lang::RuntimeException::cls, u_errorName(status));
return javaIntArray(env, vec);
}
#endif
extern "C" void org_jetbrains_skia_BreakIterator__1nSetText
(kref __Kinstance, jlong ptr, jlong textPtr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_BreakIterator__1nSetText");
}
#if 0
extern "C" void org_jetbrains_skia_BreakIterator__1nSetText
(kref __Kinstance, jlong ptr, jlong textPtr) {
UBreakIterator* instance = reinterpret_cast<UBreakIterator*>(static_cast<uintptr_t>(ptr));
std::vector<jchar>* text = reinterpret_cast<std::vector<jchar>*>(static_cast<uintptr_t>(textPtr));
UErrorCode status = U_ZERO_ERROR;
ubrk_setText(instance, reinterpret_cast<UChar *>(text->data()), text->size(), &status);
if (U_FAILURE(status))
env->ThrowNew(java::lang::RuntimeException::cls, u_errorName(status));
}
#endif
// This file has been auto generated.
#include <iostream>
#include "SkCanvas.h"
#include "SkRRect.h"
#include "SkTextBlob.h"
#include "SkVertices.h"
#include "hb.h"
#include "common.h"
static void deleteCanvas(SkCanvas* canvas) {
// std::cout << "Deleting [SkCanvas " << canvas << "]" << std::endl;
delete canvas;
}
extern "C" jlong org_jetbrains_skia_Canvas__1nGetFinalizer(kref __Kinstance) {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(&deleteCanvas));
}
extern "C" jlong org_jetbrains_skia_Canvas__1nMakeFromBitmap
(kref __Kinstance, jlong bitmapPtr, jint flags, jint pixelGeometry) {
SkBitmap* bitmap = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(bitmapPtr));
SkCanvas* canvas = new SkCanvas(*bitmap, {static_cast<uint32_t>(flags), static_cast<SkPixelGeometry>(pixelGeometry)});
return reinterpret_cast<jlong>(canvas);
}
extern "C" void org_jetbrains_skia_Canvas__1nDrawPoint
(kref __Kinstance, jlong canvasPtr, jfloat x, jfloat y, jlong paintPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr));
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr));
canvas->drawPoint(x, y, *paint);
}
extern "C" void org_jetbrains_skia_Canvas__1nDrawPoints
(kref __Kinstance, jlong canvasPtr, int mode, jfloatArray coords, jlong paintPtr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Canvas__1nDrawPoints");
}
#if 0
extern "C" void org_jetbrains_skia_Canvas__1nDrawPoints
(kref __Kinstance, jlong canvasPtr, int mode, jfloatArray coords, jlong paintPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr));
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr));
SkCanvas::PointMode skMode = static_cast<SkCanvas::PointMode>(mode);
jsize len = env->GetArrayLength(coords);
jfloat* arr = static_cast<jfloat*>(env->GetPrimitiveArrayCritical(coords, 0));
canvas->drawPoints(skMode, len / 2, reinterpret_cast<SkPoint*>(arr), *paint);
env->ReleasePrimitiveArrayCritical(coords, arr, 0);
}
#endif
extern "C" void org_jetbrains_skia_Canvas__1nDrawLine
(kref __Kinstance, jlong canvasPtr, jfloat x0, jfloat y0, jfloat x1, jfloat y1, jlong paintPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr));
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr));
canvas->drawLine(x0, y0, x1, y1, *paint);
}
extern "C" void org_jetbrains_skia_Canvas__1nDrawArc
(kref __Kinstance, jlong canvasPtr, jfloat left, jfloat top, jfloat right, jfloat bottom, jfloat startAngle, jfloat sweepAngle, jboolean includeCenter, jlong paintPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr));
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr));
canvas->drawArc({left, top, right, bottom}, startAngle, sweepAngle, includeCenter, *paint);
}
extern "C" void org_jetbrains_skia_Canvas__1nDrawRect
(kref __Kinstance, jlong canvasPtr, jfloat left, jfloat top, jfloat right, jfloat bottom, jlong paintPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr));
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr));
canvas->drawRect({left, top, right, bottom}, *paint);
}
extern "C" void org_jetbrains_skia_Canvas__1nDrawOval
(kref __Kinstance, jlong canvasPtr, jfloat left, jfloat top, jfloat right, jfloat bottom, jlong paintPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr));
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr));
canvas->drawOval({left, top, right, bottom}, *paint);
}
extern "C" void org_jetbrains_skia_Canvas__1nDrawRRect
(kref __Kinstance, jlong canvasPtr, jfloat left, jfloat top, jfloat right, jfloat bottom, jfloatArray jradii, jlong paintPtr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Canvas__1nDrawRRect");
}
#if 0
extern "C" void org_jetbrains_skia_Canvas__1nDrawRRect
(kref __Kinstance, jlong canvasPtr, jfloat left, jfloat top, jfloat right, jfloat bottom, jfloatArray jradii, jlong paintPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr));
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr));
canvas->drawRRect(skija::RRect::toSkRRect(env, left, top, right, bottom, jradii), *paint);
}
#endif
extern "C" void org_jetbrains_skia_Canvas__1nDrawDRRect
(kref __Kinstance, jlong canvasPtr,
jfloat ol, jfloat ot, jfloat oright, jfloat ob, jfloatArray ojradii,
jfloat il, jfloat it, jfloat ir, jfloat ib, jfloatArray ijradii,
jlong paintPtr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Canvas__1nDrawDRRect");
}
#if 0
extern "C" void org_jetbrains_skia_Canvas__1nDrawDRRect
(kref __Kinstance, jlong canvasPtr,
jfloat ol, jfloat ot, jfloat oright, jfloat ob, jfloatArray ojradii,
jfloat il, jfloat it, jfloat ir, jfloat ib, jfloatArray ijradii,
jlong paintPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr));
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr));
canvas->drawDRRect(skija::RRect::toSkRRect(env, ol, ot, oright, ob, ojradii),
skija::RRect::toSkRRect(env, il, it, ir, ib, ijradii), *paint);
}
#endif
extern "C" void org_jetbrains_skia_Canvas__1nDrawPath
(kref __Kinstance, jlong canvasPtr, jlong pathPtr, jlong paintPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr));
SkPath* path = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(pathPtr));
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr));
canvas->drawPath(*path, *paint);
}
extern "C" void org_jetbrains_skia_Canvas__1nDrawImageRect
(kref __Kinstance, jlong canvasPtr, jlong imagePtr, jfloat sl, jfloat st, jfloat sr, jfloat sb, jfloat dl, jfloat dt, jfloat dr, jfloat db, jlong samplingMode, jlong paintPtr, jboolean strict) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr));
SkImage* image = reinterpret_cast<SkImage*>(static_cast<uintptr_t>(imagePtr));
SkRect src {sl, st, sr, sb};
SkRect dst {dl, dt, dr, db};
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr));
SkCanvas::SrcRectConstraint constraint = strict ? SkCanvas::SrcRectConstraint::kStrict_SrcRectConstraint : SkCanvas::SrcRectConstraint::kFast_SrcRectConstraint;
canvas->drawImageRect(image, src, dst, skija::SamplingMode::unpack(samplingMode), paint, constraint);
}
extern "C" void org_jetbrains_skia_Canvas__1nDrawImageNine
(kref __Kinstance, jlong canvasPtr, jlong imagePtr, jint cl, jint ct, jint cr, jint cb, jfloat dl, jfloat dt, jfloat dr, jfloat db, jint filterMode, jlong paintPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr));
SkImage* image = reinterpret_cast<SkImage*>(static_cast<uintptr_t>(imagePtr));
SkIRect center {cl, ct, cr, cb};
SkRect dst {dl, dt, dr, db};
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr));
canvas->drawImageNine(image, center, dst, static_cast<SkFilterMode>(filterMode), paint);
}
extern "C" void org_jetbrains_skia_Canvas__1nDrawRegion
(kref __Kinstance, jlong canvasPtr, jlong regionPtr, jlong paintPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr));
SkRegion* region = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(regionPtr));
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr));
canvas->drawRegion(*region, *paint);
}
extern "C" void org_jetbrains_skia_Canvas__1nDrawString
(kref __Kinstance, jlong canvasPtr, jstring stringObj, jfloat x, jfloat y, jlong skFontPtr, jlong paintPtr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Canvas__1nDrawString");
}
#if 0
extern "C" void org_jetbrains_skia_Canvas__1nDrawString
(kref __Kinstance, jlong canvasPtr, jstring stringObj, jfloat x, jfloat y, jlong skFontPtr, jlong paintPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*> (static_cast<uintptr_t>(canvasPtr));
SkString string = skString(env, stringObj);
SkFont* font = reinterpret_cast<SkFont*> (static_cast<uintptr_t>(skFontPtr));
SkPaint* paint = reinterpret_cast<SkPaint*> (static_cast<uintptr_t>(paintPtr));
canvas->drawString(string, x, y, *font, *paint);
}
#endif
extern "C" void org_jetbrains_skia_Canvas__1nDrawTextBlob
(kref __Kinstance, jlong canvasPtr, jlong blobPtr, jfloat x, jfloat y, jlong paintPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*> (static_cast<uintptr_t>(canvasPtr));
SkTextBlob* blob = reinterpret_cast<SkTextBlob*>(static_cast<uintptr_t>(blobPtr));
SkPaint* paint = reinterpret_cast<SkPaint*> (static_cast<uintptr_t>(paintPtr));
canvas->drawTextBlob(blob, x, y, *paint);
}
extern "C" void org_jetbrains_skia_Canvas__1nDrawPicture
(kref __Kinstance, jlong ptr, jlong picturePtr, jfloatArray matrixArr, jlong paintPtr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Canvas__1nDrawPicture");
}
#if 0
extern "C" void org_jetbrains_skia_Canvas__1nDrawPicture
(kref __Kinstance, jlong ptr, jlong picturePtr, jfloatArray matrixArr, jlong paintPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*> (static_cast<uintptr_t>(ptr));
SkPicture* picture = reinterpret_cast<SkPicture*>(static_cast<uintptr_t>(picturePtr));
std::unique_ptr<SkMatrix> matrix = skMatrix(env, matrixArr);
SkPaint* paint = reinterpret_cast<SkPaint*> (static_cast<uintptr_t>(paintPtr));
canvas->drawPicture(picture, matrix.get(), paint);
}
#endif
extern "C" void org_jetbrains_skia_Canvas__1nDrawVertices
(kref __Kinstance, jlong ptr, jint verticesMode, jfloatArray positionsArr, jintArray colorsArr, jfloatArray texCoordsArr, jshortArray indexArr, jint blendMode, jlong paintPtr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Canvas__1nDrawVertices");
}
#if 0
extern "C" void org_jetbrains_skia_Canvas__1nDrawVertices
(kref __Kinstance, jlong ptr, jint verticesMode, jfloatArray positionsArr, jintArray colorsArr, jfloatArray texCoordsArr, jshortArray indexArr, jint blendMode, jlong paintPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*> (static_cast<uintptr_t>(ptr));
int indexCount = indexArr == nullptr ? 0 : env->GetArrayLength(indexArr);
jfloat* positions = env->GetFloatArrayElements(positionsArr, 0);
jint* colors = colorsArr == nullptr ? nullptr : env->GetIntArrayElements(colorsArr, 0);
jfloat* texCoords = texCoordsArr == nullptr ? nullptr : env->GetFloatArrayElements(texCoordsArr, 0);
const jshort* indices = indexArr == nullptr ? nullptr : env->GetShortArrayElements(indexArr, 0);
sk_sp<SkVertices> vertices = SkVertices::MakeCopy(
static_cast<SkVertices::VertexMode>(verticesMode),
env->GetArrayLength(positionsArr) / 2,
reinterpret_cast<SkPoint*>(positions),
reinterpret_cast<SkPoint*>(texCoords),
reinterpret_cast<SkColor*>(colors),
indexCount,
reinterpret_cast<const uint16_t *>(indices));
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr));
canvas->drawVertices(vertices, static_cast<SkBlendMode>(blendMode), *paint);
if (texCoords != nullptr)
env->ReleaseFloatArrayElements(texCoordsArr, texCoords, 0);
if (colors != nullptr)
env->ReleaseIntArrayElements(colorsArr, colors, 0);
env->ReleaseFloatArrayElements(positionsArr, positions, 0);
}
#endif
extern "C" void org_jetbrains_skia_Canvas__1nDrawPatch
(kref __Kinstance, jlong ptr, jfloatArray cubicsArr, jintArray colorsArr, jfloatArray texCoordsArr, jint blendMode, jlong paintPtr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Canvas__1nDrawPatch");
}
#if 0
extern "C" void org_jetbrains_skia_Canvas__1nDrawPatch
(kref __Kinstance, jlong ptr, jfloatArray cubicsArr, jintArray colorsArr, jfloatArray texCoordsArr, jint blendMode, jlong paintPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*> (static_cast<uintptr_t>(ptr));
jfloat* cubics = env->GetFloatArrayElements(cubicsArr, 0);
jint* colors = env->GetIntArrayElements(colorsArr, 0);
jfloat* texCoords = texCoordsArr == nullptr ? nullptr : env->GetFloatArrayElements(texCoordsArr, 0);
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr));
canvas->drawPatch(reinterpret_cast<SkPoint*>(cubics), reinterpret_cast<SkColor*>(colors), reinterpret_cast<SkPoint*>(texCoords), static_cast<SkBlendMode>(blendMode), *paint);
if (texCoords != nullptr)
env->ReleaseFloatArrayElements(texCoordsArr, texCoords, 0);
env->ReleaseIntArrayElements(colorsArr, colors, 0);
env->ReleaseFloatArrayElements(cubicsArr, cubics, 0);
}
#endif
extern "C" void org_jetbrains_skia_Canvas__1nDrawDrawable
(kref __Kinstance, jlong ptr, jlong drawablePtr, jfloatArray matrixArr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Canvas__1nDrawDrawable");
}
#if 0
extern "C" void org_jetbrains_skia_Canvas__1nDrawDrawable
(kref __Kinstance, jlong ptr, jlong drawablePtr, jfloatArray matrixArr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(ptr));
SkDrawable* drawable = reinterpret_cast<SkDrawable*>(static_cast<uintptr_t>(drawablePtr));
std::unique_ptr<SkMatrix> matrix = skMatrix(env, matrixArr);
canvas->drawDrawable(drawable, matrix.get());
}
#endif
extern "C" void org_jetbrains_skia_Canvas__1nClear(kref __Kinstance, jlong ptr, jint color) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(ptr));
canvas->clear(color);
}
extern "C" void org_jetbrains_skia_Canvas__1nDrawPaint
(kref __Kinstance, jlong canvasPtr, jlong paintPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr));
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr));
canvas->drawPaint(*paint);
}
extern "C" void org_jetbrains_skia_Canvas__1nSetMatrix
(kref __Kinstance, jlong canvasPtr, jfloatArray matrixArr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Canvas__1nSetMatrix");
}
#if 0
extern "C" void org_jetbrains_skia_Canvas__1nSetMatrix
(kref __Kinstance, jlong canvasPtr, jfloatArray matrixArr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr));
std::unique_ptr<SkMatrix> matrix = skMatrix(env, matrixArr);
canvas->setMatrix(*matrix);
}
#endif
extern "C" void org_jetbrains_skia_Canvas__1nResetMatrix
(kref __Kinstance, jlong canvasPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr));
canvas->resetMatrix();
}
extern "C" jobject org_jetbrains_skia_Canvas__1nGetLocalToDevice
(kref __Kinstance, jlong canvasPtr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Canvas__1nGetLocalToDevice");
}
#if 0
extern "C" jobject org_jetbrains_skia_Canvas__1nGetLocalToDevice
(kref __Kinstance, jlong canvasPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr));
SkM44 matrix = canvas->getLocalToDevice();
std::vector<float> floats(16);
matrix.getRowMajor(floats.data());
return javaFloatArray(env, floats);
}
#endif
extern "C" void org_jetbrains_skia_Canvas__1nClipRect
(kref __Kinstance, jlong canvasPtr, jfloat left, jfloat top, jfloat right, jfloat bottom, jint mode, jboolean antiAlias) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr));
canvas->clipRect({left, top, right, bottom}, static_cast<SkClipOp>(mode), antiAlias);
}
extern "C" void org_jetbrains_skia_Canvas__1nClipRRect
(kref __Kinstance, jlong canvasPtr, jfloat left, jfloat top, jfloat right, jfloat bottom, jfloatArray jradii, jint mode, jboolean antiAlias) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Canvas__1nClipRRect");
}
#if 0
extern "C" void org_jetbrains_skia_Canvas__1nClipRRect
(kref __Kinstance, jlong canvasPtr, jfloat left, jfloat top, jfloat right, jfloat bottom, jfloatArray jradii, jint mode, jboolean antiAlias) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr));
canvas->clipRRect(skija::RRect::toSkRRect(env, left, top, right, bottom, jradii), static_cast<SkClipOp>(mode), antiAlias);
}
#endif
extern "C" void org_jetbrains_skia_Canvas__1nClipPath
(kref __Kinstance, jlong canvasPtr, jlong pathPtr, jint mode, jboolean antiAlias) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr));
SkPath* path = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(pathPtr));
canvas->clipPath(*path, static_cast<SkClipOp>(mode), antiAlias);
}
extern "C" void org_jetbrains_skia_Canvas__1nClipRegion
(kref __Kinstance, jlong canvasPtr, jlong regionPtr, jint mode) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr));
SkRegion* region = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(regionPtr));
canvas->clipRegion(*region, static_cast<SkClipOp>(mode));
}
extern "C" void org_jetbrains_skia_Canvas__1nConcat
(kref __Kinstance, jlong ptr, jfloatArray matrixArr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Canvas__1nConcat");
}
#if 0
extern "C" void org_jetbrains_skia_Canvas__1nConcat
(kref __Kinstance, jlong ptr, jfloatArray matrixArr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(ptr));
std::unique_ptr<SkMatrix> m = skMatrix(env, matrixArr);
canvas->concat(*m);
}
#endif
extern "C" void org_jetbrains_skia_Canvas__1nConcat44
(kref __Kinstance, jlong ptr, jfloatArray matrixArr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Canvas__1nConcat44");
}
#if 0
extern "C" void org_jetbrains_skia_Canvas__1nConcat44
(kref __Kinstance, jlong ptr, jfloatArray matrixArr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(ptr));
std::unique_ptr<SkM44> m = skM44(env, matrixArr);
canvas->concat(*m);
}
#endif
extern "C" jint org_jetbrains_skia_Canvas__1nReadPixels
(kref __Kinstance, jlong ptr, jlong bitmapPtr, jint srcX, jint srcY) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(ptr));
SkBitmap* bitmap = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(bitmapPtr));
return canvas->readPixels(*bitmap, srcX, srcY);
}
extern "C" jint org_jetbrains_skia_Canvas__1nWritePixels
(kref __Kinstance, jlong ptr, jlong bitmapPtr, jint x, jint y) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(ptr));
SkBitmap* bitmap = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(bitmapPtr));
return canvas->writePixels(*bitmap, x, y);
}
extern "C" jint org_jetbrains_skia_Canvas__1nSave(kref __Kinstance, jlong ptr) {
return reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(ptr))->save();
}
extern "C" jint org_jetbrains_skia_Canvas__1nSaveLayer
(kref __Kinstance, jlong ptr, jlong paintPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(ptr));
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr));
return canvas->saveLayer(nullptr, paint);
}
extern "C" jint org_jetbrains_skia_Canvas__1nSaveLayerRect
(kref __Kinstance, jlong ptr, jfloat left, jfloat top, jfloat right, jfloat bottom, jlong paintPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(ptr));
SkRect bounds {left, top, right, bottom};
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr));
return canvas->saveLayer(&bounds, paint);
}
extern "C" jint org_jetbrains_skia_Canvas__1nGetSaveCount(kref __Kinstance, jlong ptr) {
return reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(ptr))->getSaveCount();
}
extern "C" void org_jetbrains_skia_Canvas__1nRestore(kref __Kinstance, jlong ptr) {
reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(ptr))->restore();
}
extern "C" void org_jetbrains_skia_Canvas__1nRestoreToCount(kref __Kinstance, jlong ptr, jint saveCount) {
reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(ptr))->restoreToCount(saveCount);
}
// 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 file has been auto generated.
#include <iostream>
#include "SkColorFilter.h"
#include "SkColorMatrixFilter.h"
#include "SkHighContrastFilter.h"
#include "SkLumaColorFilter.h"
#include "SkOverdrawColorFilter.h"
#include "SkTableColorFilter.h"
#include "common.h"
extern "C" jlong org_jetbrains_skia_ColorFilter__1nMakeComposed
(kref __Kinstance, jlong outerPtr, jlong innerPtr) {
SkColorFilter* outer = reinterpret_cast<SkColorFilter*>(static_cast<uintptr_t>(outerPtr));
SkColorFilter* inner = reinterpret_cast<SkColorFilter*>(static_cast<uintptr_t>(innerPtr));
SkColorFilter* ptr = SkColorFilters::Compose(sk_ref_sp(outer), sk_ref_sp(inner)).release();
return reinterpret_cast<jlong>(ptr);
}
extern "C" jlong org_jetbrains_skia_ColorFilter__1nMakeBlend
(kref __Kinstance, jint colorInt, jint modeInt) {
SkColor color = static_cast<SkColor>(colorInt);
SkBlendMode mode = static_cast<SkBlendMode>(modeInt);
SkColorFilter* ptr = SkColorFilters::Blend(color, mode).release();
return reinterpret_cast<jlong>(ptr);
}
extern "C" jlong org_jetbrains_skia_ColorFilter__1nMakeMatrix
(kref __Kinstance, jfloatArray rowMajorArray) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_ColorFilter__1nMakeMatrix");
}
#if 0
extern "C" jlong org_jetbrains_skia_ColorFilter__1nMakeMatrix
(kref __Kinstance, jfloatArray rowMajorArray) {
jfloat* rowMajor = env->GetFloatArrayElements(rowMajorArray, 0);
SkColorFilter* ptr = SkColorFilters::Matrix(rowMajor).release();
env->ReleaseFloatArrayElements(rowMajorArray, rowMajor, 0);
return reinterpret_cast<jlong>(ptr);
}
#endif
extern "C" jlong org_jetbrains_skia_ColorFilter__1nMakeHSLAMatrix
(kref __Kinstance, jfloatArray rowMajorArray) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_ColorFilter__1nMakeHSLAMatrix");
}
#if 0
extern "C" jlong org_jetbrains_skia_ColorFilter__1nMakeHSLAMatrix
(kref __Kinstance, jfloatArray rowMajorArray) {
jfloat* rowMajor = env->GetFloatArrayElements(rowMajorArray, 0);
SkColorFilter* ptr = SkColorFilters::HSLAMatrix(rowMajor).release();
env->ReleaseFloatArrayElements(rowMajorArray, rowMajor, 0);
return reinterpret_cast<jlong>(ptr);
}
#endif
extern "C" jlong org_jetbrains_skia_ColorFilter__1nGetLinearToSRGBGamma
(kref __Kinstance) {
SkColorFilter* ptr = SkColorFilters::LinearToSRGBGamma().release();
return reinterpret_cast<jlong>(ptr);
}
extern "C" jlong org_jetbrains_skia_ColorFilter__1nGetSRGBToLinearGamma
(kref __Kinstance) {
SkColorFilter* ptr = SkColorFilters::SRGBToLinearGamma().release();
return reinterpret_cast<jlong>(ptr);
}
extern "C" jlong org_jetbrains_skia_ColorFilter__1nMakeLerp
(kref __Kinstance, jfloat t, jlong dstPtr, jlong srcPtr) {
SkColorFilter* dst = reinterpret_cast<SkColorFilter*>(static_cast<uintptr_t>(dstPtr));
SkColorFilter* src = reinterpret_cast<SkColorFilter*>(static_cast<uintptr_t>(srcPtr));
SkColorFilter* ptr = SkColorFilters::Lerp(t, sk_ref_sp(dst), sk_ref_sp(src)).release();
return reinterpret_cast<jlong>(ptr);
}
extern "C" jlong org_jetbrains_skia_ColorFilter__1nMakeLighting
(kref __Kinstance, jint mul, jint add) {
SkColorFilter* ptr = SkColorMatrixFilter::MakeLightingFilter(mul, add).release();
return reinterpret_cast<jlong>(ptr);
}
extern "C" jlong org_jetbrains_skia_ColorFilter__1nMakeHighContrast
(kref __Kinstance, jboolean grayscale, jint inverionModeInt, jfloat contrast) {
SkHighContrastConfig config(grayscale, static_cast<SkHighContrastConfig::InvertStyle>(inverionModeInt), contrast);
SkColorFilter* ptr = SkHighContrastFilter::Make(config).release();
return reinterpret_cast<jlong>(ptr);
}
extern "C" jlong org_jetbrains_skia_ColorFilter__1nMakeTable
(kref __Kinstance, jbyteArray tableArray) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_ColorFilter__1nMakeTable");
}
#if 0
extern "C" jlong org_jetbrains_skia_ColorFilter__1nMakeTable
(kref __Kinstance, jbyteArray tableArray) {
jbyte* table = env->GetByteArrayElements(tableArray, 0);
SkColorFilter* ptr = SkTableColorFilter::Make(reinterpret_cast<uint8_t*>(table)).release();
env->ReleaseByteArrayElements(tableArray, table, 0);
return reinterpret_cast<jlong>(ptr);
}
#endif
extern "C" jlong org_jetbrains_skia_ColorFilter__1nMakeTableARGB
(kref __Kinstance, jbyteArray arrayA, jbyteArray arrayR, jbyteArray arrayG, jbyteArray arrayB) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_ColorFilter__1nMakeTableARGB");
}
#if 0
extern "C" jlong org_jetbrains_skia_ColorFilter__1nMakeTableARGB
(kref __Kinstance, jbyteArray arrayA, jbyteArray arrayR, jbyteArray arrayG, jbyteArray arrayB) {
jbyte* a = arrayA ? env->GetByteArrayElements(arrayA, 0) : nullptr;
jbyte* r = arrayR ? env->GetByteArrayElements(arrayR, 0) : nullptr;
jbyte* g = arrayG ? env->GetByteArrayElements(arrayG, 0) : nullptr;
jbyte* b = arrayB ? env->GetByteArrayElements(arrayB, 0) : nullptr;
SkColorFilter* ptr = SkTableColorFilter::MakeARGB(reinterpret_cast<uint8_t*>(a), reinterpret_cast<uint8_t*>(r), reinterpret_cast<uint8_t*>(g), reinterpret_cast<uint8_t*>(b)).release();
if (arrayA) env->ReleaseByteArrayElements(arrayA, a, 0);
if (arrayR) env->ReleaseByteArrayElements(arrayR, r, 0);
if (arrayG) env->ReleaseByteArrayElements(arrayG, g, 0);
if (arrayB) env->ReleaseByteArrayElements(arrayB, b, 0);
return reinterpret_cast<jlong>(ptr);
}
#endif
extern "C" jlong org_jetbrains_skia_ColorFilter__1nMakeOverdraw
(kref __Kinstance, jint c0, jint c1, jint c2, jint c3, jint c4, jint c5) {
SkColor colors[6];
colors[0] = c0;
colors[1] = c1;
colors[2] = c2;
colors[3] = c3;
colors[4] = c4;
colors[5] = c5;
SkColorFilter* ptr = SkOverdrawColorFilter::MakeWithSkColors(colors).release();
return reinterpret_cast<jlong>(ptr);
}
extern "C" jlong org_jetbrains_skia_ColorFilter__1nGetLuma
(kref __Kinstance) {
SkColorFilter* ptr = SkLumaColorFilter::Make().release();
return reinterpret_cast<jlong>(ptr);
}
// This file has been auto generated.
#include <iostream>
#include "SkColorSpace.h"
#include "common.h"
static void unrefColorSpace(SkColorSpace* ptr) {
// std::cout << "Deleting [SkColorSpace " << ptr << "]" << std::endl;
ptr->unref();
}
extern "C" jlong org_jetbrains_skia_ColorSpace__1nGetFinalizer(kref __Kinstance) {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(&unrefColorSpace));
}
extern "C" jlong org_jetbrains_skia_ColorSpace__1nMakeSRGB(kref __Kinstance) {
SkColorSpace* ptr = SkColorSpace::MakeSRGB().release();
return reinterpret_cast<jlong>(ptr);
}
extern "C" jlong org_jetbrains_skia_ColorSpace__1nMakeSRGBLinear(kref __Kinstance) {
SkColorSpace* ptr = SkColorSpace::MakeSRGBLinear().release();
return reinterpret_cast<jlong>(ptr);
}
extern "C" jlong org_jetbrains_skia_ColorSpace__1nMakeDisplayP3(kref __Kinstance) {
SkColorSpace* ptr = SkColorSpace::MakeRGB(SkNamedTransferFn::kSRGB, SkNamedGamut::kDisplayP3).release();
return reinterpret_cast<jlong>(ptr);
}
extern "C" jfloatArray org_jetbrains_skia_ColorSpace__1nConvert
(kref __Kinstance, jlong fromPtr, jlong toPtr, float r, float g, float b, float a) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_ColorSpace__1nConvert");
}
#if 0
extern "C" jfloatArray org_jetbrains_skia_ColorSpace__1nConvert
(kref __Kinstance, jlong fromPtr, jlong toPtr, float r, float g, float b, float a) {
SkColorSpace* from = reinterpret_cast<SkColorSpace*>(static_cast<uintptr_t>(fromPtr));
SkColorSpace* to = reinterpret_cast<SkColorSpace*>(static_cast<uintptr_t>(toPtr));
skcms_TransferFunction fromFn;
from->transferFn(&fromFn);
skcms_TransferFunction toFn;
to->invTransferFn(&toFn);
float r1 = skcms_TransferFunction_eval(&toFn, skcms_TransferFunction_eval(&fromFn, r));
float g1 = skcms_TransferFunction_eval(&toFn, skcms_TransferFunction_eval(&fromFn, g));
float b1 = skcms_TransferFunction_eval(&toFn, skcms_TransferFunction_eval(&fromFn, b));
float a1 = skcms_TransferFunction_eval(&toFn, skcms_TransferFunction_eval(&fromFn, a));
return javaFloatArray(env, {r1, g1, b1, a1});
}
#endif
extern "C" jlong org_jetbrains_skia_ColorSpace__1nIsGammaCloseToSRGB
(kref __Kinstance, jlong ptr) {
SkColorSpace* instance = reinterpret_cast<SkColorSpace*>(static_cast<uintptr_t>(ptr));
return instance->gammaCloseToSRGB();
}
extern "C" jlong org_jetbrains_skia_ColorSpace__1nIsGammaLinear
(kref __Kinstance, jlong ptr) {
SkColorSpace* instance = reinterpret_cast<SkColorSpace*>(static_cast<uintptr_t>(ptr));
return instance->gammaIsLinear();
}
extern "C" jlong org_jetbrains_skia_ColorSpace__1nIsSRGB
(kref __Kinstance, jlong ptr) {
SkColorSpace* instance = reinterpret_cast<SkColorSpace*>(static_cast<uintptr_t>(ptr));
return instance->isSRGB();
}
// This file has been auto generated.
#include "SkImageInfo.h"
#include "common.h"
extern "C" jlong org_jetbrains_skia_ColorType__1nIsAlwaysOpaque
(kref __Kinstance, jint value) {
return SkColorTypeIsAlwaysOpaque(static_cast<SkColorType>(value));
}
// This file has been auto generated.
#include "SkData.h"
#include "common.h"
static void deleteData(SkData* data) {
// std::cout << "Deleting [SkData " << data << "]" << std::endl;
data->unref();
}
extern "C" jlong org_jetbrains_skia_Data__1nGetFinalizer(kref __Kinstance) {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(&deleteData));
}
extern "C" jlong org_jetbrains_skia_Data__1nSize
(kref __Kinstance, jlong ptr) {
SkData* instance = reinterpret_cast<SkData*>(static_cast<uintptr_t>(ptr));
return instance->size();
}
extern "C" jobject org_jetbrains_skia_Data__1nToByteBuffer
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Data__1nToByteBuffer");
}
#if 0
extern "C" jobject org_jetbrains_skia_Data__1nToByteBuffer
(kref __Kinstance, jlong ptr) {
SkData* instance = reinterpret_cast<SkData*>(static_cast<uintptr_t>(ptr));
return env->NewDirectByteBuffer(instance->writable_data(), instance->size());
}
#endif
extern "C" jbyteArray org_jetbrains_skia_Data__1nBytes
(kref __Kinstance, jlong ptr, jlong offset, jlong length) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Data__1nBytes");
}
#if 0
extern "C" jbyteArray org_jetbrains_skia_Data__1nBytes
(kref __Kinstance, jlong ptr, jlong offset, jlong length) {
SkData* instance = reinterpret_cast<SkData*>(static_cast<uintptr_t>(ptr));
jbyteArray bytesArray = env->NewByteArray((jsize) length);
const jbyte* bytes = reinterpret_cast<const jbyte*>(instance->bytes() + offset);
env->SetByteArrayRegion(bytesArray, 0, (jsize) length, bytes);
return bytesArray;
}
#endif
extern "C" jboolean org_jetbrains_skia_Data__1nEquals
(kref __Kinstance, jlong ptr, jlong otherPtr) {
SkData* instance = reinterpret_cast<SkData*>(static_cast<uintptr_t>(ptr));
SkData* other = reinterpret_cast<SkData*>(static_cast<uintptr_t>(otherPtr));
return instance->equals(other);
}
extern "C" jlong org_jetbrains_skia_Data__1nMakeFromBytes
(kref __Kinstance, jbyteArray bytesArray, jlong offset, jlong length) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Data__1nMakeFromBytes");
}
#if 0
extern "C" jlong org_jetbrains_skia_Data__1nMakeFromBytes
(kref __Kinstance, jbyteArray bytesArray, jlong offset, jlong length) {
jbyte* bytes = reinterpret_cast<jbyte*>(malloc(length));
if (!bytes) return 0;
env->GetByteArrayRegion(bytesArray, (jsize) offset, (jsize) length, bytes);
SkData* instance = SkData::MakeFromMalloc(bytes, length).release();
return reinterpret_cast<jlong>(instance);
}
#endif
extern "C" jlong org_jetbrains_skia_Data__1nMakeFromFileName
(kref __Kinstance, jstring pathStr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Data__1nMakeFromFileName");
}
#if 0
extern "C" jlong org_jetbrains_skia_Data__1nMakeFromFileName
(kref __Kinstance, jstring pathStr) {
SkString path = skString(env, pathStr);
SkData* instance = SkData::MakeFromFileName(path.c_str()).release();
return reinterpret_cast<jlong>(instance);
}
#endif
extern "C" jlong org_jetbrains_skia_Data__1nMakeSubset
(kref __Kinstance, jlong ptr, jlong offset, jlong length) {
SkData* instance = reinterpret_cast<SkData*>(static_cast<uintptr_t>(ptr));
SkData* subset = SkData::MakeSubset(instance, offset, length).release();
return reinterpret_cast<jlong>(subset);
}
extern "C" jlong org_jetbrains_skia_Data__1nMakeEmpty
(kref __Kinstance) {
SkData* instance = SkData::MakeEmpty().release();
return reinterpret_cast<jlong>(instance);
}
// This file has been auto generated.
#include <iostream>
#include "GrDirectContext.h"
#include "mtl/GrMtlBackendContext.h"
#include "common.h"
extern "C" jlong org_jetbrains_skia_DirectContext__1nMakeGL
(kref __Kinstance) {
return reinterpret_cast<jlong>(GrDirectContext::MakeGL().release());
}
extern "C" jlong org_jetbrains_skia_DirectContext__1nMakeMetal
(kref __Kinstance, long devicePtr, long queuePtr) {
GrMtlBackendContext backendContext = {};
GrMTLHandle device = reinterpret_cast<GrMTLHandle>(static_cast<uintptr_t>(devicePtr));
GrMTLHandle queue = reinterpret_cast<GrMTLHandle>(static_cast<uintptr_t>(queuePtr));
backendContext.fDevice.retain(device);
backendContext.fQueue.retain(queue);
sk_sp<GrDirectContext> instance = GrDirectContext::MakeMetal(backendContext);
return reinterpret_cast<jlong>(instance.release());
}
extern "C" jlong org_jetbrains_skia_DirectContext__1nMakeDirect3D
(kref __Kinstance, jlong adapterPtr, jlong devicePtr, jlong queuePtr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_DirectContext__1nMakeDirect3D");
}
#if 0
extern "C" jlong org_jetbrains_skia_DirectContext__1nMakeDirect3D
(kref __Kinstance, jlong adapterPtr, jlong devicePtr, jlong queuePtr) {
GrD3DBackendContext backendContext = {};
IDXGIAdapter1* adapter = reinterpret_cast<IDXGIAdapter1*>(static_cast<uintptr_t>(adapterPtr));
ID3D12Device* device = reinterpret_cast<ID3D12Device*>(static_cast<uintptr_t>(devicePtr));
ID3D12CommandQueue* queue = reinterpret_cast<ID3D12CommandQueue*>(static_cast<uintptr_t>(queuePtr));
backendContext.fAdapter.retain(adapter);
backendContext.fDevice.retain(device);
backendContext.fQueue.retain(queue);
sk_sp<GrDirectContext> instance = GrDirectContext::MakeDirect3D(backendContext);
return reinterpret_cast<jlong>(instance.release());
}
#endif
extern "C" void org_jetbrains_skia_DirectContext__1nFlush
(kref __Kinstance, jlong ptr) {
GrDirectContext* context = reinterpret_cast<GrDirectContext*>(static_cast<uintptr_t>(ptr));
context->flush(GrFlushInfo());
}
extern "C" void org_jetbrains_skia_DirectContext__1nSubmit
(kref __Kinstance, jlong ptr, jboolean syncCpu) {
GrDirectContext* context = reinterpret_cast<GrDirectContext*>(static_cast<uintptr_t>(ptr));
context->submit(syncCpu);
}
extern "C" void org_jetbrains_skia_DirectContext__1nReset
(kref __Kinstance, jlong ptr, jint flags) {
GrDirectContext* context = reinterpret_cast<GrDirectContext*>(static_cast<uintptr_t>(ptr));
context->resetContext((uint32_t) flags);
}
extern "C" void org_jetbrains_skia_DirectContext__1nAbandon
(kref __Kinstance, jlong ptr, jint flags) {
GrDirectContext* context = reinterpret_cast<GrDirectContext*>(static_cast<uintptr_t>(ptr));
context->abandonContext();
}
// This file has been auto generated.
#include <iostream>
#include "SkDrawable.h"
#include "common.h"
extern "C" jlong org_jetbrains_skia_Drawable__1nMake
(kref __Kinstance) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Drawable__1nMake");
}
#if 0
extern "C" jlong org_jetbrains_skia_Drawable__1nMake
(kref __Kinstance) {
SkijaDrawableImpl* instance = new SkijaDrawableImpl();
return reinterpret_cast<jlong>(instance);
}
#endif
extern "C" void org_jetbrains_skia_Drawable__1nInit
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Drawable__1nInit");
}
#if 0
extern "C" void org_jetbrains_skia_Drawable__1nInit
(kref __Kinstance, jlong ptr) {
SkijaDrawableImpl* instance = reinterpret_cast<SkijaDrawableImpl*>(static_cast<uintptr_t>(ptr));
instance->init(env, jthis);
}
#endif
extern "C" void org_jetbrains_skia_Drawable__1nDraw
(kref __Kinstance, jlong ptr, jlong canvasPtr, jfloatArray matrixArr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Drawable__1nDraw");
}
#if 0
extern "C" void org_jetbrains_skia_Drawable__1nDraw
(kref __Kinstance, jlong ptr, jlong canvasPtr, jfloatArray matrixArr) {
SkijaDrawableImpl* instance = reinterpret_cast<SkijaDrawableImpl*>(static_cast<uintptr_t>(ptr));
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr));
std::unique_ptr<SkMatrix> matrix = skMatrix(env, matrixArr);
instance->draw(canvas, matrix.get());
}
#endif
extern "C" jlong org_jetbrains_skia_Drawable__1nMakePictureSnapshot
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Drawable__1nMakePictureSnapshot");
}
#if 0
extern "C" jlong org_jetbrains_skia_Drawable__1nMakePictureSnapshot
(kref __Kinstance, jlong ptr) {
SkijaDrawableImpl* instance = reinterpret_cast<SkijaDrawableImpl*>(static_cast<uintptr_t>(ptr));
return reinterpret_cast<jlong>(instance->newPictureSnapshot());
}
#endif
extern "C" jint org_jetbrains_skia_Drawable__1nGetGenerationId
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Drawable__1nGetGenerationId");
}
#if 0
extern "C" jint org_jetbrains_skia_Drawable__1nGetGenerationId
(kref __Kinstance, jlong ptr) {
SkijaDrawableImpl* instance = reinterpret_cast<SkijaDrawableImpl*>(static_cast<uintptr_t>(ptr));
return instance->getGenerationID();
}
#endif
extern "C" void org_jetbrains_skia_Drawable__1nNotifyDrawingChanged
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Drawable__1nNotifyDrawingChanged");
}
#if 0
extern "C" void org_jetbrains_skia_Drawable__1nNotifyDrawingChanged
(kref __Kinstance, jlong ptr) {
SkijaDrawableImpl* instance = reinterpret_cast<SkijaDrawableImpl*>(static_cast<uintptr_t>(ptr));
return instance->notifyDrawingChanged();
}
#endif
// This file has been auto generated.
#include <iostream>
#include "SkFont.h"
#include "SkPath.h"
#include "SkShaper.h"
#include "common.h"
static void deleteFont(SkFont* font) {
delete font;
}
extern "C" jlong org_jetbrains_skia_Font__1nGetFinalizer
(kref __Kinstance) {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(&deleteFont));
}
extern "C" jlong org_jetbrains_skia_Font__1nMakeDefault
(kref __Kinstance) {
SkFont* obj = new SkFont();
return reinterpret_cast<jlong>(obj);
}
extern "C" jlong org_jetbrains_skia_Font__1nMakeTypeface
(kref __Kinstance, jlong typefacePtr) {
SkTypeface* typeface = reinterpret_cast<SkTypeface*>(static_cast<uintptr_t>(typefacePtr));
SkFont* obj = new SkFont(sk_ref_sp<SkTypeface>(typeface));
return reinterpret_cast<jlong>(obj);
}
extern "C" jlong org_jetbrains_skia_Font__1nMakeTypefaceSize
(kref __Kinstance, jlong typefacePtr, jfloat size) {
SkTypeface* typeface = reinterpret_cast<SkTypeface*>(static_cast<uintptr_t>(typefacePtr));
SkFont* obj = new SkFont(sk_ref_sp<SkTypeface>(typeface), size);
return reinterpret_cast<jlong>(obj);
}
extern "C" jlong org_jetbrains_skia_Font__1nMakeTypefaceSizeScaleSkew
(kref __Kinstance, jlong typefacePtr, jfloat size, jfloat scaleX, jfloat skewX) {
SkTypeface* typeface = reinterpret_cast<SkTypeface*>(static_cast<uintptr_t>(typefacePtr));
SkFont* obj = new SkFont(sk_ref_sp<SkTypeface>(typeface), size, scaleX, skewX);
return reinterpret_cast<jlong>(obj);
}
extern "C" jlong org_jetbrains_skia_Font__1nMakeClone
(kref __Kinstance, jlong ptr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
SkFont* clone = new SkFont(*instance);
return reinterpret_cast<jlong>(clone);
}
extern "C" jboolean org_jetbrains_skia_Font__1nEquals
(kref __Kinstance, jlong ptr, jlong otherPtr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
SkFont* other = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(otherPtr));
return *instance == *other;
}
extern "C" jboolean org_jetbrains_skia_Font__1nIsAutoHintingForced
(kref __Kinstance, jlong ptr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
return instance->isForceAutoHinting();
}
extern "C" jboolean org_jetbrains_skia_Font__1nAreBitmapsEmbedded
(kref __Kinstance, jlong ptr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
return instance->isEmbeddedBitmaps();
}
extern "C" jboolean org_jetbrains_skia_Font__1nIsSubpixel
(kref __Kinstance, jlong ptr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
return instance->isSubpixel();
}
extern "C" jboolean org_jetbrains_skia_Font__1nAreMetricsLinear
(kref __Kinstance, jlong ptr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
return instance->isLinearMetrics();
}
extern "C" jboolean org_jetbrains_skia_Font__1nIsEmboldened
(kref __Kinstance, jlong ptr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
return instance->isEmbolden();
}
extern "C" jboolean org_jetbrains_skia_Font__1nIsBaselineSnapped
(kref __Kinstance, jlong ptr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
return instance->isBaselineSnap();
}
extern "C" void org_jetbrains_skia_Font__1nSetAutoHintingForced
(kref __Kinstance, jlong ptr, jboolean value) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
instance->setForceAutoHinting(value);
}
extern "C" void org_jetbrains_skia_Font__1nSetBitmapsEmbedded
(kref __Kinstance, jlong ptr, jboolean value) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
instance->setEmbeddedBitmaps(value);
}
extern "C" void org_jetbrains_skia_Font__1nSetSubpixel
(kref __Kinstance, jlong ptr, jboolean value) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
instance->setSubpixel(value);
}
extern "C" void org_jetbrains_skia_Font__1nSetMetricsLinear
(kref __Kinstance, jlong ptr, jboolean value) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
instance->setLinearMetrics(value);
}
extern "C" void org_jetbrains_skia_Font__1nSetEmboldened
(kref __Kinstance, jlong ptr, jboolean value) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
instance->setEmbolden(value);
}
extern "C" void org_jetbrains_skia_Font__1nSetBaselineSnapped
(kref __Kinstance, jlong ptr, jboolean value) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
instance->setBaselineSnap(value);
}
extern "C" jint org_jetbrains_skia_Font__1nGetEdging
(kref __Kinstance, jlong ptr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
return static_cast<jint>(instance->getEdging());
}
extern "C" void org_jetbrains_skia_Font__1nSetEdging
(kref __Kinstance, jlong ptr, jint value) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
instance->setEdging(static_cast<SkFont::Edging>(value));
}
extern "C" jint org_jetbrains_skia_Font__1nGetHinting
(kref __Kinstance, jlong ptr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
return static_cast<jint>(instance->getHinting());
}
extern "C" void org_jetbrains_skia_Font__1nSetHinting
(kref __Kinstance, jlong ptr, jint value) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
instance->setHinting(static_cast<SkFontHinting>(value));
}
extern "C" jlong org_jetbrains_skia_Font__1nGetTypeface
(kref __Kinstance, jlong ptr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
SkTypeface* typeface = instance->refTypeface().release();
return reinterpret_cast<jlong>(typeface);
}
extern "C" jlong org_jetbrains_skia_Font__1nGetTypefaceOrDefault
(kref __Kinstance, jlong ptr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
SkTypeface* typeface = instance->refTypefaceOrDefault().release();
return reinterpret_cast<jlong>(typeface);
}
extern "C" jfloat org_jetbrains_skia_Font__1nGetSize
(kref __Kinstance, jlong ptr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
return instance->getSize();
}
extern "C" jfloat org_jetbrains_skia_Font__1nGetScaleX
(kref __Kinstance, jlong ptr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
return instance->getScaleX();
}
extern "C" jfloat org_jetbrains_skia_Font__1nGetSkewX
(kref __Kinstance, jlong ptr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
return instance->getSkewX();
}
extern "C" void org_jetbrains_skia_Font__1nSetTypeface
(kref __Kinstance, jlong ptr, jlong typefacePtr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
SkTypeface* typeface = reinterpret_cast<SkTypeface*>(static_cast<uintptr_t>(typefacePtr));
instance->setTypeface(sk_ref_sp(typeface));
}
extern "C" void org_jetbrains_skia_Font__1nSetSize
(kref __Kinstance, jlong ptr, jfloat value) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
instance->setSize(value);
}
extern "C" void org_jetbrains_skia_Font__1nSetScaleX
(kref __Kinstance, jlong ptr, jfloat value) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
instance->setScaleX(value);
}
extern "C" void org_jetbrains_skia_Font__1nSetSkewX
(kref __Kinstance, jlong ptr, jfloat value) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
instance->setSkewX(value);
}
extern "C" jshortArray org_jetbrains_skia_Font__1nGetStringGlyphs
(kref __Kinstance, jlong ptr, jstring str) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Font__1nGetStringGlyphs");
}
#if 0
extern "C" jshortArray org_jetbrains_skia_Font__1nGetStringGlyphs
(kref __Kinstance, jlong ptr, jstring str) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
jsize len = env->GetStringLength(str);
const jchar* chars = env->GetStringCritical(str, nullptr);
int count = instance->textToGlyphs(chars, len * sizeof(jchar), SkTextEncoding::kUTF16, nullptr, 0);
std::vector<short> glyphs(count);
instance->textToGlyphs(chars, len * sizeof(jchar), SkTextEncoding::kUTF16, reinterpret_cast<SkGlyphID*>(glyphs.data()), count);
env->ReleaseStringCritical(str, chars);
return javaShortArray(env, glyphs);
}
#endif
extern "C" jshortArray org_jetbrains_skia_Font__1nGetUTF32Glyphs
(kref __Kinstance, jlong ptr, jintArray uniArr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Font__1nGetUTF32Glyphs");
}
#if 0
extern "C" jshortArray org_jetbrains_skia_Font__1nGetUTF32Glyphs
(kref __Kinstance, jlong ptr, jintArray uniArr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
int count = env->GetArrayLength(uniArr);
std::vector<jshort> glyphs(count);
jint* uni = env->GetIntArrayElements(uniArr, nullptr);
instance->unicharsToGlyphs(reinterpret_cast<SkUnichar*>(uni), count, reinterpret_cast<SkGlyphID*>(glyphs.data()));
env->ReleaseIntArrayElements(uniArr, uni, 0);
return javaShortArray(env, glyphs);
}
#endif
extern "C" jshort org_jetbrains_skia_Font__1nGetUTF32Glyph
(kref __Kinstance, jlong ptr, jint uni) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
return instance->unicharToGlyph(uni);
}
extern "C" jint org_jetbrains_skia_Font__1nGetStringGlyphsCount
(kref __Kinstance, jlong ptr, jstring str) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Font__1nGetStringGlyphsCount");
}
#if 0
extern "C" jint org_jetbrains_skia_Font__1nGetStringGlyphsCount
(kref __Kinstance, jlong ptr, jstring str) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
jsize len = env->GetStringLength(str);
const jchar* chars = env->GetStringCritical(str, nullptr);
int count = instance->countText(chars, len * sizeof(jchar), SkTextEncoding::kUTF16);
env->ReleaseStringCritical(str, chars);
return count;
}
#endif
extern "C" jobject org_jetbrains_skia_Font__1nMeasureText
(kref __Kinstance, jlong ptr, jstring str, jlong paintPtr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Font__1nMeasureText");
}
#if 0
extern "C" jobject org_jetbrains_skia_Font__1nMeasureText
(kref __Kinstance, jlong ptr, jstring str, jlong paintPtr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr));
jsize len = env->GetStringLength(str);
const jchar* chars = env->GetStringCritical(str, nullptr);
SkRect bounds;
instance->measureText(chars, len * sizeof(jchar), SkTextEncoding::kUTF16, &bounds, paint);
env->ReleaseStringCritical(str, chars);
return skija::Rect::fromSkRect(env, bounds);
}
#endif
extern "C" jfloat org_jetbrains_skia_Font__1nMeasureTextWidth
(kref __Kinstance, jlong ptr, jstring str, jlong paintPtr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Font__1nMeasureTextWidth");
}
#if 0
extern "C" jfloat org_jetbrains_skia_Font__1nMeasureTextWidth
(kref __Kinstance, jlong ptr, jstring str, jlong paintPtr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr));
jsize len = env->GetStringLength(str);
const jchar* chars = env->GetStringCritical(str, nullptr);
float width = instance->measureText(chars, len * sizeof(jchar), SkTextEncoding::kUTF16, nullptr, paint);
env->ReleaseStringCritical(str, chars);
return width;
}
#endif
extern "C" jfloatArray org_jetbrains_skia_Font__1nGetWidths
(kref __Kinstance, jlong ptr, jshortArray glyphsArr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Font__1nGetWidths");
}
#if 0
extern "C" jfloatArray org_jetbrains_skia_Font__1nGetWidths
(kref __Kinstance, jlong ptr, jshortArray glyphsArr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
int count = env->GetArrayLength(glyphsArr);
std::vector<jfloat> widths(count);
jshort* glyphs = env->GetShortArrayElements(glyphsArr, nullptr);
instance->getWidths(reinterpret_cast<SkGlyphID*>(glyphs), count, widths.data());
env->ReleaseShortArrayElements(glyphsArr, glyphs, 0);
return javaFloatArray(env, widths);
}
#endif
extern "C" jobjectArray org_jetbrains_skia_Font__1nGetBounds
(kref __Kinstance, jlong ptr, jshortArray glyphsArr, jlong paintPtr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Font__1nGetBounds");
}
#if 0
extern "C" jobjectArray org_jetbrains_skia_Font__1nGetBounds
(kref __Kinstance, jlong ptr, jshortArray glyphsArr, jlong paintPtr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr));
int count = env->GetArrayLength(glyphsArr);
std::vector<SkRect> bounds(count);
jshort* glyphs = env->GetShortArrayElements(glyphsArr, nullptr);
instance->getBounds(reinterpret_cast<SkGlyphID*>(glyphs), count, bounds.data(), paint);
env->ReleaseShortArrayElements(glyphsArr, glyphs, 0);
jobjectArray res = env->NewObjectArray(count, skija::Rect::cls, nullptr);
for (int i = 0; i < count; ++i) {
skija::AutoLocal<jobject> boundsObj(env, skija::Rect::fromSkRect(env, bounds[i]));
env->SetObjectArrayElement(res, i, boundsObj.get());
}
return res;
}
#endif
extern "C" jobjectArray org_jetbrains_skia_Font__1nGetPositions
(kref __Kinstance, jlong ptr, jshortArray glyphsArr, jfloat dx, jfloat dy) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Font__1nGetPositions");
}
#if 0
extern "C" jobjectArray org_jetbrains_skia_Font__1nGetPositions
(kref __Kinstance, jlong ptr, jshortArray glyphsArr, jfloat dx, jfloat dy) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
int count = env->GetArrayLength(glyphsArr);
std::vector<SkPoint> positions(count);
jshort* glyphs = env->GetShortArrayElements(glyphsArr, nullptr);
instance->getPos(reinterpret_cast<SkGlyphID*>(glyphs), count, positions.data(), {dx, dy});
env->ReleaseShortArrayElements(glyphsArr, glyphs, 0);
return skija::Point::fromSkPoints(env, positions);
}
#endif
extern "C" jfloatArray org_jetbrains_skia_Font__1nGetXPositions
(kref __Kinstance, jlong ptr, jshortArray glyphsArr, jfloat dx) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Font__1nGetXPositions");
}
#if 0
extern "C" jfloatArray org_jetbrains_skia_Font__1nGetXPositions
(kref __Kinstance, jlong ptr, jshortArray glyphsArr, jfloat dx) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
int count = env->GetArrayLength(glyphsArr);
std::vector<jfloat> positions(count);
jshort* glyphs = env->GetShortArrayElements(glyphsArr, nullptr);
instance->getXPos(reinterpret_cast<SkGlyphID*>(glyphs), count, positions.data(), dx);
env->ReleaseShortArrayElements(glyphsArr, glyphs, 0);
return javaFloatArray(env, positions);
}
#endif
extern "C" jlong org_jetbrains_skia_Font__1nGetPath
(kref __Kinstance, jlong ptr, jshort glyph) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
SkPath* path = new SkPath();
instance->getPath(glyph, path);
return reinterpret_cast<jlong>(path);
}
extern "C" jobjectArray org_jetbrains_skia_Font__1nGetPaths
(kref __Kinstance, jlong ptr, jshortArray glyphsArr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Font__1nGetPaths");
}
#if 0
extern "C" jobjectArray org_jetbrains_skia_Font__1nGetPaths
(kref __Kinstance, jlong ptr, jshortArray glyphsArr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
int count = env->GetArrayLength(glyphsArr);
jshort* glyphs = env->GetShortArrayElements(glyphsArr, nullptr);
struct Ctx {
jobjectArray paths;
jsize idx;
JNIEnv* env;
} ctx = { env->NewObjectArray(count, skija::Path::cls, nullptr), 0, env };
instance->getPaths(reinterpret_cast<SkGlyphID*>(glyphs), count, [](const SkPath* orig, const SkMatrix& mx, void* voidCtx) {
Ctx* ctx = static_cast<Ctx*>(voidCtx);
if (orig) {
SkPath* path = new SkPath();
orig->transform(mx, path);
jobject pathObj = ctx->env->NewObject(skija::Path::cls, skija::Path::ctor, reinterpret_cast<jlong>(path));
ctx->env->SetObjectArrayElement(ctx->paths, ctx->idx, pathObj);
ctx->env->DeleteLocalRef(pathObj);
++ctx->idx;
}
}, &ctx);
env->ReleaseShortArrayElements(glyphsArr, glyphs, 0);
return ctx.paths;
}
#endif
extern "C" jobject org_jetbrains_skia_Font__1nGetMetrics
(kref __Kinstance, jlong ptr, jshortArray glyphsArr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Font__1nGetMetrics");
}
#if 0
extern "C" jobject org_jetbrains_skia_Font__1nGetMetrics
(kref __Kinstance, jlong ptr, jshortArray glyphsArr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
SkFontMetrics m;
instance->getMetrics(&m);
return skija::FontMetrics::toJava(env, m);
}
#endif
extern "C" jfloat org_jetbrains_skia_Font__1nGetSpacing
(kref __Kinstance, jlong ptr, jshortArray glyphsArr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Font__1nGetSpacing");
}
#if 0
extern "C" jfloat org_jetbrains_skia_Font__1nGetSpacing
(kref __Kinstance, jlong ptr, jshortArray glyphsArr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr));
return instance->getSpacing();
}
#endif
// This file has been auto generated.
#include <iostream>
#include "SkData.h"
#include "SkTypeface.h"
#include "SkFontMgr.h"
#include "common.h"
extern "C" jint org_jetbrains_skia_FontMgr__1nGetFamiliesCount
(kref __Kinstance, jlong ptr) {
SkFontMgr* instance = reinterpret_cast<SkFontMgr*>(static_cast<uintptr_t>(ptr));
return instance->countFamilies();
}
extern "C" jstring org_jetbrains_skia_FontMgr__1nGetFamilyName
(kref __Kinstance, jlong ptr, jint index) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_FontMgr__1nGetFamilyName");
}
#if 0
extern "C" jstring org_jetbrains_skia_FontMgr__1nGetFamilyName
(kref __Kinstance, jlong ptr, jint index) {
SkFontMgr* instance = reinterpret_cast<SkFontMgr*>(static_cast<uintptr_t>(ptr));
SkString familyName;
instance->getFamilyName(index, &familyName);
return javaString(env, familyName);
}
#endif
extern "C" jlong org_jetbrains_skia_FontMgr__1nMakeStyleSet
(kref __Kinstance, jlong ptr, jint index) {
SkFontMgr* instance = reinterpret_cast<SkFontMgr*>(static_cast<uintptr_t>(ptr));
SkFontStyleSet* styleSet = instance->createStyleSet(index);
return reinterpret_cast<jlong>(styleSet);
}
extern "C" jlong org_jetbrains_skia_FontMgr__1nMatchFamily
(kref __Kinstance, jlong ptr, jstring familyNameStr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_FontMgr__1nMatchFamily");
}
#if 0
extern "C" jlong org_jetbrains_skia_FontMgr__1nMatchFamily
(kref __Kinstance, jlong ptr, jstring familyNameStr) {
SkFontMgr* instance = reinterpret_cast<SkFontMgr*>(static_cast<uintptr_t>(ptr));
SkString familyName = skString(env, familyNameStr);
SkFontStyleSet* styleSet = instance->matchFamily(familyName.c_str());
return reinterpret_cast<jlong>(styleSet);
}
#endif
extern "C" jlong org_jetbrains_skia_FontMgr__1nMatchFamilyStyle
(kref __Kinstance, jlong ptr, jstring familyNameStr, jint fontStyle) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_FontMgr__1nMatchFamilyStyle");
}
#if 0
extern "C" jlong org_jetbrains_skia_FontMgr__1nMatchFamilyStyle
(kref __Kinstance, jlong ptr, jstring familyNameStr, jint fontStyle) {
SkFontMgr* instance = reinterpret_cast<SkFontMgr*>(static_cast<uintptr_t>(ptr));
SkString familyName = skString(env, familyNameStr);
SkTypeface* typeface = instance->matchFamilyStyle(familyName.c_str(), skija::FontStyle::fromJava(fontStyle));
return reinterpret_cast<jlong>(typeface);
}
#endif
extern "C" jlong org_jetbrains_skia_FontMgr__1nMatchFamilyStyleCharacter
(kref __Kinstance, jlong ptr, jstring familyNameStr, jint fontStyle, jobjectArray bcp47Array, jint character) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_FontMgr__1nMatchFamilyStyleCharacter");
}
#if 0
extern "C" jlong org_jetbrains_skia_FontMgr__1nMatchFamilyStyleCharacter
(kref __Kinstance, jlong ptr, jstring familyNameStr, jint fontStyle, jobjectArray bcp47Array, jint character) {
SkFontMgr* instance = reinterpret_cast<SkFontMgr*>(static_cast<uintptr_t>(ptr));
SkString familyName = skString(env, familyNameStr);
std::vector<SkString> bcp47Strings = skStringVector(env, bcp47Array);
std::vector<const char*> bcp47(bcp47Strings.size());
for (int i = 0; i < bcp47.size(); ++i)
bcp47[i] = bcp47Strings[i].c_str();
SkTypeface* typeface = instance->matchFamilyStyleCharacter(familyName.c_str(), skija::FontStyle::fromJava(fontStyle), bcp47.data(), (int) bcp47.size(), character);
return reinterpret_cast<jlong>(typeface);
}
#endif
extern "C" jlong org_jetbrains_skia_FontMgr__1nMakeFromData
(kref __Kinstance, jlong ptr, jlong dataPtr, jint ttcIndex) {
SkFontMgr* instance = reinterpret_cast<SkFontMgr*>(static_cast<uintptr_t>(ptr));
SkData* data = reinterpret_cast<SkData*>(static_cast<uintptr_t>(dataPtr));
SkTypeface* typeface = instance->makeFromData(sk_ref_sp(data), ttcIndex).release();
return reinterpret_cast<jlong>(typeface);
}
extern "C" jlong org_jetbrains_skia_FontMgr__1nDefault
(kref __Kinstance) {
SkFontMgr* instance = SkFontMgr::RefDefault().release();
return reinterpret_cast<jlong>(instance);
}
// This file has been auto generated.
#include <iostream>
#include "SkTypeface.h"
#include "SkFontMgr.h"
#include "common.h"
extern "C" jlong org_jetbrains_skia_FontStyleSet__1nMakeEmpty
(kref __Kinstance) {
SkFontStyleSet* instance = SkFontStyleSet::CreateEmpty();
return reinterpret_cast<jlong>(instance);
}
extern "C" jint org_jetbrains_skia_FontStyleSet__1nCount
(kref __Kinstance, jlong ptr) {
SkFontStyleSet* instance = reinterpret_cast<SkFontStyleSet*>(static_cast<uintptr_t>(ptr));
return instance->count();
}
extern "C" jint org_jetbrains_skia_FontStyleSet__1nGetStyle
(kref __Kinstance, jlong ptr, jint index) {
SkFontStyleSet* instance = reinterpret_cast<SkFontStyleSet*>(static_cast<uintptr_t>(ptr));
SkFontStyle fontStyle;
instance->getStyle(index, &fontStyle, nullptr);
return fontStyle.weight() + (fontStyle.width() << 16) + (fontStyle.slant() << 24);
}
extern "C" jstring org_jetbrains_skia_FontStyleSet__1nGetStyleName
(kref __Kinstance, jlong ptr, jint index) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_FontStyleSet__1nGetStyleName");
}
#if 0
extern "C" jstring org_jetbrains_skia_FontStyleSet__1nGetStyleName
(kref __Kinstance, jlong ptr, jint index) {
SkFontStyleSet* instance = reinterpret_cast<SkFontStyleSet*>(static_cast<uintptr_t>(ptr));
SkString style;
instance->getStyle(index, nullptr, &style);
return javaString(env, style);
}
#endif
extern "C" jlong org_jetbrains_skia_FontStyleSet__1nGetTypeface
(kref __Kinstance, jlong ptr, jint index) {
SkFontStyleSet* instance = reinterpret_cast<SkFontStyleSet*>(static_cast<uintptr_t>(ptr));
SkTypeface* typeface = instance->createTypeface(index);
return reinterpret_cast<jlong>(typeface);
}
extern "C" jlong org_jetbrains_skia_FontStyleSet__1nMatchStyle
(kref __Kinstance, jlong ptr, jint fontStyle) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_FontStyleSet__1nMatchStyle");
}
#if 0
extern "C" jlong org_jetbrains_skia_FontStyleSet__1nMatchStyle
(kref __Kinstance, jlong ptr, jint fontStyle) {
SkFontStyleSet* instance = reinterpret_cast<SkFontStyleSet*>(static_cast<uintptr_t>(ptr));
SkTypeface* typeface = instance->matchStyle(skija::FontStyle::fromJava(fontStyle));
return reinterpret_cast<jlong>(typeface);
}
#endif
// This file has been auto generated.
#include <iostream>
#include "SkData.h"
#include "SkImage.h"
#include "common.h"
extern "C" jlong org_jetbrains_skia_Image__1nMakeRaster
(kref __Kinstance, jint width, jint height, jint colorType, jint alphaType, jlong colorSpacePtr, jbyteArray bytesArr, jlong rowBytes) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Image__1nMakeRaster");
}
#if 0
extern "C" jlong org_jetbrains_skia_Image__1nMakeRaster
(kref __Kinstance, jint width, jint height, jint colorType, jint alphaType, jlong colorSpacePtr, jbyteArray bytesArr, jlong rowBytes) {
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));
void* bytes = env->GetPrimitiveArrayCritical(bytesArr, 0);
sk_sp<SkImage> image = SkImage::MakeRasterCopy(SkPixmap(imageInfo, bytes, rowBytes));
env->ReleasePrimitiveArrayCritical(bytesArr, bytes, 0);
return reinterpret_cast<jlong>(image.release());
}
#endif
extern "C" jlong org_jetbrains_skia_Image__1nMakeRasterData
(kref __Kinstance, jint width, jint height, jint colorType, jint alphaType, jlong colorSpacePtr, jlong dataPtr, jlong rowBytes) {
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));
SkData* data = reinterpret_cast<SkData*>(static_cast<uintptr_t>(dataPtr));
sk_sp<SkImage> image = SkImage::MakeRasterData(imageInfo, sk_ref_sp(data), rowBytes);
return reinterpret_cast<jlong>(image.release());
}
extern "C" jlong org_jetbrains_skia_Image__1nMakeFromBitmap
(kref __Kinstance, jlong bitmapPtr) {
SkBitmap* bitmap = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(bitmapPtr));
sk_sp<SkImage> image = SkImage::MakeFromBitmap(*bitmap);
return reinterpret_cast<jlong>(image.release());
}
extern "C" jlong org_jetbrains_skia_Image__1nMakeFromPixmap
(kref __Kinstance, jlong pixmapPtr) {
SkPixmap* pixmap = reinterpret_cast<SkPixmap*>(static_cast<uintptr_t>(pixmapPtr));
sk_sp<SkImage> image = SkImage::MakeFromRaster(*pixmap, nullptr, nullptr);
return reinterpret_cast<jlong>(image.release());
}
extern "C" jlong org_jetbrains_skia_Image__1nMakeFromEncoded
(kref __Kinstance, jbyteArray encodedArray) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Image__1nMakeFromEncoded");
}
#if 0
extern "C" jlong org_jetbrains_skia_Image__1nMakeFromEncoded
(kref __Kinstance, jbyteArray encodedArray) {
jsize encodedLen = env->GetArrayLength(encodedArray);
jbyte* encoded = env->GetByteArrayElements(encodedArray, 0);
sk_sp<SkData> encodedData = SkData::MakeWithCopy(encoded, encodedLen);
env->ReleaseByteArrayElements(encodedArray, encoded, 0);
sk_sp<SkImage> image = SkImage::MakeFromEncoded(encodedData);
return reinterpret_cast<jlong>(image.release());
}
#endif
extern "C" jobject org_jetbrains_skia_Image__1nGetImageInfo
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Image__1nGetImageInfo");
}
#if 0
extern "C" jobject org_jetbrains_skia_Image__1nGetImageInfo
(kref __Kinstance, jlong ptr) {
SkImage* instance = reinterpret_cast<SkImage*>(static_cast<uintptr_t>(ptr));
return skija::ImageInfo::toJava(env, instance->imageInfo());
}
#endif
extern "C" jlong org_jetbrains_skia_Image__1nEncodeToData
(kref __Kinstance, jlong ptr, jint format, jint quality) {
SkImage* instance = reinterpret_cast<SkImage*>(static_cast<uintptr_t>(ptr));
SkData* data = instance->encodeToData(static_cast<SkEncodedImageFormat>(format), quality).release();
return reinterpret_cast<jlong>(data);
}
extern "C" jlong org_jetbrains_skia_Image__1nMakeShader
(kref __Kinstance, jlong ptr, jint tmx, jint tmy, jlong sampling, jfloatArray localMatrixArr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Image__1nMakeShader");
}
#if 0
extern "C" jlong org_jetbrains_skia_Image__1nMakeShader
(kref __Kinstance, jlong ptr, jint tmx, jint tmy, jlong sampling, jfloatArray localMatrixArr) {
SkImage* instance = reinterpret_cast<SkImage*>(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(sampling), localMatrix.get());
return reinterpret_cast<jlong>(shader.release());
}
#endif
extern "C" jobject org_jetbrains_skia_Image__1nPeekPixels
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Image__1nPeekPixels");
}
#if 0
extern "C" jobject org_jetbrains_skia_Image__1nPeekPixels
(kref __Kinstance, jlong ptr) {
SkImage* instance = reinterpret_cast<SkImage*>(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" jboolean org_jetbrains_skia_Image__1nPeekPixelsToPixmap
(kref __Kinstance, jlong ptr, jlong pixmapPtr) {
SkImage* instance = reinterpret_cast<SkImage*>(static_cast<uintptr_t>(ptr));
SkPixmap* pixmap = reinterpret_cast<SkPixmap*>(static_cast<uintptr_t>(pixmapPtr));
return instance->peekPixels(pixmap);
}
extern "C" jboolean org_jetbrains_skia_Image__1nReadPixelsBitmap
(kref __Kinstance, jlong ptr, jlong contextPtr, jlong bitmapPtr, jint srcX, jint srcY, jboolean cache) {
SkImage* instance = reinterpret_cast<SkImage*>(static_cast<uintptr_t>(ptr));
GrDirectContext* context = reinterpret_cast<GrDirectContext*>(static_cast<uintptr_t>(contextPtr));
SkBitmap* bitmap = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(bitmapPtr));
auto cachingHint = cache ? SkImage::CachingHint::kAllow_CachingHint : SkImage::CachingHint::kDisallow_CachingHint;
return instance->readPixels(context, bitmap->info(), bitmap->getPixels(), bitmap->pixmap().rowBytes(), srcX, srcY, cachingHint);
}
extern "C" jboolean org_jetbrains_skia_Image__1nReadPixelsPixmap
(kref __Kinstance, jlong ptr, jlong pixmapPtr, jint srcX, jint srcY, jboolean cache) {
SkImage* instance = reinterpret_cast<SkImage*>(static_cast<uintptr_t>(ptr));
SkPixmap* pixmap = reinterpret_cast<SkPixmap*>(static_cast<uintptr_t>(pixmapPtr));
auto cachingHint = cache ? SkImage::CachingHint::kAllow_CachingHint : SkImage::CachingHint::kDisallow_CachingHint;
return instance->readPixels(*pixmap, srcX, srcY, cachingHint);
}
extern "C" jboolean org_jetbrains_skia_Image__1nScalePixels
(kref __Kinstance, jlong ptr, jlong pixmapPtr, jlong samplingOptions, jboolean cache) {
SkImage* instance = reinterpret_cast<SkImage*>(static_cast<uintptr_t>(ptr));
SkPixmap* pixmap = reinterpret_cast<SkPixmap*>(static_cast<uintptr_t>(pixmapPtr));
auto cachingHint = cache ? SkImage::CachingHint::kAllow_CachingHint : SkImage::CachingHint::kDisallow_CachingHint;
return instance->scalePixels(*pixmap, skija::SamplingMode::unpack(samplingOptions), cachingHint);
}
// This file has been auto generated.
#include <iostream>
#include "SkColorFilter.h"
#include "SkImageFilter.h"
#include "SkImageFilters.h"
#include "SkPoint3.h"
#include "SkRect.h"
#include "common.h"
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeAlphaThreshold
(kref __Kinstance, jlong regionPtr, jfloat innerMin, jfloat outerMax, jlong inputPtr, jobject cropObj) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_ImageFilter__1nMakeAlphaThreshold");
}
#if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeAlphaThreshold
(kref __Kinstance, jlong regionPtr, jfloat innerMin, jfloat outerMax, jlong inputPtr, jobject cropObj) {
SkRegion* region = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(regionPtr));
SkImageFilter* input = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(inputPtr));
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj);
SkImageFilter* ptr = SkImageFilters::AlphaThreshold(*region, innerMin, outerMax, sk_ref_sp(input), crop.get()).release();
return reinterpret_cast<jlong>(ptr);
}
#endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeArithmetic
(kref __Kinstance, jfloat k1, jfloat k2, jfloat k3, jfloat k4, jboolean enforcePMColor, jlong bgPtr, jlong fgPtr, jobject cropObj) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_ImageFilter__1nMakeArithmetic");
}
#if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeArithmetic
(kref __Kinstance, jfloat k1, jfloat k2, jfloat k3, jfloat k4, jboolean enforcePMColor, jlong bgPtr, jlong fgPtr, jobject cropObj) {
SkImageFilter* bg = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(bgPtr));
SkImageFilter* fg = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(fgPtr));
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj);
SkImageFilter* ptr = SkImageFilters::Arithmetic(k1, k2, k3, k4, enforcePMColor, sk_ref_sp(bg), sk_ref_sp(fg), crop.get()).release();
return reinterpret_cast<jlong>(ptr);
}
#endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeBlend
(kref __Kinstance, jint blendModeInt, jlong bgPtr, jlong fgPtr, jobject cropObj) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_ImageFilter__1nMakeBlend");
}
#if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeBlend
(kref __Kinstance, jint blendModeInt, jlong bgPtr, jlong fgPtr, jobject cropObj) {
SkBlendMode blendMode = static_cast<SkBlendMode>(blendModeInt);
SkImageFilter* bg = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(bgPtr));
SkImageFilter* fg = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(fgPtr));
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj);
SkImageFilter* ptr = SkImageFilters::Blend(blendMode, sk_ref_sp(bg), sk_ref_sp(fg), crop.get()).release();
return reinterpret_cast<jlong>(ptr);
}
#endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeBlur
(kref __Kinstance, jfloat sigmaX, jfloat sigmaY, jint tileModeInt, jlong inputPtr, jobject cropObj) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_ImageFilter__1nMakeBlur");
}
#if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeBlur
(kref __Kinstance, jfloat sigmaX, jfloat sigmaY, jint tileModeInt, jlong inputPtr, jobject cropObj) {
SkTileMode tileMode = static_cast<SkTileMode>(tileModeInt);
SkImageFilter* input = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(inputPtr));
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj);
SkImageFilter* ptr = SkImageFilters::Blur(sigmaX, sigmaY, tileMode, sk_ref_sp(input), crop.get()).release();
return reinterpret_cast<jlong>(ptr);
}
#endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeColorFilter
(kref __Kinstance, jlong colorFilterPtr, jlong inputPtr, jobject cropObj) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_ImageFilter__1nMakeColorFilter");
}
#if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeColorFilter
(kref __Kinstance, jlong colorFilterPtr, jlong inputPtr, jobject cropObj) {
SkColorFilter* colorFilter = reinterpret_cast<SkColorFilter*>(static_cast<uintptr_t>(colorFilterPtr));
SkImageFilter* input = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(inputPtr));
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj);
SkImageFilter* ptr = SkImageFilters::ColorFilter(sk_ref_sp(colorFilter), sk_ref_sp(input), crop.get()).release();
return reinterpret_cast<jlong>(ptr);
}
#endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeCompose
(kref __Kinstance, jlong outerPtr, jlong innerPtr) {
SkImageFilter* outer = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(outerPtr));
SkImageFilter* inner = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(innerPtr));
SkImageFilter* ptr = SkImageFilters::Compose(sk_ref_sp(outer), sk_ref_sp(inner)).release();
return reinterpret_cast<jlong>(ptr);
}
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeDisplacementMap
(kref __Kinstance, jint xChanInt, jint yChanInt, jfloat scale, jlong displacementPtr, jlong colorPtr, jobject cropObj) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_ImageFilter__1nMakeDisplacementMap");
}
#if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeDisplacementMap
(kref __Kinstance, jint xChanInt, jint yChanInt, jfloat scale, jlong displacementPtr, jlong colorPtr, jobject cropObj) {
SkColorChannel xChan = static_cast<SkColorChannel>(xChanInt);
SkColorChannel yChan = static_cast<SkColorChannel>(yChanInt);
SkImageFilter* displacement = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(displacementPtr));
SkImageFilter* color = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(colorPtr));
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj);
SkImageFilter* ptr = SkImageFilters::DisplacementMap(xChan, yChan, scale, sk_ref_sp(displacement), sk_ref_sp(color), crop.get()).release();
return reinterpret_cast<jlong>(ptr);
}
#endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeDropShadow
(kref __Kinstance, jfloat dx, jfloat dy, jfloat sigmaX, jfloat sigmaY, jint color, jlong inputPtr, jobject cropObj) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_ImageFilter__1nMakeDropShadow");
}
#if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeDropShadow
(kref __Kinstance, jfloat dx, jfloat dy, jfloat sigmaX, jfloat sigmaY, jint color, jlong inputPtr, jobject cropObj) {
SkImageFilter* input = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(inputPtr));
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj);
SkImageFilter* ptr = SkImageFilters::DropShadow(dx, dy, sigmaX, sigmaY, color, sk_ref_sp(input), crop.get()).release();
return reinterpret_cast<jlong>(ptr);
}
#endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeDropShadowOnly
(kref __Kinstance, jfloat dx, jfloat dy, jfloat sigmaX, jfloat sigmaY, jint color, jlong inputPtr, jobject cropObj) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_ImageFilter__1nMakeDropShadowOnly");
}
#if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeDropShadowOnly
(kref __Kinstance, jfloat dx, jfloat dy, jfloat sigmaX, jfloat sigmaY, jint color, jlong inputPtr, jobject cropObj) {
SkImageFilter* input = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(inputPtr));
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj);
SkImageFilter* ptr = SkImageFilters::DropShadowOnly(dx, dy, sigmaX, sigmaY, color, sk_ref_sp(input), crop.get()).release();
return reinterpret_cast<jlong>(ptr);
}
#endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeImage
(kref __Kinstance, jlong imagePtr, jfloat l0, jfloat t0, jfloat r0, jfloat b0, jfloat l1, jfloat t1, jfloat r1, jfloat b1, jlong samplingMode) {
SkImage* image = reinterpret_cast<SkImage*>(static_cast<uintptr_t>(imagePtr));
SkImageFilter* ptr = SkImageFilters::Image(sk_ref_sp(image), SkRect{l0, t0, r0, b0}, SkRect{l1, t1, r1, b1}, skija::SamplingMode::unpack(samplingMode)).release();
return reinterpret_cast<jlong>(ptr);
}
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeMagnifier
(kref __Kinstance, jfloat l, jfloat t, jfloat r, jfloat b, jfloat inset, jlong inputPtr, jobject cropObj) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_ImageFilter__1nMakeMagnifier");
}
#if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeMagnifier
(kref __Kinstance, jfloat l, jfloat t, jfloat r, jfloat b, jfloat inset, jlong inputPtr, jobject cropObj) {
SkImageFilter* input = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(inputPtr));
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj);
SkImageFilter* ptr = SkImageFilters::Magnifier(SkRect{l, t, r, b}, inset, sk_ref_sp(input), crop.get()).release();
return reinterpret_cast<jlong>(ptr);
}
#endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeMatrixConvolution
(kref __Kinstance, jint kernelW, jint kernelH, jfloatArray kernelArray, jfloat gain, jfloat bias, jint offsetX, jint offsetY, jint tileModeInt, jboolean convolveAlpha, jlong inputPtr, jobject cropObj) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_ImageFilter__1nMakeMatrixConvolution");
}
#if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeMatrixConvolution
(kref __Kinstance, jint kernelW, jint kernelH, jfloatArray kernelArray, jfloat gain, jfloat bias, jint offsetX, jint offsetY, jint tileModeInt, jboolean convolveAlpha, jlong inputPtr, jobject cropObj) {
jfloat* kernel = env->GetFloatArrayElements(kernelArray, 0);
SkTileMode tileMode = static_cast<SkTileMode>(tileModeInt);
SkImageFilter* input = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(inputPtr));
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj);
SkImageFilter* ptr = SkImageFilters::MatrixConvolution(SkISize{kernelW, kernelH}, kernel, gain, bias, SkIPoint{offsetX, offsetY}, tileMode, convolveAlpha, sk_ref_sp(input), crop.get()).release();
env->ReleaseFloatArrayElements(kernelArray, kernel, 0);
return reinterpret_cast<jlong>(ptr);
}
#endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeMatrixTransform
(kref __Kinstance, jfloatArray matrixArray, jlong samplingMode, jlong inputPtr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_ImageFilter__1nMakeMatrixTransform");
}
#if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeMatrixTransform
(kref __Kinstance, jfloatArray matrixArray, jlong samplingMode, jlong inputPtr) {
std::unique_ptr<SkMatrix> matrix = skMatrix(env, matrixArray);
SkImageFilter* input = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(inputPtr));
SkImageFilter* ptr = SkImageFilters::MatrixTransform(*matrix, skija::SamplingMode::unpack(samplingMode), sk_ref_sp(input)).release();
return reinterpret_cast<jlong>(ptr);
}
#endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeMerge
(kref __Kinstance, jlongArray filtersArray, jobject cropObj) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_ImageFilter__1nMakeMerge");
}
#if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeMerge
(kref __Kinstance, jlongArray filtersArray, jobject cropObj) {
jlong* f = env->GetLongArrayElements(filtersArray, 0);
jsize len = env->GetArrayLength(filtersArray);
std::vector<sk_sp<SkImageFilter>> filters(len);
for (int i = 0; i < len; ++i) {
SkImageFilter* fi = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(f[i]));
filters[i] = sk_ref_sp(fi);
}
env->ReleaseLongArrayElements(filtersArray, f, 0);
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj);
SkImageFilter* ptr = SkImageFilters::Merge(filters.data(), len, crop.get()).release();
return reinterpret_cast<jlong>(ptr);
}
#endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeOffset
(kref __Kinstance, jfloat dx, jfloat dy, jlong inputPtr, jobject cropObj) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_ImageFilter__1nMakeOffset");
}
#if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeOffset
(kref __Kinstance, jfloat dx, jfloat dy, jlong inputPtr, jobject cropObj) {
SkImageFilter* input = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(inputPtr));
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj);
SkImageFilter* ptr = SkImageFilters::Offset(dx, dy, sk_ref_sp(input), crop.get()).release();
return reinterpret_cast<jlong>(ptr);
}
#endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakePaint
(kref __Kinstance, jlong paintPtr, jobject cropObj) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_ImageFilter__1nMakePaint");
}
#if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakePaint
(kref __Kinstance, jlong paintPtr, jobject cropObj) {
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr));
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj);
SkImageFilter* ptr = SkImageFilters::Paint(*paint, crop.get()).release();
return reinterpret_cast<jlong>(ptr);
}
#endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakePicture
(kref __Kinstance, jlong picturePtr, jfloat l, jfloat t, jfloat r, jfloat b) {
SkPicture* picture = reinterpret_cast<SkPicture*>(static_cast<uintptr_t>(picturePtr));
SkImageFilter* ptr = SkImageFilters::Picture(sk_ref_sp(picture), SkRect{l, t, r, b}).release();
return reinterpret_cast<jlong>(ptr);
}
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeTile
(kref __Kinstance, jfloat l0, jfloat t0, jfloat r0, jfloat b0, jfloat l1, jfloat t1, jfloat r1, jfloat b1, jlong inputPtr) {
SkImageFilter* input = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(inputPtr));
SkImageFilter* ptr = SkImageFilters::Tile(SkRect{l0, t0, r0, b0}, SkRect{l1, t1, r1, b1}, sk_ref_sp(input)).release();
return reinterpret_cast<jlong>(ptr);
}
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeDilate
(kref __Kinstance, float rx, jfloat ry, jlong inputPtr, jobject cropObj) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_ImageFilter__1nMakeDilate");
}
#if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeDilate
(kref __Kinstance, float rx, jfloat ry, jlong inputPtr, jobject cropObj) {
SkImageFilter* input = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(inputPtr));
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj);
SkImageFilter* ptr = SkImageFilters::Dilate(rx, ry, sk_ref_sp(input), crop.get()).release();
return reinterpret_cast<jlong>(ptr);
}
#endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeErode
(kref __Kinstance, float rx, jfloat ry, jlong inputPtr, jobject cropObj) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_ImageFilter__1nMakeErode");
}
#if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeErode
(kref __Kinstance, float rx, jfloat ry, jlong inputPtr, jobject cropObj) {
SkImageFilter* input = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(inputPtr));
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj);
SkImageFilter* ptr = SkImageFilters::Erode(rx, ry, sk_ref_sp(input), crop.get()).release();
return reinterpret_cast<jlong>(ptr);
}
#endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeDistantLitDiffuse
(kref __Kinstance, jfloat x, jfloat y, jfloat z, jint lightColor, jfloat surfaceScale, jfloat kd, jlong inputPtr, jobject cropObj) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_ImageFilter__1nMakeDistantLitDiffuse");
}
#if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeDistantLitDiffuse
(kref __Kinstance, jfloat x, jfloat y, jfloat z, jint lightColor, jfloat surfaceScale, jfloat kd, jlong inputPtr, jobject cropObj) {
SkImageFilter* input = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(inputPtr));
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj);
SkImageFilter* ptr = SkImageFilters::DistantLitDiffuse(SkPoint3{x, y, z}, lightColor, surfaceScale, kd, sk_ref_sp(input), crop.get()).release();
return reinterpret_cast<jlong>(ptr);
}
#endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakePointLitDiffuse
(kref __Kinstance, jfloat x, jfloat y, jfloat z, jint lightColor, jfloat surfaceScale, jfloat kd, jlong inputPtr, jobject cropObj) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_ImageFilter__1nMakePointLitDiffuse");
}
#if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakePointLitDiffuse
(kref __Kinstance, jfloat x, jfloat y, jfloat z, jint lightColor, jfloat surfaceScale, jfloat kd, jlong inputPtr, jobject cropObj) {
SkImageFilter* input = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(inputPtr));
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj);
SkImageFilter* ptr = SkImageFilters::PointLitDiffuse(SkPoint3{x, y, z}, lightColor, surfaceScale, kd, sk_ref_sp(input), crop.get()).release();
return reinterpret_cast<jlong>(ptr);
}
#endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeSpotLitDiffuse
(kref __Kinstance, jfloat x0, jfloat y0, jfloat z0, jfloat x1, jfloat y1, jfloat z1, jfloat falloffExponent, jfloat cutoffAngle, jint lightColor, jfloat surfaceScale, jfloat kd, jlong inputPtr, jobject cropObj) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_ImageFilter__1nMakeSpotLitDiffuse");
}
#if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeSpotLitDiffuse
(kref __Kinstance, jfloat x0, jfloat y0, jfloat z0, jfloat x1, jfloat y1, jfloat z1, jfloat falloffExponent, jfloat cutoffAngle, jint lightColor, jfloat surfaceScale, jfloat kd, jlong inputPtr, jobject cropObj) {
SkImageFilter* input = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(inputPtr));
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj);
SkImageFilter* ptr = SkImageFilters::SpotLitDiffuse(SkPoint3{x0, y0, z0}, SkPoint3{x1, y1, z1}, falloffExponent, cutoffAngle, lightColor, surfaceScale, kd, sk_ref_sp(input), crop.get()).release();
return reinterpret_cast<jlong>(ptr);
}
#endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeDistantLitSpecular
(kref __Kinstance, jfloat x, jfloat y, jfloat z, jint lightColor, jfloat surfaceScale, jfloat ks, jfloat shininess, jlong inputPtr, jobject cropObj) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_ImageFilter__1nMakeDistantLitSpecular");
}
#if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeDistantLitSpecular
(kref __Kinstance, jfloat x, jfloat y, jfloat z, jint lightColor, jfloat surfaceScale, jfloat ks, jfloat shininess, jlong inputPtr, jobject cropObj) {
SkImageFilter* input = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(inputPtr));
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj);
SkImageFilter* ptr = SkImageFilters::DistantLitSpecular(SkPoint3{x, y, z}, lightColor, surfaceScale, ks, shininess, sk_ref_sp(input), crop.get()).release();
return reinterpret_cast<jlong>(ptr);
}
#endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakePointLitSpecular
(kref __Kinstance, jfloat x, jfloat y, jfloat z, jint lightColor, jfloat surfaceScale, jfloat ks, jfloat shininess, jlong inputPtr, jobject cropObj) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_ImageFilter__1nMakePointLitSpecular");
}
#if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakePointLitSpecular
(kref __Kinstance, jfloat x, jfloat y, jfloat z, jint lightColor, jfloat surfaceScale, jfloat ks, jfloat shininess, jlong inputPtr, jobject cropObj) {
SkImageFilter* input = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(inputPtr));
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj);
SkImageFilter* ptr = SkImageFilters::PointLitSpecular(SkPoint3{x, y, z}, lightColor, surfaceScale, ks, shininess, sk_ref_sp(input), crop.get()).release();
return reinterpret_cast<jlong>(ptr);
}
#endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeSpotLitSpecular
(kref __Kinstance, jfloat x0, jfloat y0, jfloat z0, jfloat x1, jfloat y1, jfloat z1, jfloat falloffExponent, jfloat cutoffAngle, jint lightColor, jfloat surfaceScale, jfloat ks, jfloat shininess, jlong inputPtr, jobject cropObj) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_ImageFilter__1nMakeSpotLitSpecular");
}
#if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeSpotLitSpecular
(kref __Kinstance, jfloat x0, jfloat y0, jfloat z0, jfloat x1, jfloat y1, jfloat z1, jfloat falloffExponent, jfloat cutoffAngle, jint lightColor, jfloat surfaceScale, jfloat ks, jfloat shininess, jlong inputPtr, jobject cropObj) {
SkImageFilter* input = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(inputPtr));
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj);
SkImageFilter* ptr = SkImageFilters::SpotLitSpecular(SkPoint3{x0, y0, z0}, SkPoint3{x1, y1, z1}, falloffExponent, cutoffAngle, lightColor, surfaceScale, ks, shininess, sk_ref_sp(input), crop.get()).release();
return reinterpret_cast<jlong>(ptr);
}
#endif
// This file has been auto generated.
#include "SkString.h"
#include "common.h"
static void deleteString(SkString* instance) {
delete instance;
}
extern "C" jlong org_jetbrains_skia_ManagedString__1nGetFinalizer
(kref __Kinstance) {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(&deleteString));
}
extern "C" jlong org_jetbrains_skia_ManagedString__1nMake
(kref __Kinstance, jstring textStr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_ManagedString__1nMake");
}
#if 0
extern "C" jlong org_jetbrains_skia_ManagedString__1nMake
(kref __Kinstance, jstring textStr) {
SkString* text = new SkString(skString(env, textStr));
return reinterpret_cast<jlong>(text);
}
#endif
extern "C" jobject org_jetbrains_skia_ManagedString__1nToString
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_ManagedString__1nToString");
}
#if 0
extern "C" jobject org_jetbrains_skia_ManagedString__1nToString
(kref __Kinstance, jlong ptr) {
SkString* instance = reinterpret_cast<SkString*>(static_cast<uintptr_t>(ptr));
return javaString(env, *instance);
}
#endif
extern "C" void org_jetbrains_skia_ManagedString__1nInsert
(kref __Kinstance, jlong ptr, jint offset, jstring s) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_ManagedString__1nInsert");
}
#if 0
extern "C" void org_jetbrains_skia_ManagedString__1nInsert
(kref __Kinstance, jlong ptr, jint offset, jstring s) {
SkString* instance = reinterpret_cast<SkString*>(static_cast<uintptr_t>(ptr));
skija::UtfIndicesConverter conv(*instance);
instance->insert(conv.from16To8(offset), skString(env, s));
}
#endif
extern "C" void org_jetbrains_skia_ManagedString__1nAppend
(kref __Kinstance, jlong ptr, jstring s) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_ManagedString__1nAppend");
}
#if 0
extern "C" void org_jetbrains_skia_ManagedString__1nAppend
(kref __Kinstance, jlong ptr, jstring s) {
SkString* instance = reinterpret_cast<SkString*>(static_cast<uintptr_t>(ptr));
instance->append(skString(env, s));
}
#endif
extern "C" void org_jetbrains_skia_ManagedString__1nRemoveSuffix
(kref __Kinstance, jlong ptr, jint from) {
SkString* instance = reinterpret_cast<SkString*>(static_cast<uintptr_t>(ptr));
skija::UtfIndicesConverter conv(*instance);
size_t from8 = conv.from16To8(from);
instance->remove(from8, instance->size() - from8);
}
extern "C" void org_jetbrains_skia_ManagedString__1nRemove
(kref __Kinstance, jlong ptr, jint from, jint len) {
SkString* instance = reinterpret_cast<SkString*>(static_cast<uintptr_t>(ptr));
skija::UtfIndicesConverter conv(*instance);
size_t from8 = conv.from16To8(from);
size_t to8 = conv.from16To8(from + len);
instance->remove(from8, to8 - from8);
}
// This file has been auto generated.
#include <iostream>
#include "SkMaskFilter.h"
#include "SkShader.h"
#include "SkShaderMaskFilter.h"
#include "SkTableMaskFilter.h"
#include "common.h"
extern "C" jlong org_jetbrains_skia_MaskFilter__1nMakeBlur
(kref __Kinstance, jint blurStyleInt, jfloat sigma, jboolean respectCTM) {
SkBlurStyle blurStyle = static_cast<SkBlurStyle>(blurStyleInt);
SkMaskFilter* ptr = SkMaskFilter::MakeBlur(blurStyle, sigma, respectCTM).release();
return reinterpret_cast<jlong>(ptr);
}
extern "C" jlong org_jetbrains_skia_MaskFilter__1nMakeShader
(kref __Kinstance, jlong shaderPtr) {
SkShader* shader = reinterpret_cast<SkShader*>(static_cast<uintptr_t>(shaderPtr));
SkMaskFilter* ptr = SkShaderMaskFilter::Make(sk_ref_sp(shader)).release();
return reinterpret_cast<jlong>(ptr);
}
extern "C" jlong org_jetbrains_skia_MaskFilter__1nMakeTable
(kref __Kinstance, jbyteArray tableArray) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_MaskFilter__1nMakeTable");
}
#if 0
extern "C" jlong org_jetbrains_skia_MaskFilter__1nMakeTable
(kref __Kinstance, jbyteArray tableArray) {
jbyte* table = env->GetByteArrayElements(tableArray, 0);
SkMaskFilter* ptr = SkTableMaskFilter::Create(reinterpret_cast<uint8_t*>(table));
env->ReleaseByteArrayElements(tableArray, table, 0);
return reinterpret_cast<jlong>(ptr);
}
#endif
extern "C" jlong org_jetbrains_skia_MaskFilter__1nMakeGamma
(kref __Kinstance, jfloat gamma) {
SkMaskFilter* ptr = SkTableMaskFilter::CreateGamma(gamma);
return reinterpret_cast<jlong>(ptr);
}
extern "C" jlong org_jetbrains_skia_MaskFilter__1nMakeClip
(kref __Kinstance, jbyte min, jbyte max) {
SkMaskFilter* ptr = SkTableMaskFilter::CreateClip(static_cast<uint8_t>(min), static_cast<uint8_t>(max));
return reinterpret_cast<jlong>(ptr);
}
// This file has been auto generated.
#include <iostream>
#include "SkStream.h"
#include "common.h"
extern "C" jlong org_jetbrains_skia_OutputWStream__1nGetFinalizer
(kref __Kinstance) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_OutputWStream__1nGetFinalizer");
}
#if 0
extern "C" jlong org_jetbrains_skia_OutputWStream__1nGetFinalizer
(kref __Kinstance) {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(&deleteOutputWStream));
}
#endif
extern "C" jlong org_jetbrains_skia_OutputWStream__1nMake
(kref __Kinstance, jobject outputStream) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_OutputWStream__1nMake");
}
#if 0
extern "C" jlong org_jetbrains_skia_OutputWStream__1nMake
(kref __Kinstance, jobject outputStream) {
OutputWStream* instance = new OutputWStream(env, outputStream);
return reinterpret_cast<jlong>(instance);
}
#endif
// This file has been auto generated.
#include <iostream>
#include "SkColorFilter.h"
#include "SkImageFilter.h"
#include "SkMaskFilter.h"
#include "SkPaint.h"
#include "SkPathEffect.h"
#include "SkShader.h"
#include "SkFilterQuality.h"
#include "common.h"
static void deletePaint(SkPaint* paint) {
delete paint;
}
extern "C" jlong org_jetbrains_skia_Paint__1nGetFinalizer
(kref __Kinstance) {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(&deletePaint));
}
extern "C" jlong org_jetbrains_skia_Paint__1nMake
(kref __Kinstance) {
SkPaint* obj = new SkPaint();
obj->setAntiAlias(true);
return reinterpret_cast<jlong>(obj);
}
extern "C" jlong org_jetbrains_skia_Paint__1nMakeClone
(kref __Kinstance, jlong ptr) {
SkPaint* instance = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(ptr));
SkPaint* obj = new SkPaint(*instance);
return reinterpret_cast<jlong>(obj);
}
extern "C" jboolean org_jetbrains_skia_Paint__1nEquals
(kref __Kinstance, jlong aPtr, jlong bPtr) {
SkPaint* a = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(aPtr));
SkPaint* b = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(bPtr));
return *a == *b;
}
extern "C" void org_jetbrains_skia_Paint__1nReset
(kref __Kinstance, jlong ptr) {
SkPaint* instance = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(ptr));
instance->reset();
}
extern "C" jboolean org_jetbrains_skia_Paint__1nIsAntiAlias
(kref __Kinstance, jlong ptr) {
SkPaint* instance = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(ptr));
return instance->isAntiAlias();
}
extern "C" void org_jetbrains_skia_Paint__1nSetAntiAlias
(kref __Kinstance, jlong ptr, jboolean value) {
SkPaint* instance = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(ptr));
instance->setAntiAlias(value);
}
extern "C" jboolean org_jetbrains_skia_Paint__1nIsDither
(kref __Kinstance, jlong ptr) {
SkPaint* instance = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(ptr));
return instance->isDither();
}
extern "C" void org_jetbrains_skia_Paint__1nSetDither
(kref __Kinstance, jlong ptr, jboolean value) {
SkPaint* instance = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(ptr));
instance->setDither(value);
}
extern "C" jint org_jetbrains_skia_Paint__1nGetColor
(kref __Kinstance, jlong ptr) {
SkPaint* instance = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(ptr));
return instance->getColor();
}
extern "C" void org_jetbrains_skia_Paint__1nSetColor
(kref __Kinstance, jlong ptr, jint color) {
SkPaint* instance = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(ptr));
instance->setColor(color);
}
extern "C" jobject org_jetbrains_skia_Paint__1nGetColor4f
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Paint__1nGetColor4f");
}
#if 0
extern "C" jobject org_jetbrains_skia_Paint__1nGetColor4f
(kref __Kinstance, jlong ptr) {
SkPaint* instance = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(ptr));
SkColor4f color = instance->getColor4f();
return env->NewObject(skija::Color4f::cls, skija::Color4f::ctor, color.fR, color.fG, color.fB, color.fA);
}
#endif
extern "C" void org_jetbrains_skia_Paint__1nSetColor4f
(kref __Kinstance, jlong ptr, jfloat r, jfloat g, jfloat b, jfloat a, jlong colorSpacePtr) {
SkPaint* instance = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(ptr));
SkColorSpace* colorSpace = reinterpret_cast<SkColorSpace*>(static_cast<uintptr_t>(colorSpacePtr));
instance->setColor4f({r, g, b, a}, colorSpace);
}
extern "C" jint org_jetbrains_skia_Paint__1nGetMode
(kref __Kinstance, jlong ptr) {
SkPaint* instance = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(ptr));
return static_cast<jlong>(instance->getStyle());
}
extern "C" void org_jetbrains_skia_Paint__1nSetMode
(kref __Kinstance, jlong ptr, jint mode) {
SkPaint* instance = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(ptr));
instance->setStyle(static_cast<SkPaint::Style>(mode));
}
extern "C" jfloat org_jetbrains_skia_Paint__1nGetStrokeWidth
(kref __Kinstance, jlong ptr) {
SkPaint* instance = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(ptr));
return instance->getStrokeWidth();
}
extern "C" void org_jetbrains_skia_Paint__1nSetStrokeWidth
(kref __Kinstance, jlong ptr, jfloat width) {
SkPaint* instance = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(ptr));
instance->setStrokeWidth(width);
}
extern "C" jfloat org_jetbrains_skia_Paint__1nGetStrokeMiter
(kref __Kinstance, jlong ptr) {
SkPaint* instance = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(ptr));
return instance->getStrokeMiter();
}
extern "C" void org_jetbrains_skia_Paint__1nSetStrokeMiter
(kref __Kinstance, jlong ptr, jfloat miter) {
SkPaint* instance = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(ptr));
instance->setStrokeMiter(miter);
}
extern "C" jint org_jetbrains_skia_Paint__1nGetStrokeCap
(kref __Kinstance, jlong ptr) {
SkPaint* instance = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(ptr));
return static_cast<jlong>(instance->getStrokeCap());
}
extern "C" void org_jetbrains_skia_Paint__1nSetStrokeCap
(kref __Kinstance, jlong ptr, jint cap) {
SkPaint* instance = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(ptr));
instance->setStrokeCap(static_cast<SkPaint::Cap>(cap));
}
extern "C" jint org_jetbrains_skia_Paint__1nGetStrokeJoin
(kref __Kinstance, jlong ptr) {
SkPaint* instance = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(ptr));
return static_cast<jlong>(instance->getStrokeJoin());
}
extern "C" void org_jetbrains_skia_Paint__1nSetStrokeJoin
(kref __Kinstance, jlong ptr, jint join) {
SkPaint* instance = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(ptr));
instance->setStrokeJoin(static_cast<SkPaint::Join>(join));
}
extern "C" jlong org_jetbrains_skia_Paint__1nGetFillPath
(kref __Kinstance, jlong ptr, jlong srcPtr, jfloat resScale) {
SkPaint* instance = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(ptr));
SkPath* src = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(srcPtr));
SkPath* dst = new SkPath();
instance->getFillPath(*src, dst, nullptr, resScale);
return reinterpret_cast<jlong>(dst);
}
extern "C" jlong org_jetbrains_skia_Paint__1nGetFillPathCull
(kref __Kinstance, jlong ptr, jlong srcPtr, jfloat left, jfloat top, jfloat right, jfloat bottom, jfloat resScale) {
SkPaint* instance = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(ptr));
SkPath* src = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(srcPtr));
SkPath* dst = new SkPath();
SkRect cull {left, top, right, bottom};
instance->getFillPath(*src, dst, &cull, resScale);
return reinterpret_cast<jlong>(dst);
}
extern "C" jlong org_jetbrains_skia_Paint__1nGetMaskFilter
(kref __Kinstance, jlong ptr) {
SkPaint* instance = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(ptr));
return reinterpret_cast<jlong>(instance->refMaskFilter().release());
}
extern "C" void org_jetbrains_skia_Paint__1nSetMaskFilter
(kref __Kinstance, jlong ptr, jlong filterPtr) {
SkPaint* instance = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(ptr));
SkMaskFilter* filter = reinterpret_cast<SkMaskFilter*>(static_cast<uintptr_t>(filterPtr));
instance->setMaskFilter(sk_ref_sp<SkMaskFilter>(filter));
}
extern "C" jlong org_jetbrains_skia_Paint__1nGetImageFilter
(kref __Kinstance, jlong ptr) {
SkPaint* instance = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(ptr));
return reinterpret_cast<jlong>(instance->refImageFilter().release());
}
extern "C" void org_jetbrains_skia_Paint__1nSetImageFilter
(kref __Kinstance, jlong ptr, jlong filterPtr) {
SkPaint* instance = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(ptr));
SkImageFilter* filter = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(filterPtr));
instance->setImageFilter(sk_ref_sp<SkImageFilter>(filter));
}
extern "C" jint org_jetbrains_skia_Paint__1nGetBlendMode
(kref __Kinstance, jlong ptr) {
SkPaint* instance = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(ptr));
return static_cast<jlong>(instance->getBlendMode_or(SkBlendMode::kSrcOver));
}
extern "C" void org_jetbrains_skia_Paint__1nSetBlendMode
(kref __Kinstance, jlong ptr, jint mode) {
SkPaint* instance = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(ptr));
instance->setBlendMode(static_cast<SkBlendMode>(mode));
}
extern "C" jlong org_jetbrains_skia_Paint__1nGetPathEffect
(kref __Kinstance, jlong ptr) {
SkPaint* instance = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(ptr));
return reinterpret_cast<jlong>(instance->refPathEffect().release());
}
extern "C" void org_jetbrains_skia_Paint__1nSetPathEffect
(kref __Kinstance, jlong ptr, jlong pathEffectPtr) {
SkPaint* instance = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(ptr));
SkPathEffect* pathEffect = reinterpret_cast<SkPathEffect*>(static_cast<uintptr_t>(pathEffectPtr));
instance->setPathEffect(sk_ref_sp(pathEffect));
}
extern "C" jlong org_jetbrains_skia_Paint__1nGetShader
(kref __Kinstance, jlong ptr) {
SkPaint* instance = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(ptr));
return reinterpret_cast<jlong>(instance->refShader().release());
}
extern "C" void org_jetbrains_skia_Paint__1nSetShader
(kref __Kinstance, jlong ptr, jlong shaderPtr) {
SkPaint* instance = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(ptr));
SkShader* shader = reinterpret_cast<SkShader*>(static_cast<uintptr_t>(shaderPtr));
instance->setShader(sk_ref_sp<SkShader>(shader));
}
extern "C" jlong org_jetbrains_skia_Paint__1nGetColorFilter
(kref __Kinstance, jlong ptr) {
SkPaint* instance = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(ptr));
return reinterpret_cast<jlong>(instance->refColorFilter().release());
}
extern "C" void org_jetbrains_skia_Paint__1nSetColorFilter
(kref __Kinstance, jlong ptr, jlong colorFilterPtr) {
SkPaint* instance = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(ptr));
SkColorFilter* colorFilter = reinterpret_cast<SkColorFilter*>(static_cast<uintptr_t>(colorFilterPtr));
instance->setColorFilter(sk_ref_sp<SkColorFilter>(colorFilter));
}
extern "C" jboolean org_jetbrains_skia_Paint__1nHasNothingToDraw
(kref __Kinstance, jlong ptr) {
SkPaint* instance = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(ptr));
return instance->nothingToDraw();
}
// This file has been auto generated.
#include <iostream>
#include "SkCanvas.h"
#include "SkDrawable.h"
#include "SkPaintFilterCanvas.h"
#include "common.h"
extern "C" void org_jetbrains_skia_PaintFilterCanvas__1nAttachToJava
(kref __Kinstance, jlong canvasPtr, jboolean unrollDrawable) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_PaintFilterCanvas__1nAttachToJava");
}
#if 0
extern "C" void org_jetbrains_skia_PaintFilterCanvas__1nAttachToJava
(kref __Kinstance, jlong canvasPtr, jboolean unrollDrawable) {
SkijaPaintFilterCanvas* canvas = reinterpret_cast<SkijaPaintFilterCanvas*>(static_cast<uintptr_t>(canvasPtr));
canvas->jobj = skija::PaintFilterCanvas::attach(env, jobj);
}
#endif
extern "C" jlong org_jetbrains_skia_PaintFilterCanvas__1nMake
(kref __Kinstance, jlong canvasPtr, jboolean unrollDrawable) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_PaintFilterCanvas__1nMake");
}
#if 0
extern "C" jlong org_jetbrains_skia_PaintFilterCanvas__1nMake
(kref __Kinstance, jlong canvasPtr, jboolean unrollDrawable) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr));
SkijaPaintFilterCanvas* filterCanvas = new SkijaPaintFilterCanvas(canvas, unrollDrawable);
return reinterpret_cast<jlong>(filterCanvas);
}
#endif
// This file has been auto generated.
#include <algorithm>
#include <cfloat>
#include <iostream>
#include <vector>
#include "SkPath.h"
#include "SkPathOps.h"
#include "include/utils/SkParsePath.h"
#include "common.h"
static void deletePath(SkPath* path) {
// std::cout << "Deleting [SkPath " << path << "]" << std::endl;
delete path;
}
extern "C" jlong org_jetbrains_skia_Path__1nGetFinalizer(kref __Kinstance) {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(&deletePath));
}
extern "C" jlong org_jetbrains_skia_Path__1nMake(kref __Kinstance) {
SkPath* obj = new SkPath();
return reinterpret_cast<jlong>(obj);
}
extern "C" jlong org_jetbrains_skia_Path__1nMakeFromSVGString
(kref __Kinstance, jstring d) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Path__1nMakeFromSVGString");
}
#if 0
extern "C" jlong org_jetbrains_skia_Path__1nMakeFromSVGString
(kref __Kinstance, jstring d) {
SkPath* obj = new SkPath();
SkString s = skString(env, d);
if (SkParsePath::FromSVGString(s.c_str(), obj))
return reinterpret_cast<jlong>(obj);
else {
delete obj;
return 0;
}
}
#endif
extern "C" jboolean org_jetbrains_skia_Path__1nEquals(kref __Kinstance, jlong aPtr, jlong bPtr) {
SkPath* a = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(aPtr));
SkPath* b = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(bPtr));
return *a == *b;
}
extern "C" jboolean org_jetbrains_skia_Path__1nIsInterpolatable(kref __Kinstance, jlong ptr, jlong comparePtr) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
SkPath* compare = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(comparePtr));
return instance->isInterpolatable(*compare);
}
extern "C" jlong org_jetbrains_skia_Path__1nMakeLerp(kref __Kinstance, jlong ptr, jlong endingPtr, jfloat weight) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
SkPath* ending = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(endingPtr));
SkPath* out = new SkPath();
if (instance->interpolate(*ending, weight, out)) {
return reinterpret_cast<jlong>(out);
} else {
delete out;
return 0;
}
}
extern "C" jint org_jetbrains_skia_Path__1nGetFillMode(kref __Kinstance, jlong ptr) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
return static_cast<jint>(instance->getFillType());
}
extern "C" void org_jetbrains_skia_Path__1nSetFillMode(kref __Kinstance, jlong ptr, jint fillMode) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
instance->setFillType(static_cast<SkPathFillType>(fillMode));
}
extern "C" jboolean org_jetbrains_skia_Path__1nIsConvex(kref __Kinstance, jlong ptr) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
return instance->isConvex();
}
extern "C" jobject org_jetbrains_skia_Path__1nIsOval(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Path__1nIsOval(kref");
}
#if 0
extern "C" jobject org_jetbrains_skia_Path__1nIsOval(kref __Kinstance, jlong ptr) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
SkRect bounds;
if (instance->isOval(&bounds))
return skija::Rect::fromSkRect(env, bounds);
else
return nullptr;
}
#endif
extern "C" jobject org_jetbrains_skia_Path__1nIsRRect(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Path__1nIsRRect(kref");
}
#if 0
extern "C" jobject org_jetbrains_skia_Path__1nIsRRect(kref __Kinstance, jlong ptr) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
SkRRect rrect;
if (instance->isRRect(&rrect))
return skija::RRect::fromSkRRect(env, rrect);
else
return nullptr;
}
#endif
extern "C" void org_jetbrains_skia_Path__1nReset(kref __Kinstance, jlong ptr) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
instance->reset();
}
extern "C" void org_jetbrains_skia_Path__1nRewind(kref __Kinstance, jlong ptr) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
instance->rewind();
}
extern "C" jboolean org_jetbrains_skia_Path__1nIsEmpty(kref __Kinstance, jlong ptr) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
return instance->isEmpty();
}
extern "C" jboolean org_jetbrains_skia_Path__1nIsLastContourClosed(kref __Kinstance, jlong ptr) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
return instance->isLastContourClosed();
}
extern "C" jboolean org_jetbrains_skia_Path__1nIsFinite(kref __Kinstance, jlong ptr) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
return instance->isFinite();
}
extern "C" jboolean org_jetbrains_skia_Path__1nIsVolatile(kref __Kinstance, jlong ptr) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
return instance->isVolatile();
}
extern "C" void org_jetbrains_skia_Path__1nSetVolatile(kref __Kinstance, jlong ptr, jboolean isVolatile) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
instance->setIsVolatile(isVolatile);
}
extern "C" jboolean org_jetbrains_skia_Path__1nIsLineDegenerate(kref __Kinstance, jfloat x0, jfloat y0, jfloat x1, jfloat y1, jboolean exact) {
return SkPath::IsLineDegenerate({x0, y0}, {x1, y1}, exact);
}
extern "C" jboolean org_jetbrains_skia_Path__1nIsQuadDegenerate(kref __Kinstance, jfloat x0, jfloat y0, jfloat x1, jfloat y1, jfloat x2, jfloat y2, jboolean exact) {
return SkPath::IsQuadDegenerate({x0, y0}, {x1, y1}, {x2, y2}, exact);
}
extern "C" jboolean org_jetbrains_skia_Path__1nIsCubicDegenerate(kref __Kinstance, jfloat x0, jfloat y0, jfloat x1, jfloat y1, jfloat x2, jfloat y2, jfloat x3, jfloat y3, jboolean exact) {
return SkPath::IsCubicDegenerate({x0, y0}, {x1, y1}, {x2, y2}, {x3, y3}, exact);
}
extern "C" jobjectArray org_jetbrains_skia_Path__1nMaybeGetAsLine(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Path__1nMaybeGetAsLine(kref");
}
#if 0
extern "C" jobjectArray org_jetbrains_skia_Path__1nMaybeGetAsLine(kref __Kinstance, jlong ptr) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
SkPoint line[2];
if (instance->isLine(line)) {
jobjectArray res = env->NewObjectArray(2, skija::Point::cls, nullptr);
env->SetObjectArrayElement(res, 0, skija::Point::fromSkPoint(env, line[0]));
env->SetObjectArrayElement(res, 1, skija::Point::fromSkPoint(env, line[1]));
return res;
} else
return nullptr;
}
#endif
extern "C" jint org_jetbrains_skia_Path__1nGetPointsCount(kref __Kinstance, jlong ptr) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
return instance->countPoints();
}
extern "C" jobject org_jetbrains_skia_Path__1nGetPoint(kref __Kinstance, jlong ptr, jint index) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Path__1nGetPoint(kref");
}
#if 0
extern "C" jobject org_jetbrains_skia_Path__1nGetPoint(kref __Kinstance, jlong ptr, jint index) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
SkPoint p = instance->getPoint(index);
return skija::Point::fromSkPoint(env, p);
}
#endif
extern "C" jint org_jetbrains_skia_Path__1nGetPoints(kref __Kinstance, jlong ptr, jobjectArray pointsArray, jint max) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Path__1nGetPoints(kref");
}
#if 0
extern "C" jint org_jetbrains_skia_Path__1nGetPoints(kref __Kinstance, jlong ptr, jobjectArray pointsArray, jint max) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
std::vector<SkPoint> p(std::min<jint>(max, instance->countPoints()));
int count = instance->getPoints(p.data(), max);
for (int i = 0; i < max && i < count; ++ i)
env->SetObjectArrayElement(pointsArray, i, skija::Point::fromSkPoint(env, p[i]));
return count;
}
#endif
extern "C" jint org_jetbrains_skia_Path__1nCountVerbs(kref __Kinstance, jlong ptr) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
return instance->countVerbs();
}
extern "C" jint org_jetbrains_skia_Path__1nGetVerbs(kref __Kinstance, jlong ptr, jbyteArray verbsArray, jint max) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Path__1nGetVerbs(kref");
}
#if 0
extern "C" jint org_jetbrains_skia_Path__1nGetVerbs(kref __Kinstance, jlong ptr, jbyteArray verbsArray, jint max) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
jbyte* verbs = verbsArray == nullptr ? nullptr : env->GetByteArrayElements(verbsArray, 0);
int count = instance->getVerbs(reinterpret_cast<uint8_t *>(verbs), max);
if (verbsArray != nullptr)
env->ReleaseByteArrayElements(verbsArray, verbs, 0);
return count;
}
#endif
extern "C" jint org_jetbrains_skia_Path__1nApproximateBytesUsed(kref __Kinstance, jlong ptr) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
return (jint) instance->approximateBytesUsed();
}
extern "C" void org_jetbrains_skia_Path__1nSwap(kref __Kinstance, jlong ptr, jlong otherPtr) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
SkPath* other = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(otherPtr));
instance->swap(*other);
}
extern "C" jobject org_jetbrains_skia_Path__1nGetBounds(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Path__1nGetBounds(kref");
}
#if 0
extern "C" jobject org_jetbrains_skia_Path__1nGetBounds(kref __Kinstance, jlong ptr) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
return skija::Rect::fromSkRect(env, instance->getBounds());
}
#endif
extern "C" void org_jetbrains_skia_Path__1nUpdateBoundsCache(kref __Kinstance, jlong ptr) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
instance->updateBoundsCache();
}
extern "C" jobject org_jetbrains_skia_Path__1nComputeTightBounds(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Path__1nComputeTightBounds(kref");
}
#if 0
extern "C" jobject org_jetbrains_skia_Path__1nComputeTightBounds(kref __Kinstance, jlong ptr) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
return skija::Rect::fromSkRect(env, instance->computeTightBounds());
}
#endif
extern "C" jboolean org_jetbrains_skia_Path__1nConservativelyContainsRect(kref __Kinstance, jlong ptr, float l, float t, float r, float b) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
SkRect rect {l, t, r, b};
return instance->conservativelyContainsRect(rect);
}
extern "C" void org_jetbrains_skia_Path__1nIncReserve(kref __Kinstance, jlong ptr, int extraPtCount) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
instance->incReserve(extraPtCount);
}
extern "C" void org_jetbrains_skia_Path__1nMoveTo(kref __Kinstance, jlong ptr, jfloat x, jfloat y) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
instance->moveTo(x, y);
}
extern "C" void org_jetbrains_skia_Path__1nRMoveTo(kref __Kinstance, jlong ptr, jfloat dx, jfloat dy) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
instance->rMoveTo(dx, dy);
}
extern "C" void org_jetbrains_skia_Path__1nLineTo(kref __Kinstance, jlong ptr, jfloat x, jfloat y) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
instance->lineTo(x, y);
}
extern "C" void org_jetbrains_skia_Path__1nRLineTo(kref __Kinstance, jlong ptr, jfloat dx, jfloat dy) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
instance->rLineTo(dx, dy);
}
extern "C" void org_jetbrains_skia_Path__1nQuadTo(kref __Kinstance, jlong ptr, jfloat x1, jfloat y1, jfloat x2, jfloat y2) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
instance->quadTo(x1, y1, x2, y2);
}
extern "C" void org_jetbrains_skia_Path__1nRQuadTo(kref __Kinstance, jlong ptr, jfloat dx1, jfloat dy1, jfloat dx2, jfloat dy2) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
instance->rQuadTo(dx1, dy1, dx2, dy2);
}
extern "C" void org_jetbrains_skia_Path__1nConicTo(kref __Kinstance, jlong ptr, jfloat x1, jfloat y1, jfloat x2, jfloat y2, jfloat w) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
instance->conicTo(x1, y1, x2, y2, w);
}
extern "C" void org_jetbrains_skia_Path__1nRConicTo(kref __Kinstance, jlong ptr, jfloat dx1, jfloat dy1, jfloat dx2, jfloat dy2, jfloat w) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
instance->rConicTo(dx1, dy1, dx2, dy2, w);
}
extern "C" void org_jetbrains_skia_Path__1nCubicTo(kref __Kinstance, jlong ptr, jfloat x1, jfloat y1, jfloat x2, jfloat y2, jfloat x3, jfloat y3) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
instance->cubicTo(x1, y1, x2, y2, x3, y3);
}
extern "C" void org_jetbrains_skia_Path__1nRCubicTo(kref __Kinstance, jlong ptr, jfloat dx1, jfloat dy1, jfloat dx2, jfloat dy2, jfloat dx3, jfloat dy3) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
instance->rCubicTo(dx1, dy1, dx2, dy2, dx3, dy3);
}
extern "C" void org_jetbrains_skia_Path__1nArcTo(kref __Kinstance, jlong ptr, jfloat left, jfloat top, jfloat right, jfloat bottom, jfloat startAngle, jfloat sweepAngle, jboolean forceMoveTo) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
instance->arcTo({left, top, right, bottom}, startAngle, sweepAngle, forceMoveTo);
}
extern "C" void org_jetbrains_skia_Path__1nTangentArcTo(kref __Kinstance, jlong ptr, jfloat x1, jfloat y1, jfloat x2, jfloat y2, jfloat radius) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
instance->arcTo(x1, y1, x2, y2, radius);
}
extern "C" void org_jetbrains_skia_Path__1nEllipticalArcTo(kref __Kinstance, jlong ptr, jfloat rx, jfloat ry, jfloat xAxisRotate, jint size, jint direction, jfloat x, float y) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
instance->arcTo(rx, ry, xAxisRotate, static_cast<SkPath::ArcSize>(size), static_cast<SkPathDirection>(direction), x, y);
}
extern "C" void org_jetbrains_skia_Path__1nREllipticalArcTo(kref __Kinstance, jlong ptr, jfloat rx, jfloat ry, jfloat xAxisRotate, jint size, jint direction, jfloat dx, float dy) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
instance->rArcTo(rx, ry, xAxisRotate, static_cast<SkPath::ArcSize>(size), static_cast<SkPathDirection>(direction), dx, dy);
}
extern "C" void org_jetbrains_skia_Path__1nClosePath(kref __Kinstance, jlong ptr) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
instance->close();
}
extern "C" jobjectArray org_jetbrains_skia_Path__1nConvertConicToQuads
(kref __Kinstance, jfloat x0, jfloat y0, jfloat x1, jfloat y1, jfloat x2, jfloat y2, jfloat w, jint pow2) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Path__1nConvertConicToQuads");
}
#if 0
extern "C" jobjectArray org_jetbrains_skia_Path__1nConvertConicToQuads
(kref __Kinstance, jfloat x0, jfloat y0, jfloat x1, jfloat y1, jfloat x2, jfloat y2, jfloat w, jint pow2) {
std::vector<SkPoint> pts(1 + 2 * (1 << pow2));
int count = SkPath::ConvertConicToQuads({x0, y0}, {x1, y1}, {x2, y2}, w, pts.data(), pow2);
jobjectArray res = env->NewObjectArray(count, skija::Point::cls, nullptr);
for (int i = 0; i < count; ++i) {
env->SetObjectArrayElement(res, i, skija::Point::fromSkPoint(env, pts[i]));
}
return res;
}
#endif
extern "C" jobject org_jetbrains_skia_Path__1nIsRect
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Path__1nIsRect");
}
#if 0
extern "C" jobject org_jetbrains_skia_Path__1nIsRect
(kref __Kinstance, jlong ptr) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
SkRect rect;
if (instance->isRect(&rect))
return skija::Rect::fromSkRect(env, rect);
else
return nullptr;
}
#endif
extern "C" void org_jetbrains_skia_Path__1nAddRect
(kref __Kinstance, jlong ptr, jfloat l, jfloat t, jfloat r, jfloat b, jint dirInt, jint start) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
SkPathDirection dir = static_cast<SkPathDirection>(dirInt);
instance->addRect({l, t, r, b}, dir, start);
}
extern "C" void org_jetbrains_skia_Path__1nAddOval
(kref __Kinstance, jlong ptr, jfloat l, jfloat t, jfloat r, jfloat b, jint dirInt, jint start) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
SkPathDirection dir = static_cast<SkPathDirection>(dirInt);
instance->addOval({l, t, r, b}, dir, start);
}
extern "C" void org_jetbrains_skia_Path__1nAddCircle
(kref __Kinstance, jlong ptr, jfloat x, jfloat y, jfloat r, jint dirInt) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
SkPathDirection dir = static_cast<SkPathDirection>(dirInt);
instance->addCircle(x, y, r, dir);
}
extern "C" void org_jetbrains_skia_Path__1nAddArc
(kref __Kinstance, jlong ptr, jfloat l, jfloat t, jfloat r, jfloat b, jfloat startAngle, jfloat sweepAngle) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
instance->addArc({l, t, r, b}, startAngle, sweepAngle);
}
extern "C" void org_jetbrains_skia_Path__1nAddRRect
(kref __Kinstance, jlong ptr, jfloat l, jfloat t, jfloat r, jfloat b, jfloatArray radii, jint dirInt, jint start) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Path__1nAddRRect");
}
#if 0
extern "C" void org_jetbrains_skia_Path__1nAddRRect
(kref __Kinstance, jlong ptr, jfloat l, jfloat t, jfloat r, jfloat b, jfloatArray radii, jint dirInt, jint start) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
SkRRect rrect = skija::RRect::toSkRRect(env, l, t, r, b, radii);
SkPathDirection dir = static_cast<SkPathDirection>(dirInt);
instance->addRRect(rrect, dir, start);
}
#endif
extern "C" void org_jetbrains_skia_Path__1nAddPoly
(kref __Kinstance, jlong ptr, jfloatArray coords, jboolean close) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Path__1nAddPoly");
}
#if 0
extern "C" void org_jetbrains_skia_Path__1nAddPoly
(kref __Kinstance, jlong ptr, jfloatArray coords, jboolean close) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
jsize len = env->GetArrayLength(coords);
jfloat* arr = env->GetFloatArrayElements(coords, 0);
instance->addPoly(reinterpret_cast<SkPoint*>(arr), len / 2, close);
env->ReleaseFloatArrayElements(coords, arr, 0);
}
#endif
extern "C" void org_jetbrains_skia_Path__1nAddPath
(kref __Kinstance, jlong ptr, jlong srcPtr, jboolean extend) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
SkPath* src = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(srcPtr));
SkPath::AddPathMode mode = extend ? SkPath::AddPathMode::kExtend_AddPathMode : SkPath::AddPathMode::kAppend_AddPathMode;
instance->addPath(*src, mode);
}
extern "C" void org_jetbrains_skia_Path__1nAddPathOffset
(kref __Kinstance, jlong ptr, jlong srcPtr, jfloat dx, jfloat dy, jboolean extend) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
SkPath* src = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(srcPtr));
SkPath::AddPathMode mode = extend ? SkPath::AddPathMode::kExtend_AddPathMode : SkPath::AddPathMode::kAppend_AddPathMode;
instance->addPath(*src, dx, dy, mode);
}
extern "C" void org_jetbrains_skia_Path__1nAddPathTransform
(kref __Kinstance, jlong ptr, jlong srcPtr, jfloatArray matrixArr, jboolean extend) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Path__1nAddPathTransform");
}
#if 0
extern "C" void org_jetbrains_skia_Path__1nAddPathTransform
(kref __Kinstance, jlong ptr, jlong srcPtr, jfloatArray matrixArr, jboolean extend) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
SkPath* src = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(srcPtr));
std::unique_ptr<SkMatrix> matrix = skMatrix(env, matrixArr);
SkPath::AddPathMode mode = extend ? SkPath::AddPathMode::kExtend_AddPathMode : SkPath::AddPathMode::kAppend_AddPathMode;
instance->addPath(*src, *matrix, mode);
}
#endif
extern "C" void org_jetbrains_skia_Path__1nReverseAddPath
(kref __Kinstance, jlong ptr, jlong srcPtr) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
SkPath* src = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(srcPtr));
instance->reverseAddPath(*src);
}
extern "C" void org_jetbrains_skia_Path__1nOffset
(kref __Kinstance, jlong ptr, jfloat dx, jfloat dy, jlong dstPtr) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
SkPath* dst = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(dstPtr));
instance->offset(dx, dy, dst);
}
extern "C" void org_jetbrains_skia_Path__1nTransform
(kref __Kinstance, jlong ptr, jfloatArray matrixArr, jlong dstPtr, jboolean pcBool) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Path__1nTransform");
}
#if 0
extern "C" void org_jetbrains_skia_Path__1nTransform
(kref __Kinstance, jlong ptr, jfloatArray matrixArr, jlong dstPtr, jboolean pcBool) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
SkPath* dst = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(dstPtr));
std::unique_ptr<SkMatrix> matrix = skMatrix(env, matrixArr);
SkApplyPerspectiveClip pc = pcBool ? SkApplyPerspectiveClip::kYes : SkApplyPerspectiveClip::kNo;
instance->transform(*matrix, dst, pc);
}
#endif
extern "C" jobject org_jetbrains_skia_Path__1nGetLastPt
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Path__1nGetLastPt");
}
#if 0
extern "C" jobject org_jetbrains_skia_Path__1nGetLastPt
(kref __Kinstance, jlong ptr) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
SkPoint out;
if (instance->getLastPt(&out))
return skija::Point::fromSkPoint(env, out);
else
return nullptr;
}
#endif
extern "C" void org_jetbrains_skia_Path__1nSetLastPt
(kref __Kinstance, jlong ptr, jfloat x, jfloat y) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
instance->setLastPt(x, y);
}
extern "C" jint org_jetbrains_skia_Path__1nGetSegmentMasks
(kref __Kinstance, jlong ptr) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
return instance->getSegmentMasks();
}
extern "C" jboolean org_jetbrains_skia_Path__1nContains
(kref __Kinstance, jlong ptr, jfloat x, jfloat y) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
return instance->contains(x, y);
}
extern "C" void org_jetbrains_skia_Path__1nDump
(kref __Kinstance, jlong ptr) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
instance->dump();
}
extern "C" void org_jetbrains_skia_Path__1nDumpHex
(kref __Kinstance, jlong ptr) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
instance->dumpHex();
}
extern "C" jbyteArray org_jetbrains_skia_Path__1nSerializeToBytes
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Path__1nSerializeToBytes");
}
#if 0
extern "C" jbyteArray org_jetbrains_skia_Path__1nSerializeToBytes
(kref __Kinstance, jlong ptr) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
size_t count = instance->writeToMemory(nullptr);
jbyteArray bytesArray = env->NewByteArray((jsize) count);
jbyte* bytes = env->GetByteArrayElements(bytesArray, 0);
instance->writeToMemory(bytes);
env->ReleaseByteArrayElements(bytesArray, bytes, 0);
return bytesArray;
}
#endif
extern "C" jlong org_jetbrains_skia_Path__1nMakeCombining
(kref __Kinstance, jlong aPtr, jlong bPtr, jint jop) {
SkPath* a = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(aPtr));
SkPath* b = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(bPtr));
SkPathOp op = static_cast<SkPathOp>(jop);
auto res = std::make_unique<SkPath>();
if (Op(*a, *b, op, res.get()))
return reinterpret_cast<jlong>(res.release());
else
return 0;
}
extern "C" jlong org_jetbrains_skia_Path__1nMakeFromBytes
(kref __Kinstance, jbyteArray bytesArray) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Path__1nMakeFromBytes");
}
#if 0
extern "C" jlong org_jetbrains_skia_Path__1nMakeFromBytes
(kref __Kinstance, jbyteArray bytesArray) {
SkPath* instance = new SkPath();
int count = env->GetArrayLength(bytesArray);
jbyte* bytes = env->GetByteArrayElements(bytesArray, 0);
if (instance->readFromMemory(bytes, count)) {
env->ReleaseByteArrayElements(bytesArray, bytes, 0);
return reinterpret_cast<jlong>(instance);
} else {
env->ReleaseByteArrayElements(bytesArray, bytes, 0);
delete instance;
return 0;
}
}
#endif
extern "C" jint org_jetbrains_skia_Path__1nGetGenerationId
(kref __Kinstance, jlong ptr) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
return instance->getGenerationID();
}
extern "C" jboolean org_jetbrains_skia_Path__1nIsValid
(kref __Kinstance, jlong ptr) {
SkPath* instance = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(ptr));
return instance->isValid();
}
// This file has been auto generated.
#include <iostream>
#include "SkPathEffect.h"
#include "Sk1DPathEffect.h"
#include "Sk2DPathEffect.h"
#include "SkCornerPathEffect.h"
#include "SkDashPathEffect.h"
#include "SkDiscretePathEffect.h"
#include "common.h"
extern "C" jlong org_jetbrains_skia_PathEffect__1nMakeSum
(kref __Kinstance, jlong firstPtr, jlong secondPtr) {
SkPathEffect* first = reinterpret_cast<SkPathEffect*>(static_cast<uintptr_t>(firstPtr));
SkPathEffect* second = reinterpret_cast<SkPathEffect*>(static_cast<uintptr_t>(secondPtr));
SkPathEffect* ptr = SkPathEffect::MakeSum(sk_ref_sp(first), sk_ref_sp(second)).release();
return reinterpret_cast<jlong>(ptr);
}
extern "C" jlong org_jetbrains_skia_PathEffect__1nMakeCompose
(kref __Kinstance, jlong outerPtr, jlong innerPtr) {
SkPathEffect* outer = reinterpret_cast<SkPathEffect*>(static_cast<uintptr_t>(outerPtr));
SkPathEffect* inner = reinterpret_cast<SkPathEffect*>(static_cast<uintptr_t>(innerPtr));
SkPathEffect* ptr = SkPathEffect::MakeCompose(sk_ref_sp(outer), sk_ref_sp(inner)).release();
return reinterpret_cast<jlong>(ptr);
}
extern "C" jlong org_jetbrains_skia_PathEffect__1nMakePath1D
(kref __Kinstance, jlong pathPtr, jfloat advance, jfloat phase, jint styleInt) {
SkPath* path = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(pathPtr));
SkPath1DPathEffect::Style style = static_cast<SkPath1DPathEffect::Style>(styleInt);
SkPathEffect* ptr = SkPath1DPathEffect::Make(*path, advance, phase, style).release();
return reinterpret_cast<jlong>(ptr);
}
extern "C" jlong org_jetbrains_skia_PathEffect__1nMakePath2D
(kref __Kinstance, jfloatArray matrixArr, jlong pathPtr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_PathEffect__1nMakePath2D");
}
#if 0
extern "C" jlong org_jetbrains_skia_PathEffect__1nMakePath2D
(kref __Kinstance, jfloatArray matrixArr, jlong pathPtr) {
std::unique_ptr<SkMatrix> m = skMatrix(env, matrixArr);
SkPath* path = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(pathPtr));
SkPathEffect* ptr = SkPath2DPathEffect::Make(*m, *path).release();
return reinterpret_cast<jlong>(ptr);
}
#endif
extern "C" jlong org_jetbrains_skia_PathEffect__1nMakeLine2D
(kref __Kinstance, jfloat width, jfloatArray matrixArr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_PathEffect__1nMakeLine2D");
}
#if 0
extern "C" jlong org_jetbrains_skia_PathEffect__1nMakeLine2D
(kref __Kinstance, jfloat width, jfloatArray matrixArr) {
std::unique_ptr<SkMatrix> m = skMatrix(env, matrixArr);
SkPathEffect* ptr = SkLine2DPathEffect::Make(width, *m).release();
return reinterpret_cast<jlong>(ptr);
}
#endif
extern "C" jlong org_jetbrains_skia_PathEffect__1nMakeCorner
(kref __Kinstance, jfloat radius) {
SkPathEffect* ptr = SkCornerPathEffect::Make(radius).release();
return reinterpret_cast<jlong>(ptr);
}
extern "C" jlong org_jetbrains_skia_PathEffect__1nMakeDash
(kref __Kinstance, jfloatArray intervalsArray, jfloat phase) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_PathEffect__1nMakeDash");
}
#if 0
extern "C" jlong org_jetbrains_skia_PathEffect__1nMakeDash
(kref __Kinstance, jfloatArray intervalsArray, jfloat phase) {
jsize len = env->GetArrayLength(intervalsArray);
jfloat* intervals = env->GetFloatArrayElements(intervalsArray, 0);
SkPathEffect* ptr = SkDashPathEffect::Make(intervals, len, phase).release();
env->ReleaseFloatArrayElements(intervalsArray, intervals, 0);
return reinterpret_cast<jlong>(ptr);
}
#endif
extern "C" jlong org_jetbrains_skia_PathEffect__1nMakeDiscrete
(kref __Kinstance, jfloat segLength, jfloat dev, jint seed) {
SkPathEffect* ptr = SkDiscretePathEffect::Make(segLength, dev, static_cast<uint32_t>(seed)).release();
return reinterpret_cast<jlong>(ptr);
}
// This file has been auto generated.
#include "SkPathMeasure.h"
#include "common.h"
static void deletePathMeasure(SkPathMeasure* instance) {
delete instance;
}
extern "C" jlong org_jetbrains_skia_PathMeasure__1nGetFinalizer(kref __Kinstance) {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(&deletePathMeasure));
}
extern "C" jlong org_jetbrains_skia_PathMeasure__1nMake
(kref __Kinstance) {
return reinterpret_cast<jlong>(new SkPathMeasure());
}
extern "C" jlong org_jetbrains_skia_PathMeasure__1nMakePath
(kref __Kinstance, jlong pathPtr, jboolean forceClosed, jfloat resScale) {
SkPath* path = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(pathPtr));
return reinterpret_cast<jlong>(new SkPathMeasure(*path, forceClosed, resScale));
}
extern "C" void org_jetbrains_skia_PathMeasure__1nSetPath
(kref __Kinstance, jlong ptr, jlong pathPtr, jboolean forceClosed) {
SkPathMeasure* instance = reinterpret_cast<SkPathMeasure*>(static_cast<uintptr_t>(ptr));
SkPath* path = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(pathPtr));
instance->setPath(path, forceClosed);
}
extern "C" jfloat org_jetbrains_skia_PathMeasure__1nGetLength
(kref __Kinstance, jlong ptr) {
SkPathMeasure* instance = reinterpret_cast<SkPathMeasure*>(static_cast<uintptr_t>(ptr));
return instance->getLength();
}
extern "C" jobject org_jetbrains_skia_PathMeasure__1nGetPosition
(kref __Kinstance, jlong ptr, jfloat distance) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_PathMeasure__1nGetPosition");
}
#if 0
extern "C" jobject org_jetbrains_skia_PathMeasure__1nGetPosition
(kref __Kinstance, jlong ptr, jfloat distance) {
SkPathMeasure* instance = reinterpret_cast<SkPathMeasure*>(static_cast<uintptr_t>(ptr));
SkPoint position;
if (instance->getPosTan(distance, &position, nullptr))
return skija::Point::fromSkPoint(env, position);
else
return nullptr;
}
#endif
extern "C" jobject org_jetbrains_skia_PathMeasure__1nGetTangent
(kref __Kinstance, jlong ptr, jfloat distance) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_PathMeasure__1nGetTangent");
}
#if 0
extern "C" jobject org_jetbrains_skia_PathMeasure__1nGetTangent
(kref __Kinstance, jlong ptr, jfloat distance) {
SkPathMeasure* instance = reinterpret_cast<SkPathMeasure*>(static_cast<uintptr_t>(ptr));
SkVector tangent;
if (instance->getPosTan(distance, nullptr, &tangent))
return skija::Point::fromSkPoint(env, tangent);
else
return nullptr;
}
#endif
extern "C" jobject org_jetbrains_skia_PathMeasure__1nGetRSXform
(kref __Kinstance, jlong ptr, jfloat distance) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_PathMeasure__1nGetRSXform");
}
#if 0
extern "C" jobject org_jetbrains_skia_PathMeasure__1nGetRSXform
(kref __Kinstance, jlong ptr, jfloat distance) {
SkPathMeasure* instance = reinterpret_cast<SkPathMeasure*>(static_cast<uintptr_t>(ptr));
SkPoint position;
SkVector tangent;
if (instance->getPosTan(distance, &position, &tangent))
return env->NewObject(skija::RSXform::cls, skija::RSXform::ctor, tangent.fX, tangent.fY, position.fX, position.fY);
else
return nullptr;
}
#endif
extern "C" jobject org_jetbrains_skia_PathMeasure__1nGetMatrix
(kref __Kinstance, jlong ptr, jfloat distance, jboolean getPosition, jboolean getTangent) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_PathMeasure__1nGetMatrix");
}
#if 0
extern "C" jobject org_jetbrains_skia_PathMeasure__1nGetMatrix
(kref __Kinstance, jlong ptr, jfloat distance, jboolean getPosition, jboolean getTangent) {
SkPathMeasure* instance = reinterpret_cast<SkPathMeasure*>(static_cast<uintptr_t>(ptr));
SkMatrix matrix;
int flags = 0;
if (getPosition)
flags |= SkPathMeasure::MatrixFlags::kGetPosition_MatrixFlag;
if (getTangent)
flags |= SkPathMeasure::MatrixFlags::kGetTangent_MatrixFlag;
if (instance->getMatrix(distance, &matrix, static_cast<SkPathMeasure::MatrixFlags>(flags))) {
std::vector<float> floats(9);
matrix.get9(floats.data());
return javaFloatArray(env, floats);
} else
return nullptr;
}
#endif
extern "C" jboolean org_jetbrains_skia_PathMeasure__1nGetSegment
(kref __Kinstance, jlong ptr, jfloat startD, jfloat endD, jlong dstPtr, jboolean startWithMoveTo) {
SkPathMeasure* instance = reinterpret_cast<SkPathMeasure*>(static_cast<uintptr_t>(ptr));
SkPath* dst = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(dstPtr));
return instance->getSegment(startD, endD, dst, startWithMoveTo);
}
extern "C" jboolean org_jetbrains_skia_PathMeasure__1nIsClosed
(kref __Kinstance, jlong ptr) {
SkPathMeasure* instance = reinterpret_cast<SkPathMeasure*>(static_cast<uintptr_t>(ptr));
return instance->isClosed();
}
extern "C" jboolean org_jetbrains_skia_PathMeasure__1nNextContour
(kref __Kinstance, jlong ptr) {
SkPathMeasure* instance = reinterpret_cast<SkPathMeasure*>(static_cast<uintptr_t>(ptr));
return instance->nextContour();
}
// This file has been auto generated.
#include "SkPath.h"
#include "common.h"
extern "C" jlong org_jetbrains_skia_PathSegmentIterator__1nMake
(kref __Kinstance, jlong pathPtr, jboolean forceClose) {
SkPath* path = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(pathPtr));
SkPath::Iter* iter = new SkPath::Iter(*path, forceClose);
return reinterpret_cast<jlong>(iter);
}
static void deletePathSegmentIterator(SkPath::Iter* iter) {
// std::cout << "Deleting [SkPathSegmentIterator " << path << "]" << std::endl;
delete iter;
}
extern "C" jlong org_jetbrains_skia_PathSegmentIterator__1nGetFinalizer
(kref __Kinstance) {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(&deletePathSegmentIterator));
}
extern "C" jobject org_jetbrains_skia_PathSegmentIterator__1nNext
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_PathSegmentIterator__1nNext");
}
#if 0
extern "C" jobject org_jetbrains_skia_PathSegmentIterator__1nNext
(kref __Kinstance, jlong ptr) {
SkPath::Iter* instance = reinterpret_cast<SkPath::Iter*>(static_cast<uintptr_t>(ptr));
SkPoint pts[4];
SkPath::Verb verb = instance->next(pts);
jobject segment;
switch (verb) {
case SkPath::Verb::kDone_Verb:
segment = env->NewObject(skija::PathSegment::cls, skija::PathSegment::ctorDone);
break;
case SkPath::Verb::kMove_Verb:
case SkPath::Verb::kClose_Verb:
segment = env->NewObject(skija::PathSegment::cls, skija::PathSegment::ctorMoveClose, static_cast<jint>(verb), pts[0].fX, pts[0].fY, instance->isClosedContour());
break;
case SkPath::Verb::kLine_Verb:
segment = env->NewObject(skija::PathSegment::cls, skija::PathSegment::ctorLine, pts[0].fX, pts[0].fY, pts[1].fX, pts[1].fY, instance->isCloseLine(), instance->isClosedContour());
break;
case SkPath::Verb::kQuad_Verb:
segment = env->NewObject(skija::PathSegment::cls, skija::PathSegment::ctorQuad, pts[0].fX, pts[0].fY, pts[1].fX, pts[1].fY, pts[2].fX, pts[2].fY, instance->isClosedContour());
break;
case SkPath::Verb::kConic_Verb:
segment = env->NewObject(skija::PathSegment::cls, skija::PathSegment::ctorConic, pts[0].fX, pts[0].fY, pts[1].fX, pts[1].fY, pts[2].fX, pts[2].fY, instance->conicWeight(), instance->isClosedContour());
break;
case SkPath::Verb::kCubic_Verb:
segment = env->NewObject(skija::PathSegment::cls, skija::PathSegment::ctorConic, pts[0].fX, pts[0].fY, pts[1].fX, pts[1].fY, pts[2].fX, pts[2].fY, pts[3].fX, pts[3].fY, instance->isClosedContour());
break;
}
return segment;
}
#endif
// This file has been auto generated.
#include <iostream>
#include "SkData.h"
#include "SkPicture.h"
#include "SkShader.h"
#include "common.h"
extern "C" jlong org_jetbrains_skia_Picture__1nMakeFromData
(kref __Kinstance, jlong dataPtr) {
SkData* data = reinterpret_cast<SkData*>(static_cast<uintptr_t>(dataPtr));
SkPicture* instance = SkPicture::MakeFromData(data).release();
return reinterpret_cast<jlong>(instance);
}
extern "C" void org_jetbrains_skia_Picture__1nPlayback
(kref __Kinstance, jlong ptr, jlong canvasPtr, jobject abort) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Picture__1nPlayback");
}
#if 0
extern "C" void org_jetbrains_skia_Picture__1nPlayback
(kref __Kinstance, jlong ptr, jlong canvasPtr, jobject abort) {
SkPicture* instance = reinterpret_cast<SkPicture*>(static_cast<uintptr_t>(ptr));
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr));
if (abort == nullptr) {
instance->playback(canvas, nullptr);
} else {
BooleanSupplierAbort callback(env, abort);
instance->playback(canvas, &callback);
}
}
#endif
extern "C" jobject org_jetbrains_skia_Picture__1nGetCullRect
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Picture__1nGetCullRect");
}
#if 0
extern "C" jobject org_jetbrains_skia_Picture__1nGetCullRect
(kref __Kinstance, jlong ptr) {
SkPicture* instance = reinterpret_cast<SkPicture*>(static_cast<uintptr_t>(ptr));
return skija::Rect::fromSkRect(env, instance->cullRect());
}
#endif
extern "C" jint org_jetbrains_skia_Picture__1nGetUniqueId
(kref __Kinstance, jlong ptr) {
SkPicture* instance = reinterpret_cast<SkPicture*>(static_cast<uintptr_t>(ptr));
return instance->uniqueID();
}
extern "C" jlong org_jetbrains_skia_Picture__1nSerializeToData
(kref __Kinstance, jlong ptr) {
SkPicture* instance = reinterpret_cast<SkPicture*>(static_cast<uintptr_t>(ptr));
SkData* data = instance->serialize().release();
return reinterpret_cast<jlong>(data);
}
extern "C" jlong org_jetbrains_skia_Picture__1nMakePlaceholder
(kref __Kinstance, jfloat left, jfloat top, jfloat right, jfloat bottom) {
SkRect cull = SkRect::MakeLTRB(left, top, right, bottom);
SkPicture* instance = SkPicture::MakePlaceholder(cull).release();
return reinterpret_cast<jlong>(instance);
}
extern "C" jint org_jetbrains_skia_Picture__1nGetApproximateOpCount
(kref __Kinstance, jlong ptr) {
SkPicture* instance = reinterpret_cast<SkPicture*>(static_cast<uintptr_t>(ptr));
return instance->approximateOpCount();
}
extern "C" jlong org_jetbrains_skia_Picture__1nGetApproximateBytesUsed
(kref __Kinstance, jlong ptr) {
SkPicture* instance = reinterpret_cast<SkPicture*>(static_cast<uintptr_t>(ptr));
return instance->approximateBytesUsed();
}
extern "C" jlong org_jetbrains_skia_Picture__1nMakeShader
(kref __Kinstance, jlong ptr, jint tmxValue, jint tmyValue, jint filterModeValue, jfloatArray localMatrixArr, jobject tileRectObj) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Picture__1nMakeShader");
}
#if 0
extern "C" jlong org_jetbrains_skia_Picture__1nMakeShader
(kref __Kinstance, jlong ptr, jint tmxValue, jint tmyValue, jint filterModeValue, jfloatArray localMatrixArr, jobject tileRectObj) {
SkPicture* instance = reinterpret_cast<SkPicture*>(static_cast<uintptr_t>(ptr));
SkTileMode tmx = static_cast<SkTileMode>(tmxValue);
SkTileMode tmy = static_cast<SkTileMode>(tmyValue);
SkFilterMode filterMode = static_cast<SkFilterMode>(filterModeValue);
std::unique_ptr<SkMatrix> localMatrix = skMatrix(env, localMatrixArr);
std::unique_ptr<SkRect> tileRect = skija::Rect::toSkRect(env, tileRectObj);
SkShader* shader = instance->makeShader(tmx, tmy, filterMode, localMatrix.get(), tileRect.get()).release();
return reinterpret_cast<jlong>(shader);
}
#endif
// This file has been auto generated.
#include <iostream>
#include "SkDrawable.h"
#include "SkPictureRecorder.h"
#include "common.h"
static void deletePictureRecorder(SkPictureRecorder* pr) {
// std::cout << "Deleting [SkPictureRecorder " << PictureRecorder << "]" << std::endl;
delete pr;
}
extern "C" jlong org_jetbrains_skia_PictureRecorder__1nMake
(kref __Kinstance) {
SkPictureRecorder* instance = new SkPictureRecorder();
return reinterpret_cast<jlong>(instance);
}
extern "C" jlong org_jetbrains_skia_PictureRecorder__1nGetFinalizer
(kref __Kinstance) {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(&deletePictureRecorder));
}
extern "C" jlong org_jetbrains_skia_PictureRecorder__1nBeginRecording
(kref __Kinstance, jlong ptr, jfloat left, jfloat top, jfloat right, jfloat bottom) {
SkPictureRecorder* instance = reinterpret_cast<SkPictureRecorder*>(static_cast<uintptr_t>(ptr));
SkCanvas* canvas = instance->beginRecording(SkRect::MakeLTRB(left, top, right, bottom), nullptr);
return reinterpret_cast<jlong>(canvas);
}
extern "C" jlong org_jetbrains_skia_PictureRecorder__1nGetRecordingCanvas
(kref __Kinstance, jlong ptr) {
SkPictureRecorder* instance = reinterpret_cast<SkPictureRecorder*>(static_cast<uintptr_t>(ptr));
SkCanvas* canvas = instance->getRecordingCanvas();
return reinterpret_cast<jlong>(canvas);
}
extern "C" jlong org_jetbrains_skia_PictureRecorder__1nFinishRecordingAsPicture
(kref __Kinstance, jlong ptr) {
SkPictureRecorder* instance = reinterpret_cast<SkPictureRecorder*>(static_cast<uintptr_t>(ptr));
SkPicture* picture = instance->finishRecordingAsPicture().release();
return reinterpret_cast<jlong>(picture);
}
extern "C" jlong org_jetbrains_skia_PictureRecorder__1nFinishRecordingAsPictureWithCull
(kref __Kinstance, jlong ptr, jfloat left, jfloat top, jfloat right, jfloat bottom) {
SkPictureRecorder* instance = reinterpret_cast<SkPictureRecorder*>(static_cast<uintptr_t>(ptr));
SkPicture* picture = instance->finishRecordingAsPictureWithCull(SkRect::MakeLTRB(left, top, right, bottom)).release();
return reinterpret_cast<jlong>(picture);
}
extern "C" jlong org_jetbrains_skia_PictureRecorder__1nFinishRecordingAsDrawable
(kref __Kinstance, jlong ptr) {
SkPictureRecorder* instance = reinterpret_cast<SkPictureRecorder*>(static_cast<uintptr_t>(ptr));
SkDrawable* drawable = instance->finishRecordingAsDrawable().release();
return reinterpret_cast<jlong>(drawable);
}
// This file has been auto generated.
#include "SkPixelRef.h"
#include "common.h"
extern "C" jint org_jetbrains_skia_PixelRef__1nGetWidth
(kref __Kinstance, jlong ptr) {
SkPixelRef* instance = reinterpret_cast<SkPixelRef*>(static_cast<uintptr_t>(ptr));
return instance->width();
}
extern "C" jint org_jetbrains_skia_PixelRef__1nGetHeight
(kref __Kinstance, jlong ptr) {
SkPixelRef* instance = reinterpret_cast<SkPixelRef*>(static_cast<uintptr_t>(ptr));
return instance->height();
}
extern "C" jlong org_jetbrains_skia_PixelRef__1nGetRowBytes
(kref __Kinstance, jlong ptr) {
SkPixelRef* instance = reinterpret_cast<SkPixelRef*>(static_cast<uintptr_t>(ptr));
return instance->rowBytes();
}
extern "C" jint org_jetbrains_skia_PixelRef__1nGetGenerationId
(kref __Kinstance, jlong ptr) {
SkPixelRef* instance = reinterpret_cast<SkPixelRef*>(static_cast<uintptr_t>(ptr));
return instance->getGenerationID();
}
extern "C" void org_jetbrains_skia_PixelRef__1nNotifyPixelsChanged
(kref __Kinstance, jlong ptr) {
SkPixelRef* instance = reinterpret_cast<SkPixelRef*>(static_cast<uintptr_t>(ptr));
instance->notifyPixelsChanged();
}
extern "C" jboolean org_jetbrains_skia_PixelRef__1nIsImmutable
(kref __Kinstance, jlong ptr) {
SkPixelRef* instance = reinterpret_cast<SkPixelRef*>(static_cast<uintptr_t>(ptr));
return instance->isImmutable();
}
extern "C" void org_jetbrains_skia_PixelRef__1nSetImmutable
(kref __Kinstance, jlong ptr) {
SkPixelRef* instance = reinterpret_cast<SkPixelRef*>(static_cast<uintptr_t>(ptr));
instance->setImmutable();
}
// This file has been auto generated.
#include "SkPixmap.h"
#include "common.h"
static void deletePixmap(SkPixmap *pixmap) {
delete pixmap;
}
extern "C" jlong org_jetbrains_skia_Pixmap__1nGetFinalizer
(kref __Kinstance) {
return ptrToJlong(&deletePixmap);
}
extern "C" jlong org_jetbrains_skia_Pixmap__1nMakeNull
(kref __Kinstance) {
return ptrToJlong(new SkPixmap());
}
extern "C" jlong org_jetbrains_skia_Pixmap__1nMake
(kref __Kinstance,
jint width, jint height, jint colorType, jint alphaType, jlong colorSpacePtr, jlong pixelsPtr, jint rowBytes) {
SkColorSpace* colorSpace = jlongToPtr<SkColorSpace*>(colorSpacePtr);
SkImageInfo imageInfo = SkImageInfo::Make(width,
height,
static_cast<SkColorType>(colorType),
static_cast<SkAlphaType>(alphaType),
sk_ref_sp<SkColorSpace>(colorSpace));
return ptrToJlong(new SkPixmap(
imageInfo, jlongToPtr<void*>(pixelsPtr), rowBytes));
}
extern "C" void org_jetbrains_skia_Pixmap__1nReset
(kref __Kinstance, jlong ptr) {
SkPixmap* pixmap = jlongToPtr<SkPixmap*>(ptr);
pixmap->reset();
}
extern "C" void org_jetbrains_skia_Pixmap__1nResetWithInfo
(kref __Kinstance, jlong ptr,
jint width, jint height, jint colorType, jint alphaType, jlong colorSpacePtr, jlong pixelsPtr, jint rowBytes) {
SkPixmap* pixmap = jlongToPtr<SkPixmap*>(ptr);
SkColorSpace* colorSpace = jlongToPtr<SkColorSpace*>(colorSpacePtr);
SkImageInfo imageInfo = SkImageInfo::Make(width,
height,
static_cast<SkColorType>(colorType),
static_cast<SkAlphaType>(alphaType),
sk_ref_sp<SkColorSpace>(colorSpace));
pixmap->reset(imageInfo, jlongToPtr<void*>(pixelsPtr), rowBytes);
}
extern "C" void org_jetbrains_skia_Pixmap__1nSetColorSpace
(kref __Kinstance, jlong ptr, jlong colorSpacePtr) {
SkPixmap* pixmap = jlongToPtr<SkPixmap*>(ptr);
SkColorSpace* colorSpace = jlongToPtr<SkColorSpace*>(colorSpacePtr);
pixmap->setColorSpace(sk_ref_sp<SkColorSpace>(colorSpace));
}
extern "C" jboolean org_jetbrains_skia_Pixmap__1nExtractSubset
(kref __Kinstance, jlong ptr,
jlong subsetPtr, jint l, jint t, jint w, jint h) {
SkPixmap* pixmap = jlongToPtr<SkPixmap*>(ptr);
SkPixmap* dst = jlongToPtr<SkPixmap*>(subsetPtr);
return pixmap->extractSubset(dst, { l, t, w, h });
}
extern "C" jobject org_jetbrains_skia_Pixmap__1nGetInfo
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Pixmap__1nGetInfo");
}
#if 0
extern "C" jobject org_jetbrains_skia_Pixmap__1nGetInfo
(kref __Kinstance, jlong ptr) {
SkPixmap* pixmap = jlongToPtr<SkPixmap*>(ptr);
const SkImageInfo& imageInfo = pixmap->info();
return skija::ImageInfo::toJava(env, imageInfo);
}
#endif
extern "C" jint org_jetbrains_skia_Pixmap__1nGetRowBytes
(kref __Kinstance, jlong ptr) {
SkPixmap* pixmap = jlongToPtr<SkPixmap*>(ptr);
return static_cast<jint>(pixmap->rowBytes());
}
extern "C" jlong org_jetbrains_skia_Pixmap__1nGetAddr
(kref __Kinstance, jlong ptr) {
SkPixmap* pixmap = jlongToPtr<SkPixmap*>(ptr);
return ptrToJlong(pixmap->addr());
}
extern "C" jint org_jetbrains_skia_Pixmap__1nGetRowBytesAsPixels
(kref __Kinstance, jlong ptr) {
SkPixmap* pixmap = jlongToPtr<SkPixmap*>(ptr);
return static_cast<jint>(pixmap->rowBytesAsPixels());
}
extern "C" jint org_jetbrains_skia_Pixmap__1nComputeByteSize
(kref __Kinstance, jlong ptr) {
SkPixmap* pixmap = jlongToPtr<SkPixmap*>(ptr);
return static_cast<jint>(pixmap->computeByteSize());
}
extern "C" jboolean org_jetbrains_skia_Pixmap__1nComputeIsOpaque
(kref __Kinstance, jlong ptr) {
SkPixmap* pixmap = jlongToPtr<SkPixmap*>(ptr);
return static_cast<jboolean>(pixmap->computeIsOpaque());
}
extern "C" jint org_jetbrains_skia_Pixmap__1nGetColor
(kref __Kinstance, jlong ptr, jint x, jint y) {
SkPixmap* pixmap = jlongToPtr<SkPixmap*>(ptr);
return static_cast<jint>(pixmap->getColor(x, y));
}
extern "C" jfloat org_jetbrains_skia_Pixmap__1nGetAlphaF
(kref __Kinstance, jlong ptr, jint x, jint y) {
SkPixmap* pixmap = jlongToPtr<SkPixmap*>(ptr);
return static_cast<jfloat>(pixmap->getAlphaf(x, y));
}
extern "C" jlong org_jetbrains_skia_Pixmap__1nGetAddrAt
(kref __Kinstance, jlong ptr, jint x, jint y) {
SkPixmap* pixmap = jlongToPtr<SkPixmap*>(ptr);
return reinterpret_cast<jlong>(pixmap->addr(x, y));
}
extern "C" jboolean org_jetbrains_skia_Pixmap__1nReadPixels
(kref __Kinstance, jlong ptr,
jint width, jint height, jint colorType, jint alphaType, jlong colorSpacePtr, jlong pixelsPtr, jint rowBytes) {
SkPixmap* pixmap = jlongToPtr<SkPixmap*>(ptr);
SkColorSpace* colorSpace = jlongToPtr<SkColorSpace*>(colorSpacePtr);
SkImageInfo imageInfo = SkImageInfo::Make(width,
height,
static_cast<SkColorType>(colorType),
static_cast<SkAlphaType>(alphaType),
sk_ref_sp<SkColorSpace>(colorSpace));
return static_cast<jboolean>(pixmap->readPixels(imageInfo, jlongToPtr<void*>(pixelsPtr), rowBytes));
}
extern "C" jboolean org_jetbrains_skia_Pixmap__1nReadPixelsFromPoint
(kref __Kinstance, jlong ptr,
jint width, jint height, jint colorType, jint alphaType, jlong colorSpacePtr, jlong pixelsPtr, jint rowBytes,
jint srcX, jint srcY) {
SkPixmap* pixmap = jlongToPtr<SkPixmap*>(ptr);
SkColorSpace* colorSpace = jlongToPtr<SkColorSpace*>(colorSpacePtr);
SkImageInfo imageInfo = SkImageInfo::Make(width,
height,
static_cast<SkColorType>(colorType),
static_cast<SkAlphaType>(alphaType),
sk_ref_sp<SkColorSpace>(colorSpace));
return static_cast<jboolean>(pixmap->readPixels(imageInfo, jlongToPtr<void*>(pixelsPtr), rowBytes, srcX, srcY));
}
extern "C" jboolean org_jetbrains_skia_Pixmap__1nReadPixelsToPixmap
(kref __Kinstance, jlong ptr, jlong dstPixmapPtr) {
SkPixmap* pixmap = jlongToPtr<SkPixmap*>(ptr);
SkPixmap* dstPixmap = jlongToPtr<SkPixmap*>(dstPixmapPtr);
return static_cast<jboolean>(pixmap->readPixels(*dstPixmap));
}
extern "C" jboolean org_jetbrains_skia_Pixmap__1nReadPixelsToPixmapFromPoint
(kref __Kinstance, jlong ptr, jlong dstPixmapPtr, jint srcX, jint srcY) {
SkPixmap* pixmap = jlongToPtr<SkPixmap*>(ptr);
SkPixmap* dstPixmap = jlongToPtr<SkPixmap*>(dstPixmapPtr);
return static_cast<jboolean>(pixmap->readPixels(*dstPixmap, srcX, srcY));
}
extern "C" jboolean org_jetbrains_skia_Pixmap__1nScalePixels
(kref __Kinstance, jlong ptr, jlong dstPixmapPtr, jlong samplingOptions) {
SkPixmap* pixmap = jlongToPtr<SkPixmap*>(ptr);
SkPixmap* dstPixmap = jlongToPtr<SkPixmap*>(dstPixmapPtr);
return static_cast<jboolean>(pixmap->scalePixels(*dstPixmap, skija::SamplingMode::unpack(samplingOptions)));
}
extern "C" jboolean org_jetbrains_skia_Pixmap__1nErase
(kref __Kinstance, jlong ptr, jint color) {
SkPixmap* pixmap = jlongToPtr<SkPixmap*>(ptr);
return static_cast<jboolean>(pixmap->erase(color));
}
extern "C" jboolean org_jetbrains_skia_Pixmap__1nEraseSubset
(kref __Kinstance, jlong ptr, jint color, jint l, jint t, jint w, jint h) {
SkPixmap* pixmap = jlongToPtr<SkPixmap*>(ptr);
return static_cast<jboolean>(pixmap->erase(color, { l, t, w, h }));
}
// This file has been auto generated.
#include <iostream>
#include "SkRegion.h"
#include "common.h"
static void deleteRegion(SkRegion* region) {
// std::cout << "Deleting [SkRegion " << Region << "]" << std::endl;
delete region;
}
extern "C" jlong org_jetbrains_skia_Region__1nMake(kref __Kinstance) {
SkRegion* obj = new SkRegion();
return reinterpret_cast<jlong>(obj);
}
extern "C" jlong org_jetbrains_skia_Region__1nGetFinalizer(kref __Kinstance) {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(&deleteRegion));
}
extern "C" jboolean org_jetbrains_skia_Region__1nSet(kref __Kinstance, jlong ptr, jlong regionPtr) {
SkRegion* instance = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(ptr));
SkRegion* other = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(regionPtr));
return instance->set(*other);
}
extern "C" jboolean org_jetbrains_skia_Region__1nIsEmpty(kref __Kinstance, jlong ptr) {
SkRegion* instance = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(ptr));
return instance->isEmpty();
}
extern "C" jboolean org_jetbrains_skia_Region__1nIsRect(kref __Kinstance, jlong ptr) {
SkRegion* instance = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(ptr));
return instance->isRect();
}
extern "C" jboolean org_jetbrains_skia_Region__1nIsComplex(kref __Kinstance, jlong ptr) {
SkRegion* instance = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(ptr));
return instance->isComplex();
}
extern "C" jobject org_jetbrains_skia_Region__1nGetBounds(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Region__1nGetBounds(kref");
}
#if 0
extern "C" jobject org_jetbrains_skia_Region__1nGetBounds(kref __Kinstance, jlong ptr) {
SkRegion* instance = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(ptr));
return skija::IRect::fromSkIRect(env, instance->getBounds());
}
#endif
extern "C" jint org_jetbrains_skia_Region__1nComputeRegionComplexity(kref __Kinstance, jlong ptr) {
SkRegion* instance = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(ptr));
return instance->computeRegionComplexity();
}
extern "C" jboolean org_jetbrains_skia_Region__1nGetBoundaryPath(kref __Kinstance, jlong ptr, jlong pathPtr) {
SkRegion* instance = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(ptr));
SkPath* path = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(pathPtr));
return instance->getBoundaryPath(path);
}
extern "C" jboolean org_jetbrains_skia_Region__1nSetEmpty(kref __Kinstance, jlong ptr) {
SkRegion* instance = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(ptr));
return instance->setEmpty();
}
extern "C" jboolean org_jetbrains_skia_Region__1nSetRect(kref __Kinstance, jlong ptr, jint left, jint top, jint right, jint bottom) {
SkRegion* instance = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(ptr));
return instance->setRect({left, top, right, bottom});
}
extern "C" jboolean org_jetbrains_skia_Region__1nSetRects(kref __Kinstance, jlong ptr, jintArray coords) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Region__1nSetRects(kref");
}
#if 0
extern "C" jboolean org_jetbrains_skia_Region__1nSetRects(kref __Kinstance, jlong ptr, jintArray coords) {
SkRegion* instance = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(ptr));
int len = env->GetArrayLength(coords);
std::vector<SkIRect> rects(len / 4);
jint* arr = env->GetIntArrayElements(coords, 0);
for (int i = 0; i < len; i += 4)
rects[i / 4] = {arr[i], arr[i+1], arr[i+2], arr[i+3]};
env->ReleaseIntArrayElements(coords, arr, 0);
return instance->setRects(rects.data(), len / 4);
}
#endif
extern "C" jboolean org_jetbrains_skia_Region__1nSetRegion(kref __Kinstance, jlong ptr, jlong regionPtr) {
SkRegion* instance = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(ptr));
SkRegion* region = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(regionPtr));
return instance->setRegion(*region);
}
extern "C" jboolean org_jetbrains_skia_Region__1nSetPath(kref __Kinstance, jlong ptr, jlong pathPtr, jlong regionPtr) {
SkRegion* instance = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(ptr));
SkPath* path = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(pathPtr));
SkRegion* region = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(regionPtr));
return instance->setPath(*path, *region);
}
extern "C" jboolean org_jetbrains_skia_Region__1nIntersectsIRect(kref __Kinstance, jlong ptr, jint left, jint top, jint right, jint bottom) {
SkRegion* instance = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(ptr));
return instance->intersects({left, top, right, bottom});
}
extern "C" jboolean org_jetbrains_skia_Region__1nIntersectsRegion(kref __Kinstance, jlong ptr, jlong regionPtr) {
SkRegion* instance = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(ptr));
SkRegion* region = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(regionPtr));
return instance->intersects(*region);
}
extern "C" jboolean org_jetbrains_skia_Region__1nContainsIPoint(kref __Kinstance, jlong ptr, jint x, jint y) {
SkRegion* instance = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(ptr));
return instance->contains(x, y);
}
extern "C" jboolean org_jetbrains_skia_Region__1nContainsIRect(kref __Kinstance, jlong ptr, jint left, jint top, jint right, jint bottom) {
SkRegion* instance = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(ptr));
return instance->contains({left, top, right, bottom});
}
extern "C" jboolean org_jetbrains_skia_Region__1nContainsRegion(kref __Kinstance, jlong ptr, jlong regionPtr) {
SkRegion* instance = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(ptr));
SkRegion* region = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(regionPtr));
return instance->contains(*region);
}
extern "C" jboolean org_jetbrains_skia_Region__1nQuickContains(kref __Kinstance, jlong ptr, jint left, jint top, jint right, jint bottom) {
SkRegion* instance = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(ptr));
return instance->quickContains({left, top, right, bottom});
}
extern "C" jboolean org_jetbrains_skia_Region__1nQuickRejectIRect(kref __Kinstance, jlong ptr, jint left, jint top, jint right, jint bottom) {
SkRegion* instance = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(ptr));
return instance->quickReject({left, top, right, bottom});
}
extern "C" jboolean org_jetbrains_skia_Region__1nQuickRejectRegion(kref __Kinstance, jlong ptr, jlong regionPtr) {
SkRegion* instance = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(ptr));
SkRegion* region = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(regionPtr));
return instance->contains(*region);
}
extern "C" void org_jetbrains_skia_Region__1nTranslate(kref __Kinstance, jlong ptr, jint dx, jint dy) {
SkRegion* instance = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(ptr));
instance->translate(dx, dy);
}
extern "C" jboolean org_jetbrains_skia_Region__1nOpIRect(kref __Kinstance, jlong ptr, jint left, jint top, jint right, jint bottom, jint op) {
SkRegion* instance = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(ptr));
return instance->op({left, top, right, bottom}, static_cast<SkRegion::Op>(op));
}
extern "C" jboolean org_jetbrains_skia_Region__1nOpRegion(kref __Kinstance, jlong ptr, jlong regionPtr, jint op) {
SkRegion* instance = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(ptr));
SkRegion* region = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(regionPtr));
return instance->op(*region, static_cast<SkRegion::Op>(op));
}
extern "C" jboolean org_jetbrains_skia_Region__1nOpIRectRegion(kref __Kinstance, jlong ptr, jint left, jint top, jint right, jint bottom, jlong regionPtr, jint op) {
SkRegion* instance = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(ptr));
SkRegion* region = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(regionPtr));
return instance->op({left, top, right, bottom}, *region, static_cast<SkRegion::Op>(op));
}
extern "C" jboolean org_jetbrains_skia_Region__1nOpRegionIRect(kref __Kinstance, jlong ptr, jlong regionPtr, jint left, jint top, jint right, jint bottom, jint op) {
SkRegion* instance = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(ptr));
SkRegion* region = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(regionPtr));
return instance->op(*region, {left, top, right, bottom}, static_cast<SkRegion::Op>(op));
}
extern "C" jboolean org_jetbrains_skia_Region__1nOpRegionRegion(kref __Kinstance, jlong ptr, jlong regionPtrA, jlong regionPtrB, jint op) {
SkRegion* instance = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(ptr));
SkRegion* regionA = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(regionPtrA));
SkRegion* regionB = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(regionPtrB));
return instance->op(*regionA, *regionB, static_cast<SkRegion::Op>(op));
}
// This file has been auto generated.
#include "SkRuntimeEffect.h"
#include "common.h"
extern "C" jlong org_jetbrains_skia_RuntimeEffect__1nMakeShader
(kref __Kinstance, jlong ptr, jlong uniformPtr, jlongArray childrenPtrsArr, jfloatArray localMatrixArr, jboolean isOpaque) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_RuntimeEffect__1nMakeShader");
}
#if 0
extern "C" jlong org_jetbrains_skia_RuntimeEffect__1nMakeShader
(kref __Kinstance, jlong ptr, jlong uniformPtr, jlongArray childrenPtrsArr, jfloatArray localMatrixArr, jboolean isOpaque) {
SkRuntimeEffect* runtimeEffect = jlongToPtr<SkRuntimeEffect*>(ptr);
SkData* uniform = jlongToPtr<SkData*>(uniformPtr);
std::unique_ptr<SkMatrix> localMatrix = skMatrix(env, localMatrixArr);
jsize childCount = env->GetArrayLength(childrenPtrsArr);
jlong* childrenPtrs = env->GetLongArrayElements(childrenPtrsArr, 0);
std::vector<sk_sp<SkShader>> children(childCount);
for (size_t i = 0; i < childCount; i++) {
SkShader* si = jlongToPtr<SkShader*>(childrenPtrs[i]);
children[i] = sk_ref_sp(si);
}
env->ReleaseLongArrayElements(childrenPtrsArr, childrenPtrs, 0);
sk_sp<SkShader> shader = runtimeEffect->makeShader(sk_ref_sp<SkData>(uniform),
children.data(),
childCount,
localMatrix.get(),
isOpaque);
return ptrToJlong(shader.release());
}
#endif
extern "C" jlong org_jetbrains_skia_RuntimeEffect__1nMakeForShader
(kref __Kinstance, jstring sksl) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_RuntimeEffect__1nMakeForShader");
}
#if 0
extern "C" jlong org_jetbrains_skia_RuntimeEffect__1nMakeForShader
(kref __Kinstance, jstring sksl) {
SkString skslProper = skString(env, sksl);
SkRuntimeEffect::Result result = SkRuntimeEffect::MakeForShader(skslProper);
if (result.errorText.isEmpty()) {
sk_sp<SkRuntimeEffect> effect = result.effect;
return ptrToJlong(effect.release());
} else {
env->ThrowNew(java::lang::RuntimeException::cls, result.errorText.c_str());
return 0;
}
}
#endif
extern "C" jlong org_jetbrains_skia_RuntimeEffect__1nMakeForColorFilter
(kref __Kinstance, jstring sksl) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_RuntimeEffect__1nMakeForColorFilter");
}
#if 0
extern "C" jlong org_jetbrains_skia_RuntimeEffect__1nMakeForColorFilter
(kref __Kinstance, jstring sksl) {
SkString skslProper = skString(env, sksl);
SkRuntimeEffect::Result result = SkRuntimeEffect::MakeForColorFilter(skslProper);
if (result.errorText.isEmpty()) {
return ptrToJlong(result.effect.release());
} else {
env->ThrowNew(java::lang::RuntimeException::cls, result.errorText.c_str());
return 0;
}
}
#endif
// This file has been auto generated.
#include <iostream>
#include "SkColorFilter.h"
#include "SkShader.h"
#include "SkGradientShader.h"
#include "common.h"
extern "C" jlong org_jetbrains_skia_Shader__1nMakeWithColorFilter
(kref __Kinstance, jlong ptr, jlong filterPtr) {
SkShader* instance = reinterpret_cast<SkShader*>(static_cast<uintptr_t>(ptr));
SkColorFilter* filter = reinterpret_cast<SkColorFilter*>(static_cast<uintptr_t>(filterPtr));
SkShader* newPtr = instance->makeWithColorFilter(sk_ref_sp(filter)).release();
return reinterpret_cast<jlong>(newPtr);
}
extern "C" jlong org_jetbrains_skia_Shader__1nMakeLinearGradient
(kref __Kinstance, jfloat x0, jfloat y0, jfloat x1, jfloat y1, jintArray colorsArray, jfloatArray posArray, jint tileModeInt, jint flags, jfloatArray matrixArray) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Shader__1nMakeLinearGradient");
}
#if 0
extern "C" jlong org_jetbrains_skia_Shader__1nMakeLinearGradient
(kref __Kinstance, jfloat x0, jfloat y0, jfloat x1, jfloat y1, jintArray colorsArray, jfloatArray posArray, jint tileModeInt, jint flags, jfloatArray matrixArray) {
SkPoint pts[2] {SkPoint::Make(x0, y0), SkPoint::Make(x1, y1)};
jint* colors = env->GetIntArrayElements(colorsArray, nullptr);
float* pos = posArray == nullptr ? nullptr : env->GetFloatArrayElements(posArray, nullptr);
SkTileMode tileMode = static_cast<SkTileMode>(tileModeInt);
std::unique_ptr<SkMatrix> localMatrix = skMatrix(env, matrixArray);
SkShader* ptr = SkGradientShader::MakeLinear(pts, reinterpret_cast<SkColor*>(colors), pos, env->GetArrayLength(colorsArray), tileMode, static_cast<uint32_t>(flags), localMatrix.get()).release();
env->ReleaseIntArrayElements(colorsArray, colors, 0);
if (posArray != nullptr)
env->ReleaseFloatArrayElements(posArray, pos, 0);
return reinterpret_cast<jlong>(ptr);
}
#endif
extern "C" jlong org_jetbrains_skia_Shader__1nMakeLinearGradientCS
(kref __Kinstance, jfloat x0, jfloat y0, jfloat x1, jfloat y1, jfloatArray colorsArray, jlong colorSpacePtr, jfloatArray posArray, jint tileModeInt, jint flags, jfloatArray matrixArray) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Shader__1nMakeLinearGradientCS");
}
#if 0
extern "C" jlong org_jetbrains_skia_Shader__1nMakeLinearGradientCS
(kref __Kinstance, jfloat x0, jfloat y0, jfloat x1, jfloat y1, jfloatArray colorsArray, jlong colorSpacePtr, jfloatArray posArray, jint tileModeInt, jint flags, jfloatArray matrixArray) {
SkPoint pts[2] {SkPoint::Make(x0, y0), SkPoint::Make(x1, y1)};
float* colors = env->GetFloatArrayElements(colorsArray, nullptr);
sk_sp<SkColorSpace> colorSpace = sk_ref_sp<SkColorSpace>(reinterpret_cast<SkColorSpace*>(static_cast<uintptr_t>(colorSpacePtr)));
float* pos = env->GetFloatArrayElements(posArray, nullptr);
SkTileMode tileMode = static_cast<SkTileMode>(tileModeInt);
std::unique_ptr<SkMatrix> localMatrix = skMatrix(env, matrixArray);
SkShader* ptr = SkGradientShader::MakeLinear(pts, reinterpret_cast<SkColor4f*>(colors), colorSpace, pos, env->GetArrayLength(posArray), tileMode, static_cast<uint32_t>(flags), localMatrix.get()).release();
env->ReleaseFloatArrayElements(colorsArray, colors, 0);
env->ReleaseFloatArrayElements(posArray, pos, 0);
return reinterpret_cast<jlong>(ptr);
}
#endif
extern "C" jlong org_jetbrains_skia_Shader__1nMakeRadialGradient
(kref __Kinstance, jfloat x, jfloat y, jfloat r, jintArray colorsArray, jfloatArray posArray, jint tileModeInt, jint flags, jfloatArray matrixArray) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Shader__1nMakeRadialGradient");
}
#if 0
extern "C" jlong org_jetbrains_skia_Shader__1nMakeRadialGradient
(kref __Kinstance, jfloat x, jfloat y, jfloat r, jintArray colorsArray, jfloatArray posArray, jint tileModeInt, jint flags, jfloatArray matrixArray) {
jint* colors = env->GetIntArrayElements(colorsArray, nullptr);
float* pos = posArray == nullptr ? nullptr : env->GetFloatArrayElements(posArray, nullptr);
SkTileMode tileMode = static_cast<SkTileMode>(tileModeInt);
std::unique_ptr<SkMatrix> localMatrix = skMatrix(env, matrixArray);
SkShader* ptr = SkGradientShader::MakeRadial(SkPoint::Make(x, y), r, reinterpret_cast<SkColor*>(colors), pos, env->GetArrayLength(colorsArray), tileMode, static_cast<uint32_t>(flags), localMatrix.get()).release();
env->ReleaseIntArrayElements(colorsArray, colors, 0);
if (posArray != nullptr)
env->ReleaseFloatArrayElements(posArray, pos, 0);
return reinterpret_cast<jlong>(ptr);
}
#endif
extern "C" jlong org_jetbrains_skia_Shader__1nMakeRadialGradientCS
(kref __Kinstance, jfloat x, jfloat y, jfloat r, jfloatArray colorsArray, jlong colorSpacePtr, jfloatArray posArray, jint tileModeInt, jint flags, jfloatArray matrixArray) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Shader__1nMakeRadialGradientCS");
}
#if 0
extern "C" jlong org_jetbrains_skia_Shader__1nMakeRadialGradientCS
(kref __Kinstance, jfloat x, jfloat y, jfloat r, jfloatArray colorsArray, jlong colorSpacePtr, jfloatArray posArray, jint tileModeInt, jint flags, jfloatArray matrixArray) {
float* colors = env->GetFloatArrayElements(colorsArray, nullptr);
sk_sp<SkColorSpace> colorSpace = sk_ref_sp<SkColorSpace>(reinterpret_cast<SkColorSpace*>(static_cast<uintptr_t>(colorSpacePtr)));
float* pos = env->GetFloatArrayElements(posArray, nullptr);
SkTileMode tileMode = static_cast<SkTileMode>(tileModeInt);
std::unique_ptr<SkMatrix> localMatrix = skMatrix(env, matrixArray);
SkShader* ptr = SkGradientShader::MakeRadial(SkPoint::Make(x, y), r, reinterpret_cast<SkColor4f*>(colors), colorSpace, pos, env->GetArrayLength(posArray), tileMode, static_cast<uint32_t>(flags), localMatrix.get()).release();
env->ReleaseFloatArrayElements(colorsArray, colors, 0);
env->ReleaseFloatArrayElements(posArray, pos, 0);
return reinterpret_cast<jlong>(ptr);
}
#endif
extern "C" jlong org_jetbrains_skia_Shader__1nMakeTwoPointConicalGradient
(kref __Kinstance, jfloat x0, jfloat y0, jfloat r0, jfloat x1, jfloat y1, jfloat r1, jintArray colorsArray, jfloatArray posArray, jint tileModeInt, jint flags, jfloatArray matrixArray) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Shader__1nMakeTwoPointConicalGradient");
}
#if 0
extern "C" jlong org_jetbrains_skia_Shader__1nMakeTwoPointConicalGradient
(kref __Kinstance, jfloat x0, jfloat y0, jfloat r0, jfloat x1, jfloat y1, jfloat r1, jintArray colorsArray, jfloatArray posArray, jint tileModeInt, jint flags, jfloatArray matrixArray) {
jint* colors = env->GetIntArrayElements(colorsArray, nullptr);
float* pos = posArray == nullptr ? nullptr : env->GetFloatArrayElements(posArray, nullptr);
SkTileMode tileMode = static_cast<SkTileMode>(tileModeInt);
std::unique_ptr<SkMatrix> localMatrix = skMatrix(env, matrixArray);
SkShader* ptr = SkGradientShader::MakeTwoPointConical(SkPoint::Make(x0, y0), r0, SkPoint::Make(x1, y1), r1, reinterpret_cast<SkColor*>(colors), pos, env->GetArrayLength(colorsArray), tileMode, static_cast<uint32_t>(flags), localMatrix.get()).release();
env->ReleaseIntArrayElements(colorsArray, colors, 0);
if (posArray != nullptr)
env->ReleaseFloatArrayElements(posArray, pos, 0);
return reinterpret_cast<jlong>(ptr);
}
#endif
extern "C" jlong org_jetbrains_skia_Shader__1nMakeTwoPointConicalGradientCS
(kref __Kinstance, jfloat x0, jfloat y0, jfloat r0, jfloat x1, jfloat y1, jfloat r1, jfloatArray colorsArray, jlong colorSpacePtr, jfloatArray posArray, jint tileModeInt, jint flags, jfloatArray matrixArray) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Shader__1nMakeTwoPointConicalGradientCS");
}
#if 0
extern "C" jlong org_jetbrains_skia_Shader__1nMakeTwoPointConicalGradientCS
(kref __Kinstance, jfloat x0, jfloat y0, jfloat r0, jfloat x1, jfloat y1, jfloat r1, jfloatArray colorsArray, jlong colorSpacePtr, jfloatArray posArray, jint tileModeInt, jint flags, jfloatArray matrixArray) {
float* colors = env->GetFloatArrayElements(colorsArray, nullptr);
sk_sp<SkColorSpace> colorSpace = sk_ref_sp<SkColorSpace>(reinterpret_cast<SkColorSpace*>(static_cast<uintptr_t>(colorSpacePtr)));
float* pos = env->GetFloatArrayElements(posArray, nullptr);
SkTileMode tileMode = static_cast<SkTileMode>(tileModeInt);
std::unique_ptr<SkMatrix> localMatrix = skMatrix(env, matrixArray);
SkShader* ptr = SkGradientShader::MakeTwoPointConical(SkPoint::Make(x0, y0), r0, SkPoint::Make(x1, y1), r1, reinterpret_cast<SkColor4f*>(colors), colorSpace, pos, env->GetArrayLength(posArray), tileMode, static_cast<uint32_t>(flags), localMatrix.get()).release();
env->ReleaseFloatArrayElements(colorsArray, colors, 0);
env->ReleaseFloatArrayElements(posArray, pos, 0);
return reinterpret_cast<jlong>(ptr);
}
#endif
extern "C" jlong org_jetbrains_skia_Shader__1nMakeSweepGradient
(kref __Kinstance, jfloat x, jfloat y, jfloat start, jfloat end, jintArray colorsArray, jfloatArray posArray, jint tileModeInt, jint flags, jfloatArray matrixArray) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Shader__1nMakeSweepGradient");
}
#if 0
extern "C" jlong org_jetbrains_skia_Shader__1nMakeSweepGradient
(kref __Kinstance, jfloat x, jfloat y, jfloat start, jfloat end, jintArray colorsArray, jfloatArray posArray, jint tileModeInt, jint flags, jfloatArray matrixArray) {
jint* colors = env->GetIntArrayElements(colorsArray, nullptr);
float* pos = posArray == nullptr ? nullptr : env->GetFloatArrayElements(posArray, nullptr);
SkTileMode tileMode = static_cast<SkTileMode>(tileModeInt);
std::unique_ptr<SkMatrix> localMatrix = skMatrix(env, matrixArray);
SkShader* ptr = SkGradientShader::MakeSweep(x, y, reinterpret_cast<SkColor*>(colors), pos, env->GetArrayLength(colorsArray), tileMode, start, end, static_cast<uint32_t>(flags), localMatrix.get()).release();
env->ReleaseIntArrayElements(colorsArray, colors, 0);
if (posArray != nullptr)
env->ReleaseFloatArrayElements(posArray, pos, 0);
return reinterpret_cast<jlong>(ptr);
}
#endif
extern "C" jlong org_jetbrains_skia_Shader__1nMakeSweepGradientCS
(kref __Kinstance, jfloat x, jfloat y, jfloat start, jfloat end, jfloatArray colorsArray, jlong colorSpacePtr, jfloatArray posArray, jint tileModeInt, jint flags, jfloatArray matrixArray) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Shader__1nMakeSweepGradientCS");
}
#if 0
extern "C" jlong org_jetbrains_skia_Shader__1nMakeSweepGradientCS
(kref __Kinstance, jfloat x, jfloat y, jfloat start, jfloat end, jfloatArray colorsArray, jlong colorSpacePtr, jfloatArray posArray, jint tileModeInt, jint flags, jfloatArray matrixArray) {
float* colors = env->GetFloatArrayElements(colorsArray, nullptr);
sk_sp<SkColorSpace> colorSpace = sk_ref_sp<SkColorSpace>(reinterpret_cast<SkColorSpace*>(static_cast<uintptr_t>(colorSpacePtr)));
float* pos = env->GetFloatArrayElements(posArray, nullptr);
SkTileMode tileMode = static_cast<SkTileMode>(tileModeInt);
std::unique_ptr<SkMatrix> localMatrix = skMatrix(env, matrixArray);
SkShader* ptr = SkGradientShader::MakeSweep(x, y, reinterpret_cast<SkColor4f*>(colors), colorSpace, pos, env->GetArrayLength(colorsArray), tileMode, start, end, static_cast<uint32_t>(flags), localMatrix.get()).release();
env->ReleaseFloatArrayElements(colorsArray, colors, 0);
env->ReleaseFloatArrayElements(posArray, pos, 0);
return reinterpret_cast<jlong>(ptr);
}
#endif
extern "C" jlong org_jetbrains_skia_Shader__1nMakeEmpty(kref __Kinstance) {
SkShader* ptr = SkShaders::Empty().release();
return reinterpret_cast<jlong>(ptr);
}
extern "C" jlong org_jetbrains_skia_Shader__1nMakeColor(kref __Kinstance, jint color) {
SkShader* ptr = SkShaders::Color(color).release();
return reinterpret_cast<jlong>(ptr);
}
extern "C" jlong org_jetbrains_skia_Shader__1nMakeColorCS(kref __Kinstance, jfloat r, jfloat g, jfloat b, jfloat a, jlong colorSpacePtr) {
SkColorSpace* colorSpace = reinterpret_cast<SkColorSpace*>(static_cast<uintptr_t>(colorSpacePtr));
SkShader* ptr = SkShaders::Color(SkColor4f{r, g, b, a}, sk_ref_sp<SkColorSpace>(colorSpace)).release();
return reinterpret_cast<jlong>(ptr);
}
extern "C" jlong org_jetbrains_skia_Shader__1nMakeBlend(kref __Kinstance, jint blendModeInt, jlong dstPtr, jlong srcPtr) {
SkShader* dst = reinterpret_cast<SkShader*>(static_cast<uintptr_t>(dstPtr));
SkShader* src = reinterpret_cast<SkShader*>(static_cast<uintptr_t>(srcPtr));
SkBlendMode blendMode = static_cast<SkBlendMode>(blendModeInt);
SkShader* ptr = SkShaders::Blend(blendMode, sk_ref_sp<SkShader>(dst), sk_ref_sp<SkShader>(src)).release();
return reinterpret_cast<jlong>(ptr);
}
extern "C" jlong org_jetbrains_skia_Shader__1nMakeFractalNoise
(jfloat baseFrequencyX, jfloat baseFrequencyY, jint numOctaves, jfloat seed, jintArray tilesArray) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Shader__1nMakeFractalNoise");
}
#if 0
extern "C" jlong org_jetbrains_skia_Shader__1nMakeFractalNoise
(jfloat baseFrequencyX, jfloat baseFrequencyY, jint numOctaves, jfloat seed, jintArray tilesArray) {
int len = env->GetArrayLength(tilesArray);
std::vector<SkISize> tiles(len / 2);
jint* arr = env->GetIntArrayElements(tilesArray, 0);
for (int i = 0; i < len; i += 2)
tiles[i / 2] = {arr[i], arr[i+1]};
env->ReleaseIntArrayElements(tilesArray, arr, 0);
SkShader* ptr = SkPerlinNoiseShader::MakeFractalNoise(baseFrequencyX, baseFrequencyY, numOctaves, seed, tiles.data()).release();
return reinterpret_cast<jlong>(ptr);
}
#endif
extern "C" jlong org_jetbrains_skia_Shader__1nMakeTurbulence
(jfloat baseFrequencyX, jfloat baseFrequencyY, jint numOctaves, jfloat seed, jintArray tilesArray) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Shader__1nMakeTurbulence");
}
#if 0
extern "C" jlong org_jetbrains_skia_Shader__1nMakeTurbulence
(JNIEnv* env, jclass jclass, jfloat baseFrequencyX, jfloat baseFrequencyY, jint numOctaves, jfloat seed, jintArray tilesArray) {
int len = env->GetArrayLength(tilesArray);
std::vector<SkISize> tiles(len / 2);
jint* arr = env->GetIntArrayElements(tilesArray, 0);
for (int i = 0; i < len; i += 2)
tiles[i / 2] = {arr[i], arr[i+1]};
env->ReleaseIntArrayElements(tilesArray, arr, 0);
SkShader* ptr = SkPerlinNoiseShader::MakeTurbulence(baseFrequencyX, baseFrequencyY, numOctaves, seed, tiles.data()).release();
return reinterpret_cast<jlong>(ptr);
}
#endif
// This file has been auto generated.
#include "SkShadowUtils.h"
#include "common.h"
extern "C" void org_jetbrains_skia_ShadowUtils__1nDrawShadow
(kref __Kinstance, jlong canvasPtr, jlong pathPtr, jfloat zPlaneX, jfloat zPlaneY, jfloat zPlaneZ,
jfloat lightPosX, jfloat lightPosY, jfloat lightPosZ, jfloat lightRadius, jint ambientColor, jint spotColor, jint flags) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr));
SkPath* path = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(pathPtr));
SkShadowUtils::DrawShadow(canvas, *path, {zPlaneX, zPlaneY, zPlaneZ}, {lightPosX, lightPosY, lightPosZ}, lightRadius, ambientColor, spotColor, flags);
}
extern "C" int org_jetbrains_skia_ShadowUtils__1nComputeTonalAmbientColor
(kref __Kinstance, jint ambientColor, jint spotColor) {
SkColor outAmbientColor, outSpotColor;
SkShadowUtils::ComputeTonalColors(ambientColor, spotColor, &outAmbientColor, &outSpotColor);
return outAmbientColor;
}
extern "C" int org_jetbrains_skia_ShadowUtils__1nComputeTonalSpotColor
(kref __Kinstance, jint ambientColor, jint spotColor) {
SkColor outAmbientColor, outSpotColor;
SkShadowUtils::ComputeTonalColors(ambientColor, spotColor, &outAmbientColor, &outSpotColor);
return outSpotColor;
}
// This file has been auto generated.
#include <iostream>
#include "GrDirectContext.h"
#include "SkSurface.h"
#include "common.h"
extern "C" jlong org_jetbrains_skia_Surface__1nMakeRasterDirect
(kref __Kinstance,
jint width, jint height, jint colorType, jint alphaType, jlong colorSpacePtr,
jlong pixelsPtr, jlong rowBytes,
jobject surfacePropsObj)
{
throw std::runtime_error("TODO: implement org_jetbrains_skia_Surface__1nMakeRasterDirect");
}
#if 0
extern "C" jlong org_jetbrains_skia_Surface__1nMakeRasterDirect
(kref __Kinstance,
jint width, jint height, jint colorType, jint alphaType, jlong colorSpacePtr,
jlong pixelsPtr, jlong rowBytes,
jobject surfacePropsObj)
{
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::unique_ptr<SkSurfaceProps> surfaceProps = skija::SurfaceProps::toSkSurfaceProps(env, surfacePropsObj);
sk_sp<SkSurface> instance = SkSurface::MakeRasterDirect(
imageInfo,
reinterpret_cast<void*>(static_cast<uintptr_t>(pixelsPtr)),
rowBytes,
surfaceProps.get());
return reinterpret_cast<jlong>(instance.release());
}
#endif
extern "C" jlong org_jetbrains_skia_Surface__1nMakeRasterDirectWithPixmap
(kref __Kinstance,
jlong pixmapPtr, jobject surfacePropsObj)
{
throw std::runtime_error("TODO: implement org_jetbrains_skia_Surface__1nMakeRasterDirectWithPixmap");
}
#if 0
extern "C" jlong org_jetbrains_skia_Surface__1nMakeRasterDirectWithPixmap
(kref __Kinstance,
jlong pixmapPtr, jobject surfacePropsObj)
{
SkPixmap* pixmap = reinterpret_cast<SkPixmap*>(static_cast<uintptr_t>(pixmapPtr));
std::unique_ptr<SkSurfaceProps> surfaceProps = skija::SurfaceProps::toSkSurfaceProps(env, surfacePropsObj);
sk_sp<SkSurface> instance = SkSurface::MakeRasterDirect(*pixmap, surfaceProps.get());
return reinterpret_cast<jlong>(instance.release());
}
#endif
extern "C" jlong org_jetbrains_skia_Surface__1nMakeRaster
(kref __Kinstance,
jint width, jint height, jint colorType, jint alphaType, jlong colorSpacePtr,
jlong rowBytes,
jobject surfacePropsObj)
{
throw std::runtime_error("TODO: implement org_jetbrains_skia_Surface__1nMakeRaster");
}
#if 0
extern "C" jlong org_jetbrains_skia_Surface__1nMakeRaster
(kref __Kinstance,
jint width, jint height, jint colorType, jint alphaType, jlong colorSpacePtr,
jlong rowBytes,
jobject surfacePropsObj)
{
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::unique_ptr<SkSurfaceProps> surfaceProps = skija::SurfaceProps::toSkSurfaceProps(env, surfacePropsObj);
sk_sp<SkSurface> instance = SkSurface::MakeRaster(
imageInfo,
rowBytes,
surfaceProps.get());
return reinterpret_cast<jlong>(instance.release());
}
#endif
extern "C" jlong org_jetbrains_skia_Surface__1nMakeRasterN32Premul
(kref __Kinstance, jint width, jint height) {
sk_sp<SkSurface> surface = SkSurface::MakeRasterN32Premul(
width, height,
/* const SkSurfaceProps* */ nullptr
);
return reinterpret_cast<jlong>(surface.release());
}
extern "C" jlong org_jetbrains_skia_Surface__1nMakeFromBackendRenderTarget
(kref __Kinstance, jlong pContext, jlong pBackendRenderTarget, jint surfaceOrigin, jint colorType, jlong colorSpacePtr, jobject surfacePropsObj) {
GrDirectContext* context = reinterpret_cast<GrDirectContext*>(static_cast<uintptr_t>(pContext));
GrBackendRenderTarget* backendRenderTarget = reinterpret_cast<GrBackendRenderTarget*>(static_cast<uintptr_t>(pBackendRenderTarget));
GrSurfaceOrigin grSurfaceOrigin = static_cast<GrSurfaceOrigin>(surfaceOrigin);
SkColorType skColorType = static_cast<SkColorType>(colorType);
sk_sp<SkColorSpace> colorSpace = sk_ref_sp<SkColorSpace>(reinterpret_cast<SkColorSpace*>(static_cast<uintptr_t>(colorSpacePtr)));
// std::unique_ptr<SkSurfaceProps> surfaceProps = skija::SurfaceProps::toSkSurfaceProps(env, surfacePropsObj);
sk_sp<SkSurface> surface = SkSurface::MakeFromBackendRenderTarget(
static_cast<GrRecordingContext*>(context),
*backendRenderTarget,
grSurfaceOrigin,
skColorType,
colorSpace,
// "TODO: we silently ignore the surfacePropsObj arg for now.
// surfaceProps,
nullptr,
/* RenderTargetReleaseProc */ nullptr,
/* ReleaseContext */ nullptr
);
return reinterpret_cast<jlong>(surface.release());
}
extern "C" jlong org_jetbrains_skia_Surface__1nMakeFromMTKView
(kref __Kinstance, jlong contextPtr, jlong mtkViewPtr, jint surfaceOrigin, jint sampleCount, jint colorType, jlong colorSpacePtr, jobject surfacePropsObj) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Surface__1nMakeFromMTKView");
}
#if 0
extern "C" jlong org_jetbrains_skia_Surface__1nMakeFromMTKView
(kref __Kinstance, jlong contextPtr, jlong mtkViewPtr, jint surfaceOrigin, jint sampleCount, jint colorType, jlong colorSpacePtr, jobject surfacePropsObj) {
GrDirectContext* context = reinterpret_cast<GrDirectContext*>(static_cast<uintptr_t>(contextPtr));
GrMTLHandle* mtkView = reinterpret_cast<GrMTLHandle*>(static_cast<uintptr_t>(mtkViewPtr));
GrSurfaceOrigin grSurfaceOrigin = static_cast<GrSurfaceOrigin>(surfaceOrigin);
SkColorType skColorType = static_cast<SkColorType>(colorType);
sk_sp<SkColorSpace> colorSpace = sk_ref_sp<SkColorSpace>(reinterpret_cast<SkColorSpace*>(static_cast<uintptr_t>(colorSpacePtr)));
std::unique_ptr<SkSurfaceProps> surfaceProps = skija::SurfaceProps::toSkSurfaceProps(env, surfacePropsObj);
sk_sp<SkSurface> surface = SkSurface::MakeFromMTKView(
static_cast<GrRecordingContext*>(context),
mtkView,
grSurfaceOrigin,
sampleCount,
skColorType,
colorSpace,
surfaceProps.get());
return reinterpret_cast<jlong>(surface.release());
}
#endif
extern "C" jlong org_jetbrains_skia_Surface__1nMakeRenderTarget
(kref __Kinstance, jlong contextPtr, jboolean budgeted,
jint width, jint height, jint colorType, jint alphaType, jlong colorSpacePtr,
jint sampleCount, jint surfaceOrigin,
jobject surfacePropsObj,
jboolean shouldCreateWithMips)
{
throw std::runtime_error("TODO: implement org_jetbrains_skia_Surface__1nMakeRenderTarget");
}
#if 0
extern "C" jlong org_jetbrains_skia_Surface__1nMakeRenderTarget
(kref __Kinstance, jlong contextPtr, jboolean budgeted,
jint width, jint height, jint colorType, jint alphaType, jlong colorSpacePtr,
jint sampleCount, jint surfaceOrigin,
jobject surfacePropsObj,
jboolean shouldCreateWithMips)
{
GrDirectContext* context = reinterpret_cast<GrDirectContext*>(static_cast<uintptr_t>(contextPtr));
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::unique_ptr<SkSurfaceProps> surfaceProps = skija::SurfaceProps::toSkSurfaceProps(env, surfacePropsObj);
sk_sp<SkSurface> instance = SkSurface::MakeRenderTarget(
context, budgeted ? SkBudgeted::kYes : SkBudgeted::kNo,
imageInfo,
sampleCount, static_cast<GrSurfaceOrigin>(surfaceOrigin),
surfaceProps.get(),
shouldCreateWithMips);
return reinterpret_cast<jlong>(instance.release());
}
#endif
extern "C" jlong org_jetbrains_skia_Surface__1nMakeNull
(kref __Kinstance, jint width, jint height) {
sk_sp<SkSurface> instance = SkSurface::MakeNull(width, height);
return reinterpret_cast<jlong>(instance.release());
}
extern "C" jlong org_jetbrains_skia_Surface__1nGetCanvas
(kref __Kinstance, jlong ptr) {
SkSurface* surface = reinterpret_cast<SkSurface*>(static_cast<uintptr_t>(ptr));
return reinterpret_cast<jlong>(surface->getCanvas());
}
extern "C" jint org_jetbrains_skia_Surface__1nGetWidth
(kref __Kinstance, jlong ptr) {
SkSurface* surface = reinterpret_cast<SkSurface*>(static_cast<uintptr_t>(ptr));
return surface->width();
}
extern "C" jint org_jetbrains_skia_Surface__1nGetHeight
(kref __Kinstance, jlong ptr) {
SkSurface* surface = reinterpret_cast<SkSurface*>(static_cast<uintptr_t>(ptr));
return surface->height();
}
extern "C" jlong org_jetbrains_skia_Surface__1nMakeImageSnapshot
(kref __Kinstance, jlong ptr) {
SkSurface* surface = reinterpret_cast<SkSurface*>(static_cast<uintptr_t>(ptr));
return reinterpret_cast<jlong>(surface->makeImageSnapshot().release());
}
extern "C" jlong org_jetbrains_skia_Surface__1nMakeImageSnapshotR
(kref __Kinstance, jlong ptr, jint left, jint top, jint right, jint bottom) {
SkSurface* surface = reinterpret_cast<SkSurface*>(static_cast<uintptr_t>(ptr));
return reinterpret_cast<jlong>(surface->makeImageSnapshot({left, top, right, bottom}).release());
}
extern "C" jint org_jetbrains_skia_Surface__1nGenerationId
(kref __Kinstance, jlong ptr) {
SkSurface* surface = reinterpret_cast<SkSurface*>(static_cast<uintptr_t>(ptr));
return surface->generationID();
}
extern "C" jboolean org_jetbrains_skia_Surface__1nReadPixelsToPixmap
(kref __Kinstance, jlong ptr, jlong pixmapPtr, jint srcX, jint srcY) {
SkSurface* surface = reinterpret_cast<SkSurface*>(static_cast<uintptr_t>(ptr));
SkPixmap* pixmap = reinterpret_cast<SkPixmap*>(static_cast<uintptr_t>(pixmapPtr));
return surface->readPixels(*pixmap, srcX, srcY);
}
extern "C" jboolean org_jetbrains_skia_Surface__1nReadPixels
(kref __Kinstance, jlong ptr, jlong bitmapPtr, jint srcX, jint srcY) {
SkSurface* surface = reinterpret_cast<SkSurface*>(static_cast<uintptr_t>(ptr));
SkBitmap* bitmap = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(bitmapPtr));
return surface->readPixels(*bitmap, srcX, srcY);
}
extern "C" void org_jetbrains_skia_Surface__1nWritePixelsFromPixmap
(kref __Kinstance, jlong ptr, jlong pixmapPtr, jint x, jint y) {
SkSurface* surface = reinterpret_cast<SkSurface*>(static_cast<uintptr_t>(ptr));
SkPixmap* pixmap = reinterpret_cast<SkPixmap*>(static_cast<uintptr_t>(pixmapPtr));
surface->writePixels(*pixmap, x, y);
}
extern "C" void org_jetbrains_skia_Surface__1nWritePixels
(kref __Kinstance, jlong ptr, jlong bitmapPtr, jint x, jint y) {
SkSurface* surface = reinterpret_cast<SkSurface*>(static_cast<uintptr_t>(ptr));
SkBitmap* bitmap = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(bitmapPtr));
surface->writePixels(*bitmap, x, y);
}
extern "C" void org_jetbrains_skia_Surface__1nFlushAndSubmit
(kref __Kinstance, jlong ptr, jboolean syncCpu) {
SkSurface* surface = reinterpret_cast<SkSurface*>(static_cast<uintptr_t>(ptr));
surface->flushAndSubmit(syncCpu);
}
extern "C" void org_jetbrains_skia_Surface__1nFlush
(kref __Kinstance, jlong ptr) {
SkSurface* surface = reinterpret_cast<SkSurface*>(static_cast<uintptr_t>(ptr));
surface->flush();
}
extern "C" jboolean org_jetbrains_skia_Surface__1nUnique
(kref __Kinstance, jlong ptr) {
SkSurface* surface = reinterpret_cast<SkSurface*>(static_cast<uintptr_t>(ptr));
return surface->unique();
}
extern "C" jobject org_jetbrains_skia_Surface__1nGetImageInfo
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Surface__1nGetImageInfo");
}
#if 0
extern "C" jobject org_jetbrains_skia_Surface__1nGetImageInfo
(kref __Kinstance, jlong ptr) {
SkSurface* surface = reinterpret_cast<SkSurface*>(static_cast<uintptr_t>(ptr));
const SkImageInfo& info = surface->imageInfo();
return env->NewObject(skija::ImageInfo::cls, skija::ImageInfo::ctor,
info.width(),
info.height(),
static_cast<jint>(info.colorType()),
static_cast<jint>(info.alphaType()),
reinterpret_cast<jlong>(info.refColorSpace().release()));
}
#endif
extern "C" jlong org_jetbrains_skia_Surface__1nMakeSurface
(kref __Kinstance, jlong ptr, jint width, jint height) {
SkSurface* surface = reinterpret_cast<SkSurface*>(static_cast<uintptr_t>(ptr));
sk_sp<SkSurface> newSurface = surface->makeSurface(width, height);
return reinterpret_cast<jlong>(newSurface.release());
}
extern "C" jlong org_jetbrains_skia_Surface__1nMakeSurfaceI
(kref __Kinstance, jlong ptr, jint width, jint height, jint colorType, jint alphaType, jlong colorSpacePtr) {
SkSurface* surface = reinterpret_cast<SkSurface*>(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));
sk_sp<SkSurface> newSurface = surface->makeSurface(imageInfo);
return reinterpret_cast<jlong>(newSurface.release());
}
extern "C" void org_jetbrains_skia_Surface__1nDraw
(kref __Kinstance, jlong ptr, jlong canvasPtr, jfloat x, jfloat y, jlong paintPtr) {
SkSurface* surface = reinterpret_cast<SkSurface*>(static_cast<uintptr_t>(ptr));
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr));
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr));
surface->draw(canvas, x, y, paint);
}
extern "C" jboolean org_jetbrains_skia_Surface__1nPeekPixels
(kref __Kinstance, jlong ptr, jlong dstPixmapPtr) {
SkSurface* surface = reinterpret_cast<SkSurface*>(static_cast<uintptr_t>(ptr));
SkPixmap* pixmap = reinterpret_cast<SkPixmap*>(static_cast<uintptr_t>(dstPixmapPtr));
return static_cast<jboolean>(surface->peekPixels(pixmap));
}
extern "C" void org_jetbrains_skia_Surface__1nNotifyContentWillChange
(kref __Kinstance, jlong ptr, jint mode) {
SkSurface* surface = reinterpret_cast<SkSurface*>(static_cast<uintptr_t>(ptr));
surface->notifyContentWillChange(static_cast<SkSurface::ContentChangeMode>(mode));
}
extern "C" jlong org_jetbrains_skia_Surface__1nGetRecordingContext
(kref __Kinstance, jlong ptr) {
SkSurface* surface = reinterpret_cast<SkSurface*>(static_cast<uintptr_t>(ptr));
return reinterpret_cast<jlong>(surface->recordingContext());
}
// This file has been auto generated.
#include <cstring>
#include <iostream>
#include "SkData.h"
#include "SkSerialProcs.h"
#include "SkTextBlob.h"
#include "common.h"
static void unrefTextBlob(SkTextBlob* ptr) {
ptr->unref();
}
extern "C" jlong org_jetbrains_skia_TextBlob__1nGetFinalizer
(kref __Kinstance) {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(&unrefTextBlob));
}
extern "C" jobject org_jetbrains_skia_TextBlob__1nBounds
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_TextBlob__1nBounds");
}
#if 0
extern "C" jobject org_jetbrains_skia_TextBlob__1nBounds
(kref __Kinstance, jlong ptr) {
SkTextBlob* instance = reinterpret_cast<SkTextBlob*>(static_cast<uintptr_t>(ptr));
SkRect bounds = instance->bounds();
return skija::Rect::fromSkRect(env, instance->bounds());
}
#endif
extern "C" jint org_jetbrains_skia_TextBlob__1nGetUniqueId
(kref __Kinstance, jlong ptr) {
SkTextBlob* instance = reinterpret_cast<SkTextBlob*>(static_cast<uintptr_t>(ptr));
return instance->uniqueID();
}
extern "C" jfloatArray org_jetbrains_skia_TextBlob__1nGetIntercepts
(kref __Kinstance, jlong ptr, jfloat lower, jfloat upper, jlong paintPtr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_TextBlob__1nGetIntercepts");
}
#if 0
extern "C" jfloatArray org_jetbrains_skia_TextBlob__1nGetIntercepts
(kref __Kinstance, jlong ptr, jfloat lower, jfloat upper, jlong paintPtr) {
SkTextBlob* instance = reinterpret_cast<SkTextBlob*>(static_cast<uintptr_t>(ptr));
std::vector<float> bounds {lower, upper};
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr));
int len = instance->getIntercepts(bounds.data(), nullptr, paint);
std::vector<float> intervals(len);
instance->getIntercepts(bounds.data(), intervals.data(), paint);
return javaFloatArray(env, intervals);
}
#endif
extern "C" jlong org_jetbrains_skia_TextBlob__1nMakeFromPosH
(kref __Kinstance, jshortArray glyphsArr, jfloatArray xposArr, jfloat ypos, jlong fontPtr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_TextBlob__1nMakeFromPosH");
}
#if 0
extern "C" jlong org_jetbrains_skia_TextBlob__1nMakeFromPosH
(kref __Kinstance, jshortArray glyphsArr, jfloatArray xposArr, jfloat ypos, jlong fontPtr) {
jsize len = env->GetArrayLength(glyphsArr);
jshort* glyphs = env->GetShortArrayElements(glyphsArr, nullptr);
jfloat* xpos = env->GetFloatArrayElements(xposArr, nullptr);
SkFont* font = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(fontPtr));
SkTextBlob* instance = SkTextBlob::MakeFromPosTextH(glyphs, len * sizeof(jshort), xpos, ypos, *font, SkTextEncoding::kGlyphID).release();
env->ReleaseShortArrayElements(glyphsArr, glyphs, 0);
env->ReleaseFloatArrayElements(xposArr, xpos, 0);
return reinterpret_cast<jlong>(instance);
}
#endif
extern "C" jlong org_jetbrains_skia_TextBlob__1nMakeFromPos
(kref __Kinstance, jshortArray glyphsArr, jfloatArray posArr, jlong fontPtr ) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_TextBlob__1nMakeFromPos");
}
#if 0
extern "C" jlong org_jetbrains_skia_TextBlob__1nMakeFromPos
(kref __Kinstance, jshortArray glyphsArr, jfloatArray posArr, jlong fontPtr ) {
jsize len = env->GetArrayLength(glyphsArr);
jshort* glyphs = env->GetShortArrayElements(glyphsArr, nullptr);
jfloat* pos = env->GetFloatArrayElements(posArr, nullptr);
SkFont* font = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(fontPtr));
SkTextBlob* instance = SkTextBlob::MakeFromPosText(glyphs, len * sizeof(jshort), reinterpret_cast<SkPoint*>(pos), *font, SkTextEncoding::kGlyphID).release();
env->ReleaseShortArrayElements(glyphsArr, glyphs, 0);
env->ReleaseFloatArrayElements(posArr, pos, 0);
return reinterpret_cast<jlong>(instance);
}
#endif
extern "C" jlong org_jetbrains_skia_TextBlob__1nMakeFromRSXform
(kref __Kinstance, jshortArray glyphsArr, jfloatArray xformArr, jlong fontPtr ) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_TextBlob__1nMakeFromRSXform");
}
#if 0
extern "C" jlong org_jetbrains_skia_TextBlob__1nMakeFromRSXform
(kref __Kinstance, jshortArray glyphsArr, jfloatArray xformArr, jlong fontPtr ) {
jsize len = env->GetArrayLength(glyphsArr);
jshort* glyphs = env->GetShortArrayElements(glyphsArr, nullptr);
jfloat* xform = env->GetFloatArrayElements(xformArr, nullptr);
SkFont* font = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(fontPtr));
SkTextBlob* instance = SkTextBlob::MakeFromRSXform(glyphs, len * sizeof(jshort), reinterpret_cast<SkRSXform*>(xform), *font, SkTextEncoding::kGlyphID).release();
env->ReleaseShortArrayElements(glyphsArr, glyphs, 0);
env->ReleaseFloatArrayElements(xformArr, xform, 0);
return reinterpret_cast<jlong>(instance);
}
#endif
extern "C" jlong org_jetbrains_skia_TextBlob__1nSerializeToData
(kref __Kinstance, jlong ptr) {
SkTextBlob* instance = reinterpret_cast<SkTextBlob*>(static_cast<uintptr_t>(ptr));
SkData* data = instance->serialize({}).release();
return reinterpret_cast<jlong>(data);
}
extern "C" jlong org_jetbrains_skia_TextBlob__1nMakeFromData
(kref __Kinstance, jlong dataPtr) {
SkData* data = reinterpret_cast<SkData*>(static_cast<uintptr_t>(dataPtr));
SkTextBlob* instance = SkTextBlob::Deserialize(data->data(), data->size(), {}).release();
return reinterpret_cast<jlong>(instance);
}
extern "C" jshortArray org_jetbrains_skia_TextBlob__1nGetGlyphs
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_TextBlob__1nGetGlyphs");
}
#if 0
extern "C" jshortArray org_jetbrains_skia_TextBlob__1nGetGlyphs
(kref __Kinstance, jlong ptr) {
SkTextBlob* instance = reinterpret_cast<SkTextBlob*>(static_cast<uintptr_t>(ptr));
SkTextBlob::Iter iter(*instance);
SkTextBlob::Iter::Run run;
std::vector<jshort> glyphs;
size_t stored = 0;
while (iter.next(&run)) {
glyphs.resize(stored + run.fGlyphCount);
memcpy(&glyphs[stored], run.fGlyphIndices, run.fGlyphCount * sizeof(uint16_t));
stored += run.fGlyphCount;
}
return javaShortArray(env, glyphs);
}
#endif
extern "C" jfloatArray org_jetbrains_skia_TextBlob__1nGetPositions
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_TextBlob__1nGetPositions");
}
#if 0
extern "C" jfloatArray org_jetbrains_skia_TextBlob__1nGetPositions
(kref __Kinstance, jlong ptr) {
SkTextBlob* instance = reinterpret_cast<SkTextBlob*>(static_cast<uintptr_t>(ptr));
SkTextBlob::Iter iter(*instance);
SkTextBlob::Iter::Run run;
std::vector<jfloat> positions;
size_t stored = 0;
while (iter.next(&run)) {
// run.fGlyphIndices points directly to runRecord.glyphBuffer(), which comes directly after RunRecord itself
auto runRecord = reinterpret_cast<const RunRecordClone*>(run.fGlyphIndices) - 1;
unsigned scalarsPerGlyph = RunRecordClone::ScalarsPerGlyph(runRecord->positioning());
positions.resize(stored + run.fGlyphCount * scalarsPerGlyph);
memcpy(&positions[stored], runRecord->posBuffer(), run.fGlyphCount * scalarsPerGlyph * sizeof(SkScalar));
stored += run.fGlyphCount * scalarsPerGlyph;
}
return javaFloatArray(env, positions);
}
#endif
extern "C" jintArray org_jetbrains_skia_TextBlob__1nGetClusters
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_TextBlob__1nGetClusters");
}
#if 0
extern "C" jintArray org_jetbrains_skia_TextBlob__1nGetClusters
(kref __Kinstance, jlong ptr) {
SkTextBlob* instance = reinterpret_cast<SkTextBlob*>(static_cast<uintptr_t>(ptr));
SkTextBlob::Iter iter(*instance);
SkTextBlob::Iter::Run run;
std::vector<jint> clusters;
size_t stored = 0;
// uint32_t cluster8 = 0;
uint32_t runStart16 = 0;
while (iter.next(&run)) {
// run.fGlyphIndices points directly to runRecord.glyphBuffer(), which comes directly after RunRecord itself
auto runRecord = reinterpret_cast<const RunRecordClone*>(run.fGlyphIndices) - 1;
if (!runRecord->isExtended())
return nullptr;
skija::UtfIndicesConverter conv(runRecord->textBuffer(), runRecord->textSize());
clusters.resize(stored + run.fGlyphCount);
uint32_t* clusterBuffer = runRecord->clusterBuffer();
for (int i = 0; i < run.fGlyphCount; ++i)
clusters[stored + i] = runStart16 + conv.from8To16(clusterBuffer[i]);
runStart16 += conv.from8To16(runRecord->textSize());
// memcpy(&clusters[stored], runRecord->clusterBuffer(), run.fGlyphCount * sizeof(uint32_t));
stored += run.fGlyphCount;
}
return javaIntArray(env, clusters);
}
#endif
extern "C" jobject org_jetbrains_skia_TextBlob__1nGetTightBounds
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_TextBlob__1nGetTightBounds");
}
#if 0
extern "C" jobject org_jetbrains_skia_TextBlob__1nGetTightBounds
(kref __Kinstance, jlong ptr) {
SkTextBlob* instance = reinterpret_cast<SkTextBlob*>(static_cast<uintptr_t>(ptr));
SkTextBlob::Iter iter(*instance);
SkTextBlob::Iter::Run run;
auto bounds = SkRect::MakeEmpty();
SkRect tmpBounds;
while (iter.next(&run)) {
// run.fGlyphIndices points directly to runRecord.glyphBuffer(), which comes directly after RunRecord itself
auto runRecord = reinterpret_cast<const RunRecordClone*>(run.fGlyphIndices) - 1;
if (runRecord->positioning() != 2) // kFull_Positioning
return nullptr;
runRecord->fFont.measureText(runRecord->glyphBuffer(), run.fGlyphCount * sizeof(uint16_t), SkTextEncoding::kGlyphID, &tmpBounds, nullptr);
SkScalar* posBuffer = runRecord->posBuffer();
tmpBounds.offset(posBuffer[0], posBuffer[1]);
bounds.join(tmpBounds);
}
return skija::Rect::fromSkRect(env, bounds);
}
#endif
extern "C" jobject org_jetbrains_skia_TextBlob__1nGetBlockBounds
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_TextBlob__1nGetBlockBounds");
}
#if 0
extern "C" jobject org_jetbrains_skia_TextBlob__1nGetBlockBounds
(kref __Kinstance, jlong ptr) {
SkTextBlob* instance = reinterpret_cast<SkTextBlob*>(static_cast<uintptr_t>(ptr));
SkTextBlob::Iter iter(*instance);
SkTextBlob::Iter::Run run;
auto bounds = SkRect::MakeEmpty();
SkFontMetrics metrics;
while (iter.next(&run)) {
// run.fGlyphIndices points directly to runRecord.glyphBuffer(), which comes directly after RunRecord itself
auto runRecord = reinterpret_cast<const RunRecordClone*>(run.fGlyphIndices) - 1;
if (runRecord->positioning() != 2) // kFull_Positioning
return nullptr;
SkScalar* posBuffer = runRecord->posBuffer();
const SkFont& font = runRecord->fFont;
font.getMetrics(&metrics);
SkScalar lastLeft = posBuffer[(run.fGlyphCount - 1) * 2];
SkScalar lastWidth;
if (run.fGlyphCount > 1 && SkScalarNearlyEqual(posBuffer[(run.fGlyphCount - 2) * 2], lastLeft))
lastWidth = 0;
else
font.getWidths(&run.fGlyphIndices[run.fGlyphCount - 1], 1, &lastWidth);
auto runBounds = SkRect::MakeLTRB(posBuffer[0], posBuffer[1] + metrics.fAscent, lastLeft + lastWidth, posBuffer[1] + metrics.fDescent);
bounds.join(runBounds);
}
return skija::Rect::fromSkRect(env, bounds);
}
#endif
extern "C" jobject org_jetbrains_skia_TextBlob__1nGetFirstBaseline
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_TextBlob__1nGetFirstBaseline");
}
#if 0
extern "C" jobject org_jetbrains_skia_TextBlob__1nGetFirstBaseline
(kref __Kinstance, jlong ptr) {
SkTextBlob* instance = reinterpret_cast<SkTextBlob*>(static_cast<uintptr_t>(ptr));
SkTextBlob::Iter iter(*instance);
SkTextBlob::Iter::Run run;
while (iter.next(&run)) {
// run.fGlyphIndices points directly to runRecord.glyphBuffer(), which comes directly after RunRecord itself
auto runRecord = reinterpret_cast<const RunRecordClone*>(run.fGlyphIndices) - 1;
if (runRecord->positioning() != 2) // kFull_Positioning
return nullptr;
return javaFloat(env, runRecord->posBuffer()[1]);
}
return nullptr;
}
#endif
extern "C" jobject org_jetbrains_skia_TextBlob__1nGetLastBaseline
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_TextBlob__1nGetLastBaseline");
}
#if 0
extern "C" jobject org_jetbrains_skia_TextBlob__1nGetLastBaseline
(kref __Kinstance, jlong ptr) {
SkTextBlob* instance = reinterpret_cast<SkTextBlob*>(static_cast<uintptr_t>(ptr));
SkTextBlob::Iter iter(*instance);
SkTextBlob::Iter::Run run;
SkScalar baseline = 0;
while (iter.next(&run)) {
// run.fGlyphIndices points directly to runRecord.glyphBuffer(), which comes directly after RunRecord itself
auto runRecord = reinterpret_cast<const RunRecordClone*>(run.fGlyphIndices) - 1;
if (runRecord->positioning() != 2) // kFull_Positioning
return nullptr;
baseline = std::max(baseline, runRecord->posBuffer()[1]);
}
return javaFloat(env, baseline);
}
#endif
// This file has been auto generated.
#include <iostream>
#include "SkTextBlob.h"
#include "common.h"
static void deleteTextBlobBuilder(SkTextBlobBuilder* ptr) {
delete ptr;
}
extern "C" jlong org_jetbrains_skia_TextBlobBuilder__1nGetFinalizer
(kref __Kinstance) {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(&deleteTextBlobBuilder));
}
extern "C" jlong org_jetbrains_skia_TextBlobBuilder__1nMake
(kref __Kinstance) {
return reinterpret_cast<jlong>(new SkTextBlobBuilder());
}
extern "C" jlong org_jetbrains_skia_TextBlobBuilder__1nBuild
(kref __Kinstance, jlong ptr) {
SkTextBlobBuilder* instance = reinterpret_cast<SkTextBlobBuilder*>(static_cast<uintptr_t>(ptr));
return reinterpret_cast<jlong>(instance->make().release());
}
extern "C" void org_jetbrains_skia_TextBlobBuilder__1nAppendRun
(kref __Kinstance, jlong ptr, jlong fontPtr, jshortArray glyphsArr, jfloat x, jfloat y, jobject boundsObj) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_TextBlobBuilder__1nAppendRun");
}
#if 0
extern "C" void org_jetbrains_skia_TextBlobBuilder__1nAppendRun
(kref __Kinstance, jlong ptr, jlong fontPtr, jshortArray glyphsArr, jfloat x, jfloat y, jobject boundsObj) {
SkTextBlobBuilder* instance = reinterpret_cast<SkTextBlobBuilder*>(static_cast<uintptr_t>(ptr));
SkFont* font = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(fontPtr));
jsize len = env->GetArrayLength(glyphsArr);
std::unique_ptr<SkRect> bounds = skija::Rect::toSkRect(env, boundsObj);
SkTextBlobBuilder::RunBuffer run = instance->allocRun(*font, len, x, y, bounds.get());
env->GetShortArrayRegion(glyphsArr, 0, len, reinterpret_cast<jshort*>(run.glyphs));
}
#endif
extern "C" void org_jetbrains_skia_TextBlobBuilder__1nAppendRunPosH
(kref __Kinstance, jlong ptr, jlong fontPtr, jshortArray glyphsArr, jfloatArray xsArr, jfloat y, jobject boundsObj) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_TextBlobBuilder__1nAppendRunPosH");
}
#if 0
extern "C" void org_jetbrains_skia_TextBlobBuilder__1nAppendRunPosH
(kref __Kinstance, jlong ptr, jlong fontPtr, jshortArray glyphsArr, jfloatArray xsArr, jfloat y, jobject boundsObj) {
SkTextBlobBuilder* instance = reinterpret_cast<SkTextBlobBuilder*>(static_cast<uintptr_t>(ptr));
SkFont* font = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(fontPtr));
jsize len = env->GetArrayLength(glyphsArr);
std::unique_ptr<SkRect> bounds = skija::Rect::toSkRect(env, boundsObj);
SkTextBlobBuilder::RunBuffer run = instance->allocRunPosH(*font, len, y, bounds.get());
env->GetShortArrayRegion(glyphsArr, 0, len, reinterpret_cast<jshort*>(run.glyphs));
env->GetFloatArrayRegion(xsArr, 0, len, reinterpret_cast<jfloat*>(run.pos));
}
#endif
extern "C" void org_jetbrains_skia_TextBlobBuilder__1nAppendRunPos
(kref __Kinstance, jlong ptr, jlong fontPtr, jshortArray glyphsArr, jfloatArray posArr, jobject boundsObj) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_TextBlobBuilder__1nAppendRunPos");
}
#if 0
extern "C" void org_jetbrains_skia_TextBlobBuilder__1nAppendRunPos
(kref __Kinstance, jlong ptr, jlong fontPtr, jshortArray glyphsArr, jfloatArray posArr, jobject boundsObj) {
SkTextBlobBuilder* instance = reinterpret_cast<SkTextBlobBuilder*>(static_cast<uintptr_t>(ptr));
SkFont* font = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(fontPtr));
jsize len = env->GetArrayLength(glyphsArr);
std::unique_ptr<SkRect> bounds = skija::Rect::toSkRect(env, boundsObj);
SkTextBlobBuilder::RunBuffer run = instance->allocRunPos(*font, len, bounds.get());
env->GetShortArrayRegion(glyphsArr, 0, len, reinterpret_cast<jshort*>(run.glyphs));
env->GetFloatArrayRegion(posArr, 0, len * 2, reinterpret_cast<jfloat*>(run.pos));
}
#endif
extern "C" void org_jetbrains_skia_TextBlobBuilder__1nAppendRunRSXform
(kref __Kinstance, jlong ptr, jlong fontPtr, jshortArray glyphsArr, jfloatArray xformArr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_TextBlobBuilder__1nAppendRunRSXform");
}
#if 0
extern "C" void org_jetbrains_skia_TextBlobBuilder__1nAppendRunRSXform
(kref __Kinstance, jlong ptr, jlong fontPtr, jshortArray glyphsArr, jfloatArray xformArr) {
SkTextBlobBuilder* instance = reinterpret_cast<SkTextBlobBuilder*>(static_cast<uintptr_t>(ptr));
SkFont* font = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(fontPtr));
jsize len = env->GetArrayLength(glyphsArr);
SkTextBlobBuilder::RunBuffer run = instance->allocRunRSXform(*font, len);
env->GetShortArrayRegion(glyphsArr, 0, len, reinterpret_cast<jshort*>(run.glyphs));
env->GetFloatArrayRegion(xformArr, 0, len * 4, reinterpret_cast<jfloat*>(run.pos));
}
#endif
// This file has been auto generated.
#include <cstring>
#include <iostream>
#include "SkShaper.h"
#include "common.h"
extern "C" jlong org_jetbrains_skia_TextLine__1nGetFinalizer
(kref __Kinstance) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_TextLine__1nGetFinalizer");
}
#if 0
extern "C" jlong org_jetbrains_skia_TextLine__1nGetFinalizer
(kref __Kinstance) {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(&unrefTextLine));
}
#endif
extern "C" jfloat org_jetbrains_skia_TextLine__1nGetAscent
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_TextLine__1nGetAscent");
}
#if 0
extern "C" jfloat org_jetbrains_skia_TextLine__1nGetAscent
(kref __Kinstance, jlong ptr) {
TextLine* instance = reinterpret_cast<TextLine*>(static_cast<uintptr_t>(ptr));
return instance->fAscent;
}
#endif
extern "C" jfloat org_jetbrains_skia_TextLine__1nGetCapHeight
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_TextLine__1nGetCapHeight");
}
#if 0
extern "C" jfloat org_jetbrains_skia_TextLine__1nGetCapHeight
(kref __Kinstance, jlong ptr) {
TextLine* instance = reinterpret_cast<TextLine*>(static_cast<uintptr_t>(ptr));
return instance->fCapHeight;
}
#endif
extern "C" jfloat org_jetbrains_skia_TextLine__1nGetXHeight
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_TextLine__1nGetXHeight");
}
#if 0
extern "C" jfloat org_jetbrains_skia_TextLine__1nGetXHeight
(kref __Kinstance, jlong ptr) {
TextLine* instance = reinterpret_cast<TextLine*>(static_cast<uintptr_t>(ptr));
return instance->fXHeight;
}
#endif
extern "C" jfloat org_jetbrains_skia_TextLine__1nGetDescent
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_TextLine__1nGetDescent");
}
#if 0
extern "C" jfloat org_jetbrains_skia_TextLine__1nGetDescent
(kref __Kinstance, jlong ptr) {
TextLine* instance = reinterpret_cast<TextLine*>(static_cast<uintptr_t>(ptr));
return instance->fDescent;
}
#endif
extern "C" jfloat org_jetbrains_skia_TextLine__1nGetLeading
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_TextLine__1nGetLeading");
}
#if 0
extern "C" jfloat org_jetbrains_skia_TextLine__1nGetLeading
(kref __Kinstance, jlong ptr) {
TextLine* instance = reinterpret_cast<TextLine*>(static_cast<uintptr_t>(ptr));
return instance->fLeading;
}
#endif
extern "C" jfloat org_jetbrains_skia_TextLine__1nGetWidth
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_TextLine__1nGetWidth");
}
#if 0
extern "C" jfloat org_jetbrains_skia_TextLine__1nGetWidth
(kref __Kinstance, jlong ptr) {
TextLine* instance = reinterpret_cast<TextLine*>(static_cast<uintptr_t>(ptr));
return instance->fWidth;
}
#endif
extern "C" jfloat org_jetbrains_skia_TextLine__1nGetHeight
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_TextLine__1nGetHeight");
}
#if 0
extern "C" jfloat org_jetbrains_skia_TextLine__1nGetHeight
(kref __Kinstance, jlong ptr) {
TextLine* instance = reinterpret_cast<TextLine*>(static_cast<uintptr_t>(ptr));
return -instance->fAscent + instance->fDescent + instance->fLeading;
}
#endif
extern "C" jlong org_jetbrains_skia_TextLine__1nGetTextBlob
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_TextLine__1nGetTextBlob");
}
#if 0
extern "C" jlong org_jetbrains_skia_TextLine__1nGetTextBlob
(kref __Kinstance, jlong ptr) {
TextLine* instance = reinterpret_cast<TextLine*>(static_cast<uintptr_t>(ptr));
if (instance->fBlob == nullptr)
return 0;
instance->fBlob->ref();
return reinterpret_cast<jlong>(instance->fBlob.get());
}
#endif
extern "C" jshortArray org_jetbrains_skia_TextLine__1nGetGlyphs
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_TextLine__1nGetGlyphs");
}
#if 0
extern "C" jshortArray org_jetbrains_skia_TextLine__1nGetGlyphs
(kref __Kinstance, jlong ptr) {
TextLine* instance = reinterpret_cast<TextLine*>(static_cast<uintptr_t>(ptr));
std::vector<jshort> glyphs(instance->fGlyphCount);
size_t idx = 0;
for (auto& run: instance->fRuns) {
memcpy(glyphs.data() + idx, run.fGlyphs, run.fGlyphCount * sizeof(uint16_t));
idx += run.fGlyphCount;
}
SkASSERTF(idx == instance->fGlyphCount, "TextLine.cc: idx = %d != instance->fGlyphCount = %d", idx, instance->fGlyphCount);
return javaShortArray(env, glyphs);
}
#endif
extern "C" jfloatArray org_jetbrains_skia_TextLine__1nGetPositions
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_TextLine__1nGetPositions");
}
#if 0
extern "C" jfloatArray org_jetbrains_skia_TextLine__1nGetPositions
(kref __Kinstance, jlong ptr) {
TextLine* instance = reinterpret_cast<TextLine*>(static_cast<uintptr_t>(ptr));
std::vector<jfloat> positions(2 * instance->fGlyphCount);
size_t idx = 0;
for (auto& run: instance->fRuns) {
memcpy(positions.data() + idx, run.fPos, run.fGlyphCount * sizeof(SkPoint));
idx += 2 * run.fGlyphCount;
}
SkASSERTF(idx == 2 * instance->fGlyphCount, "TextLine.cc: idx = %d != 2 * instance->fGlyphCount = %d", idx, 2 * instance->fGlyphCount);
return javaFloatArray(env, positions);
}
#endif
extern "C" jfloatArray org_jetbrains_skia_TextLine__1nGetRunPositions
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_TextLine__1nGetRunPositions");
}
#if 0
extern "C" jfloatArray org_jetbrains_skia_TextLine__1nGetRunPositions
(kref __Kinstance, jlong ptr) {
TextLine* instance = reinterpret_cast<TextLine*>(static_cast<uintptr_t>(ptr));
std::vector<jfloat> positions(instance->fRuns.size());
for (size_t idx = 0; idx < positions.size(); ++idx)
positions[idx] = instance->fRuns[idx].fPosition;
return javaFloatArray(env, positions);
}
#endif
extern "C" jfloatArray org_jetbrains_skia_TextLine__1nGetBreakPositions
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_TextLine__1nGetBreakPositions");
}
#if 0
extern "C" jfloatArray org_jetbrains_skia_TextLine__1nGetBreakPositions
(kref __Kinstance, jlong ptr) {
TextLine* instance = reinterpret_cast<TextLine*>(static_cast<uintptr_t>(ptr));
std::vector<jfloat> positions;
for (auto& run: instance->fRuns)
positions.insert(positions.end(), run.fBreakPositions.begin(), run.fBreakPositions.end());
return javaFloatArray(env, positions);
}
#endif
extern "C" jintArray org_jetbrains_skia_TextLine__1nGetBreakOffsets
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_TextLine__1nGetBreakOffsets");
}
#if 0
extern "C" jintArray org_jetbrains_skia_TextLine__1nGetBreakOffsets
(kref __Kinstance, jlong ptr) {
TextLine* instance = reinterpret_cast<TextLine*>(static_cast<uintptr_t>(ptr));
std::vector<jint> offsets;
for (auto& run: instance->fRuns)
offsets.insert(offsets.end(), run.fBreakOffsets.begin(), run.fBreakOffsets.end());
return javaIntArray(env, offsets);
}
#endif
extern "C" jint org_jetbrains_skia_TextLine__1nGetOffsetAtCoord
(kref __Kinstance, jlong ptr, jfloat x) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_TextLine__1nGetOffsetAtCoord");
}
#if 0
extern "C" jint org_jetbrains_skia_TextLine__1nGetOffsetAtCoord
(kref __Kinstance, jlong ptr, jfloat x) {
TextLine* instance = reinterpret_cast<TextLine*>(static_cast<uintptr_t>(ptr));
if (instance->fRuns.empty())
return 0;
for (auto& run: instance->fRuns) {
SkScalar breakLeft = run.fBreakPositions[0];
for (uint32_t idx = 0; idx < run.fBreakPositions.size() - 1; ++idx) {
SkScalar breakRight = run.fBreakPositions[idx + 1];
if (x < (breakLeft + breakRight) / 2)
return run.fBreakOffsets[idx];
breakLeft = breakRight;
}
}
return (jint) instance->fRuns.back().fBreakOffsets.back();
}
#endif
extern "C" jint org_jetbrains_skia_TextLine__1nGetLeftOffsetAtCoord
(kref __Kinstance, jlong ptr, jfloat x) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_TextLine__1nGetLeftOffsetAtCoord");
}
#if 0
extern "C" jint org_jetbrains_skia_TextLine__1nGetLeftOffsetAtCoord
(kref __Kinstance, jlong ptr, jfloat x) {
TextLine* instance = reinterpret_cast<TextLine*>(static_cast<uintptr_t>(ptr));
if (instance->fRuns.empty())
return 0;
for (auto& run: instance->fRuns) {
for (uint32_t idx = 0; idx < run.fBreakPositions.size() - 1; ++idx) {
SkScalar breakRight = run.fBreakPositions[idx + 1];
if (x < breakRight)
return run.fBreakOffsets[idx];
}
}
return (jint) instance->fRuns.back().fBreakOffsets.back();
}
#endif
extern "C" jfloat org_jetbrains_skia_TextLine__1nGetCoordAtOffset
(kref __Kinstance, jlong ptr, jint offset16) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_TextLine__1nGetCoordAtOffset");
}
#if 0
extern "C" jfloat org_jetbrains_skia_TextLine__1nGetCoordAtOffset
(kref __Kinstance, jlong ptr, jint offset16) {
TextLine* instance = reinterpret_cast<TextLine*>(static_cast<uintptr_t>(ptr));
for (auto& run: instance->fRuns) {
if (offset16 > run.fBreakOffsets.back())
continue;
for (uint32_t idx = 0; idx < run.fBreakPositions.size() - 1; ++idx) {
if (offset16 < run.fBreakOffsets[idx] && idx > 0)
return run.fBreakPositions[idx - 1];
if (offset16 <= run.fBreakOffsets[idx])
return run.fBreakPositions[idx];
}
}
return instance->fWidth;
}
#endif
// This file has been auto generated.
#include <iostream>
#include "SkData.h"
#include "SkTypeface.h"
#include "common.h"
extern "C" jint org_jetbrains_skia_Typeface__1nGetFontStyle
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Typeface__1nGetFontStyle");
}
#if 0
extern "C" jint org_jetbrains_skia_Typeface__1nGetFontStyle
(kref __Kinstance, jlong ptr) {
SkTypeface* instance = reinterpret_cast<SkTypeface*>(static_cast<uintptr_t>(ptr));
return skija::FontStyle::toJava(instance->fontStyle());
}
#endif
extern "C" jboolean org_jetbrains_skia_Typeface__1nIsFixedPitch
(kref __Kinstance, jlong ptr) {
SkTypeface* instance = reinterpret_cast<SkTypeface*>(static_cast<uintptr_t>(ptr));
return instance->isFixedPitch();
}
extern "C" jobjectArray org_jetbrains_skia_Typeface__1nGetVariations
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Typeface__1nGetVariations");
}
#if 0
extern "C" jobjectArray org_jetbrains_skia_Typeface__1nGetVariations
(kref __Kinstance, jlong ptr) {
SkTypeface* instance = reinterpret_cast<SkTypeface*>(static_cast<uintptr_t>(ptr));
int count = instance->getVariationDesignPosition(nullptr, 0);
if (count > 0) {
std::vector<SkFontArguments::VariationPosition::Coordinate> coords(count);
instance->getVariationDesignPosition(coords.data(), count);
jobjectArray res = env->NewObjectArray(count, skija::FontVariation::cls, nullptr);
for (int i=0; i < count; ++i) {
jobject var = env->NewObject(skija::FontVariation::cls, skija::FontVariation::ctor, coords[i].axis, coords[i].value);
env->SetObjectArrayElement(res, i, var);
}
return res;
} else
return nullptr;
}
#endif
extern "C" jobjectArray org_jetbrains_skia_Typeface__1nGetVariationAxes
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Typeface__1nGetVariationAxes");
}
#if 0
extern "C" jobjectArray org_jetbrains_skia_Typeface__1nGetVariationAxes
(kref __Kinstance, jlong ptr) {
SkTypeface* instance = reinterpret_cast<SkTypeface*>(static_cast<uintptr_t>(ptr));
int count = instance->getVariationDesignParameters(nullptr, 0);
if (count > 0) {
std::vector<SkFontParameters::Variation::Axis> params(count);
instance->getVariationDesignParameters(params.data(), count);
jobjectArray res = env->NewObjectArray(count, skija::FontVariationAxis::cls, nullptr);
for (int i=0; i < count; ++i) {
jobject var = env->NewObject(skija::FontVariationAxis::cls, skija::FontVariationAxis::ctor, params[i].tag, params[i].min, params[i].def, params[i].max, params[i].isHidden());
env->SetObjectArrayElement(res, i, var);
}
return res;
} else
return nullptr;
}
#endif
extern "C" jint org_jetbrains_skia_Typeface__1nGetUniqueId
(kref __Kinstance, jlong ptr) {
SkTypeface* instance = reinterpret_cast<SkTypeface*>(static_cast<uintptr_t>(ptr));
return instance->uniqueID();
}
extern "C" jint org_jetbrains_skia_Typeface__1nEquals
(kref __Kinstance, jlong ptr, jlong otherPtr) {
SkTypeface* instance = reinterpret_cast<SkTypeface*>(static_cast<uintptr_t>(ptr));
SkTypeface* other = reinterpret_cast<SkTypeface*>(static_cast<uintptr_t>(otherPtr));
return SkTypeface::Equal(instance, other);
}
extern "C" jlong org_jetbrains_skia_Typeface__1nMakeDefault
(kref __Kinstance) {
return reinterpret_cast<jlong>(SkTypeface::MakeDefault().release());
}
// TODO remove after https://bugs.chromium.org/p/skia/issues/detail?id=10929
sk_sp<SkTypeface> setDefaultVariationCoords(sk_sp<SkTypeface> face) {
#if defined(SK_BUILD_FOR_WIN)
int count = face->getVariationDesignParameters(nullptr, 0);
if (count > 0) {
std::vector<SkFontParameters::Variation::Axis> params(count);
face->getVariationDesignParameters(params.data(), count);
std::vector<SkFontArguments::VariationPosition::Coordinate> coords(count);
for (int i = 0; i < count; ++i) {
coords[i].axis = params[i].tag;
coords[i].value = params[i].def;
}
SkFontArguments arg;
arg.setVariationDesignPosition({coords.data(), count});
return face->makeClone(arg);
}
#endif
return face;
}
extern "C" jlong org_jetbrains_skia_Typeface__1nMakeFromName
(kref __Kinstance, jstring nameStr, jint styleValue) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Typeface__1nMakeFromName");
}
#if 0
extern "C" jlong org_jetbrains_skia_Typeface__1nMakeFromName
(kref __Kinstance, jstring nameStr, jint styleValue) {
SkString name = skString(env, nameStr);
SkFontStyle style = skija::FontStyle::fromJava(styleValue);
sk_sp<SkTypeface> instance = SkTypeface::MakeFromName(name.c_str(), style);
SkTypeface* ptr = setDefaultVariationCoords(instance).release();
return reinterpret_cast<jlong>(ptr);
}
#endif
extern "C" jlong org_jetbrains_skia_Typeface__1nMakeFromFile
(kref __Kinstance, jstring pathStr, jint index) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Typeface__1nMakeFromFile");
}
#if 0
extern "C" jlong org_jetbrains_skia_Typeface__1nMakeFromFile
(kref __Kinstance, jstring pathStr, jint index) {
SkString path = skString(env, pathStr);
sk_sp<SkTypeface> instance = SkTypeface::MakeFromFile(path.c_str(), index);
SkTypeface* ptr = setDefaultVariationCoords(instance).release();
return reinterpret_cast<jlong>(ptr);
}
#endif
extern "C" jlong org_jetbrains_skia_Typeface__1nMakeFromData
(kref __Kinstance, jlong dataPtr, jint index) {
SkData* data = reinterpret_cast<SkData*>(static_cast<uintptr_t>(dataPtr));
sk_sp<SkTypeface> instance = SkTypeface::MakeFromData(sk_ref_sp(data), index);
SkTypeface* ptr = setDefaultVariationCoords(instance).release();
return reinterpret_cast<jlong>(ptr);
}
extern "C" jlong org_jetbrains_skia_Typeface__1nMakeClone
(kref __Kinstance, jlong typefacePtr, jobjectArray variations, jint collectionIndex) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Typeface__1nMakeClone");
}
#if 0
extern "C" jlong org_jetbrains_skia_Typeface__1nMakeClone
(kref __Kinstance, jlong typefacePtr, jobjectArray variations, jint collectionIndex) {
SkTypeface* typeface = reinterpret_cast<SkTypeface*>(static_cast<uintptr_t>(typefacePtr));
int variationCount = env->GetArrayLength(variations);
std::vector<SkFontArguments::VariationPosition::Coordinate> coordinates(variationCount);
for (int i=0; i < variationCount; ++i) {
jobject jvar = env->GetObjectArrayElement(variations, i);
coordinates[i] = {
static_cast<SkFourByteTag>(env->GetIntField(jvar, skija::FontVariation::tag)),
env->GetFloatField(jvar, skija::FontVariation::value)
};
env->DeleteLocalRef(jvar);
}
SkFontArguments arg = SkFontArguments()
.setCollectionIndex(collectionIndex)
.setVariationDesignPosition({coordinates.data(), variationCount});
SkTypeface* clone = typeface->makeClone(arg).release();
return reinterpret_cast<jlong>(clone);
}
#endif
extern "C" jshortArray org_jetbrains_skia_Typeface__1nGetUTF32Glyphs
(kref __Kinstance, jlong ptr, jintArray uniArr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Typeface__1nGetUTF32Glyphs");
}
#if 0
extern "C" jshortArray org_jetbrains_skia_Typeface__1nGetUTF32Glyphs
(kref __Kinstance, jlong ptr, jintArray uniArr) {
SkTypeface* instance = reinterpret_cast<SkTypeface*>(static_cast<uintptr_t>(ptr));
jint count = env->GetArrayLength(uniArr);
std::vector<short> glyphs(count);
jint* uni = env->GetIntArrayElements(uniArr, nullptr);
instance->unicharsToGlyphs(reinterpret_cast<SkUnichar*>(uni), count, reinterpret_cast<SkGlyphID*>(glyphs.data()));
env->ReleaseIntArrayElements(uniArr, uni, 0);
return javaShortArray(env, glyphs);
}
#endif
extern "C" jshort org_jetbrains_skia_Typeface__1nGetUTF32Glyph
(kref __Kinstance, jlong ptr, jint uni) {
SkTypeface* instance = reinterpret_cast<SkTypeface*>(static_cast<uintptr_t>(ptr));
return instance->unicharToGlyph(uni);
}
extern "C" jint org_jetbrains_skia_Typeface__1nGetGlyphsCount
(kref __Kinstance, jlong ptr) {
SkTypeface* instance = reinterpret_cast<SkTypeface*>(static_cast<uintptr_t>(ptr));
return instance->countGlyphs();
}
extern "C" jint org_jetbrains_skia_Typeface__1nGetTablesCount
(kref __Kinstance, jlong ptr) {
SkTypeface* instance = reinterpret_cast<SkTypeface*>(static_cast<uintptr_t>(ptr));
return instance->countTables();
}
extern "C" jintArray org_jetbrains_skia_Typeface__1nGetTableTags
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Typeface__1nGetTableTags");
}
#if 0
extern "C" jintArray org_jetbrains_skia_Typeface__1nGetTableTags
(kref __Kinstance, jlong ptr) {
SkTypeface* instance = reinterpret_cast<SkTypeface*>(static_cast<uintptr_t>(ptr));
int count = instance->countTables();
std::vector<jint> tags(count);
instance->getTableTags(reinterpret_cast<SkFontTableTag*>(tags.data()));
return javaIntArray(env, tags);
}
#endif
extern "C" jlong org_jetbrains_skia_Typeface__1nGetTableSize
(kref __Kinstance, jlong ptr, jint tag) {
SkTypeface* instance = reinterpret_cast<SkTypeface*>(static_cast<uintptr_t>(ptr));
return instance->getTableSize(tag);
}
extern "C" jlong org_jetbrains_skia_Typeface__1nGetTableData
(kref __Kinstance, jlong ptr, jint tag) {
SkTypeface* instance = reinterpret_cast<SkTypeface*>(static_cast<uintptr_t>(ptr));
SkData* data = instance->copyTableData(tag).release();
return reinterpret_cast<jlong>(data);
}
extern "C" jint org_jetbrains_skia_Typeface__1nGetUnitsPerEm
(kref __Kinstance, jlong ptr) {
SkTypeface* instance = reinterpret_cast<SkTypeface*>(static_cast<uintptr_t>(ptr));
return instance->getUnitsPerEm();
}
extern "C" jintArray org_jetbrains_skia_Typeface__1nGetKerningPairAdjustments
(kref __Kinstance, jlong ptr, jshortArray glyphsArr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Typeface__1nGetKerningPairAdjustments");
}
#if 0
extern "C" jintArray org_jetbrains_skia_Typeface__1nGetKerningPairAdjustments
(kref __Kinstance, jlong ptr, jshortArray glyphsArr) {
SkTypeface* instance = reinterpret_cast<SkTypeface*>(static_cast<uintptr_t>(ptr));
int count = glyphsArr == nullptr ? 0 : env->GetArrayLength(glyphsArr);
if (count > 0) {
std::vector<jint> adjustments(count);
jshort* glyphs = env->GetShortArrayElements(glyphsArr, nullptr);
bool res = instance->getKerningPairAdjustments(
reinterpret_cast<SkGlyphID*>(glyphs), count,
reinterpret_cast<int32_t*>(adjustments.data()));
env->ReleaseShortArrayElements(glyphsArr, glyphs, 0);
return res ? javaIntArray(env, adjustments) : nullptr;
} else {
bool res = instance->getKerningPairAdjustments(nullptr, 0, nullptr);
return res ? javaIntArray(env, std::vector<jint>(0)) : nullptr;
}
}
#endif
extern "C" jobjectArray org_jetbrains_skia_Typeface__1nGetFamilyNames
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Typeface__1nGetFamilyNames");
}
#if 0
extern "C" jobjectArray org_jetbrains_skia_Typeface__1nGetFamilyNames
(kref __Kinstance, jlong ptr) {
SkTypeface* instance = reinterpret_cast<SkTypeface*>(static_cast<uintptr_t>(ptr));
SkTypeface::LocalizedStrings* iter = instance->createFamilyNameIterator();
std::vector<SkTypeface::LocalizedString> names;
SkTypeface::LocalizedString name;
while (iter->next(&name)) {
names.push_back(name);
}
iter->unref();
jobjectArray res = env->NewObjectArray((jsize) names.size(), skija::FontFamilyName::cls, nullptr);
for (int i = 0; i < names.size(); ++i) {
skija::AutoLocal<jstring> nameStr(env, javaString(env, names[i].fString));
skija::AutoLocal<jstring> langStr(env, javaString(env, names[i].fLanguage));
skija::AutoLocal<jobject> obj(env, env->NewObject(skija::FontFamilyName::cls, skija::FontFamilyName::ctor, nameStr.get(), langStr.get()));
env->SetObjectArrayElement(res, i, obj.get());
}
return res;
}
#endif
extern "C" jstring org_jetbrains_skia_Typeface__1nGetFamilyName
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Typeface__1nGetFamilyName");
}
#if 0
extern "C" jstring org_jetbrains_skia_Typeface__1nGetFamilyName
(kref __Kinstance, jlong ptr) {
SkTypeface* instance = reinterpret_cast<SkTypeface*>(static_cast<uintptr_t>(ptr));
SkString name;
instance->getFamilyName(&name);
return javaString(env, name);
}
#endif
extern "C" jobject org_jetbrains_skia_Typeface__1nGetBounds
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_Typeface__1nGetBounds");
}
#if 0
extern "C" jobject org_jetbrains_skia_Typeface__1nGetBounds
(kref __Kinstance, jlong ptr) {
SkTypeface* instance = reinterpret_cast<SkTypeface*>(static_cast<uintptr_t>(ptr));
return skija::Rect::fromSkRect(env, instance->getBounds());
}
#endif
// This file has been auto generated.
#include <string>
#include "SkString.h"
#include "common.h"
static void deleteU16String(std::vector<jchar>* instance) {
delete instance;
}
extern "C" jlong org_jetbrains_skia_U16String__1nGetFinalizer
(kref __Kinstance) {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(&deleteU16String));
}
extern "C" jlong org_jetbrains_skia_U16String__1nMake
(kref __Kinstance, jstring str) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_U16String__1nMake");
}
#if 0
extern "C" jlong org_jetbrains_skia_U16String__1nMake
(kref __Kinstance, jstring str) {
jsize len = env->GetStringLength(str);
std::vector<jchar>* instance = new std::vector<jchar>(len);
env->GetStringRegion(str, 0, len, instance->data());
return reinterpret_cast<jlong>(instance);
}
#endif
extern "C" jobject org_jetbrains_skia_U16String__1nToString
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_U16String__1nToString");
}
#if 0
extern "C" jobject org_jetbrains_skia_U16String__1nToString
(kref __Kinstance, jlong ptr) {
std::vector<jchar>* instance = reinterpret_cast<std::vector<jchar>*>(static_cast<uintptr_t>(ptr));
return env->NewString(instance->data(), instance->size());
}
#endif
// This file has been auto generated.
#include <iostream>
#include "SkRefCnt.h"
#include "FontCollection.h"
using namespace std;
using namespace skia::textlayout;
#include "common.h"
extern "C" jlong org_jetbrains_skia_paragraph_FontCollection__1nMake
(kref __Kinstance) {
FontCollection* ptr = new FontCollection();
return reinterpret_cast<jlong>(ptr);
}
extern "C" jlong org_jetbrains_skia_paragraph_FontCollection__1nGetFontManagersCount
(kref __Kinstance, jlong ptr) {
FontCollection* instance = reinterpret_cast<FontCollection*>(static_cast<uintptr_t>(ptr));
return instance->getFontManagersCount();
}
extern "C" void org_jetbrains_skia_paragraph_FontCollection__1nSetAssetFontManager
(kref __Kinstance, jlong ptr, jlong fontManagerPtr, jstring defaultFamilyNameStr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_paragraph_FontCollection__1nSetAssetFontManager");
}
#if 0
extern "C" void org_jetbrains_skia_paragraph_FontCollection__1nSetAssetFontManager
(kref __Kinstance, jlong ptr, jlong fontManagerPtr, jstring defaultFamilyNameStr) {
FontCollection* instance = reinterpret_cast<FontCollection*>(static_cast<uintptr_t>(ptr));
SkFontMgr* fontManager = reinterpret_cast<SkFontMgr*>(static_cast<uintptr_t>(fontManagerPtr));
instance->setAssetFontManager(sk_ref_sp(fontManager));
}
#endif
extern "C" void org_jetbrains_skia_paragraph_FontCollection__1nSetDynamicFontManager
(kref __Kinstance, jlong ptr, jlong fontManagerPtr, jstring defaultFamilyNameStr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_paragraph_FontCollection__1nSetDynamicFontManager");
}
#if 0
extern "C" void org_jetbrains_skia_paragraph_FontCollection__1nSetDynamicFontManager
(kref __Kinstance, jlong ptr, jlong fontManagerPtr, jstring defaultFamilyNameStr) {
FontCollection* instance = reinterpret_cast<FontCollection*>(static_cast<uintptr_t>(ptr));
SkFontMgr* fontManager = reinterpret_cast<SkFontMgr*>(static_cast<uintptr_t>(fontManagerPtr));
instance->setDynamicFontManager(sk_ref_sp(fontManager));
}
#endif
extern "C" void org_jetbrains_skia_paragraph_FontCollection__1nSetTestFontManager
(kref __Kinstance, jlong ptr, jlong fontManagerPtr, jstring defaultFamilyNameStr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_paragraph_FontCollection__1nSetTestFontManager");
}
#if 0
extern "C" void org_jetbrains_skia_paragraph_FontCollection__1nSetTestFontManager
(kref __Kinstance, jlong ptr, jlong fontManagerPtr, jstring defaultFamilyNameStr) {
FontCollection* instance = reinterpret_cast<FontCollection*>(static_cast<uintptr_t>(ptr));
SkFontMgr* fontManager = reinterpret_cast<SkFontMgr*>(static_cast<uintptr_t>(fontManagerPtr));
instance->setTestFontManager(sk_ref_sp(fontManager));
}
#endif
extern "C" void org_jetbrains_skia_paragraph_FontCollection__1nSetDefaultFontManager
(kref __Kinstance, jlong ptr, jlong fontManagerPtr, jstring defaultFamilyNameStr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_paragraph_FontCollection__1nSetDefaultFontManager");
}
#if 0
extern "C" void org_jetbrains_skia_paragraph_FontCollection__1nSetDefaultFontManager
(kref __Kinstance, jlong ptr, jlong fontManagerPtr, jstring defaultFamilyNameStr) {
FontCollection* instance = reinterpret_cast<FontCollection*>(static_cast<uintptr_t>(ptr));
SkFontMgr* fontManager = reinterpret_cast<SkFontMgr*>(static_cast<uintptr_t>(fontManagerPtr));
if (defaultFamilyNameStr == nullptr)
instance->setDefaultFontManager(sk_ref_sp(fontManager));
else {
SkString defaultFamilyName = skString(env, defaultFamilyNameStr);
instance->setDefaultFontManager(sk_ref_sp(fontManager), defaultFamilyName.c_str());
}
}
#endif
extern "C" jlong org_jetbrains_skia_paragraph_FontCollection__1nGetFallbackManager
(kref __Kinstance, jlong ptr) {
FontCollection* instance = reinterpret_cast<FontCollection*>(static_cast<uintptr_t>(ptr));
return reinterpret_cast<jlong>(instance->getFallbackManager().release());
}
extern "C" jlongArray org_jetbrains_skia_paragraph_FontCollection__1nFindTypefaces
(kref __Kinstance, jlong ptr, jobjectArray familyNamesArray, jint fontStyle) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_paragraph_FontCollection__1nFindTypefaces");
}
#if 0
extern "C" jlongArray org_jetbrains_skia_paragraph_FontCollection__1nFindTypefaces
(kref __Kinstance, jlong ptr, jobjectArray familyNamesArray, jint fontStyle) {
FontCollection* instance = reinterpret_cast<FontCollection*>(static_cast<uintptr_t>(ptr));
jsize len = env->GetArrayLength(familyNamesArray);
vector<SkString> familyNames(len);
for (int i = 0; i < len; ++i) {
jstring str = static_cast<jstring>(env->GetObjectArrayElement(familyNamesArray, i));
familyNames.push_back(skString(env, str));
env->DeleteLocalRef(str);
}
vector<sk_sp<SkTypeface>> found = instance->findTypefaces(familyNames, skija::FontStyle::fromJava(fontStyle));
vector<jlong> res(found.size());
for (int i = 0; i < found.size(); ++i)
res[i] = reinterpret_cast<jlong>(found[i].release());
jlongArray resArray = env->NewLongArray((jsize) found.size());
env->SetLongArrayRegion(resArray, 0, (jsize) found.size(), res.data());
return resArray;
}
#endif
extern "C" jlong org_jetbrains_skia_paragraph_FontCollection__1nDefaultFallbackChar
(kref __Kinstance, jlong ptr, jint unicode, jint fontStyle, jstring locale) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_paragraph_FontCollection__1nDefaultFallbackChar");
}
#if 0
extern "C" jlong org_jetbrains_skia_paragraph_FontCollection__1nDefaultFallbackChar
(kref __Kinstance, jlong ptr, jint unicode, jint fontStyle, jstring locale) {
FontCollection* instance = reinterpret_cast<FontCollection*>(static_cast<uintptr_t>(ptr));
return reinterpret_cast<jlong>(instance->defaultFallback(unicode, skija::FontStyle::fromJava(fontStyle), skString(env, locale)).release());
}
#endif
extern "C" jlong org_jetbrains_skia_paragraph_FontCollection__1nDefaultFallback
(kref __Kinstance, jlong ptr) {
FontCollection* instance = reinterpret_cast<FontCollection*>(static_cast<uintptr_t>(ptr));
return reinterpret_cast<jlong>(instance->defaultFallback().release());
}
extern "C" void org_jetbrains_skia_paragraph_FontCollection__1nSetEnableFallback
(kref __Kinstance, jlong ptr, jboolean value) {
FontCollection* instance = reinterpret_cast<FontCollection*>(static_cast<uintptr_t>(ptr));
if (value)
instance->enableFontFallback();
else
instance->disableFontFallback();
}
extern "C" jlong org_jetbrains_skia_paragraph_FontCollection__1nGetParagraphCache
(kref __Kinstance, jlong ptr) {
FontCollection* instance = reinterpret_cast<FontCollection*>(static_cast<uintptr_t>(ptr));
return reinterpret_cast<jlong>(instance->getParagraphCache());
}
// This file has been auto generated.
#include <iostream>
#include "DartTypes.h"
#include "Paragraph.h"
using namespace std;
using namespace skia::textlayout;
#include "common.h"
static void deleteParagraph(Paragraph* instance) {
delete instance;
}
extern "C" jlong org_jetbrains_skia_paragraph_Paragraph__1nGetFinalizer
(kref __Kinstance) {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(&deleteParagraph));
}
extern "C" jfloat org_jetbrains_skia_paragraph_Paragraph__1nGetMaxWidth
(kref __Kinstance, jlong ptr) {
Paragraph* instance = reinterpret_cast<Paragraph*>(static_cast<uintptr_t>(ptr));
return instance->getMaxWidth();
}
extern "C" jfloat org_jetbrains_skia_paragraph_Paragraph__1nGetHeight
(kref __Kinstance, jlong ptr) {
Paragraph* instance = reinterpret_cast<Paragraph*>(static_cast<uintptr_t>(ptr));
return instance->getHeight();
}
extern "C" jfloat org_jetbrains_skia_paragraph_Paragraph__1nGetMinIntrinsicWidth
(kref __Kinstance, jlong ptr) {
Paragraph* instance = reinterpret_cast<Paragraph*>(static_cast<uintptr_t>(ptr));
return instance->getMinIntrinsicWidth();
}
extern "C" jfloat org_jetbrains_skia_paragraph_Paragraph__1nGetMaxIntrinsicWidth
(kref __Kinstance, jlong ptr) {
Paragraph* instance = reinterpret_cast<Paragraph*>(static_cast<uintptr_t>(ptr));
return instance->getMaxIntrinsicWidth();
}
extern "C" jfloat org_jetbrains_skia_paragraph_Paragraph__1nGetAlphabeticBaseline
(kref __Kinstance, jlong ptr) {
Paragraph* instance = reinterpret_cast<Paragraph*>(static_cast<uintptr_t>(ptr));
return instance->getAlphabeticBaseline();
}
extern "C" jfloat org_jetbrains_skia_paragraph_Paragraph__1nGetIdeographicBaseline
(kref __Kinstance, jlong ptr) {
Paragraph* instance = reinterpret_cast<Paragraph*>(static_cast<uintptr_t>(ptr));
return instance->getIdeographicBaseline();
}
extern "C" jfloat org_jetbrains_skia_paragraph_Paragraph__1nGetLongestLine
(kref __Kinstance, jlong ptr) {
Paragraph* instance = reinterpret_cast<Paragraph*>(static_cast<uintptr_t>(ptr));
return instance->getLongestLine();
}
extern "C" jboolean org_jetbrains_skia_paragraph_Paragraph__1nDidExceedMaxLines
(kref __Kinstance, jlong ptr) {
Paragraph* instance = reinterpret_cast<Paragraph*>(static_cast<uintptr_t>(ptr));
return instance->didExceedMaxLines();
}
extern "C" void org_jetbrains_skia_paragraph_Paragraph__1nLayout
(kref __Kinstance, jlong ptr, jfloat width) {
Paragraph* instance = reinterpret_cast<Paragraph*>(static_cast<uintptr_t>(ptr));
instance->layout(width);
}
extern "C" void org_jetbrains_skia_paragraph_Paragraph__1nPaint
(kref __Kinstance, jlong ptr, jlong canvasPtr, jfloat x, jfloat y) {
Paragraph* instance = reinterpret_cast<Paragraph*>(static_cast<uintptr_t>(ptr));
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr));
instance->paint(canvas, x, y);
}
extern "C" jobjectArray org_jetbrains_skia_paragraph_Paragraph__1nGetRectsForRange
(kref __Kinstance, jlong ptr, jint start, jint end, jint rectHeightStyle, jint rectWidthStyle) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_paragraph_Paragraph__1nGetRectsForRange");
}
#if 0
extern "C" jobjectArray org_jetbrains_skia_paragraph_Paragraph__1nGetRectsForRange
(kref __Kinstance, jlong ptr, jint start, jint end, jint rectHeightStyle, jint rectWidthStyle) {
Paragraph* instance = reinterpret_cast<Paragraph*>(static_cast<uintptr_t>(ptr));
std::vector<TextBox> rects = instance->getRectsForRange(start, end, static_cast<RectHeightStyle>(rectHeightStyle), static_cast<RectWidthStyle>(rectWidthStyle));
jobjectArray rectsArray = env->NewObjectArray((jsize) rects.size(), skija::paragraph::TextBox::cls, nullptr);
for (int i = 0; i < rects.size(); ++i) {
TextBox box = rects[i];
jobject boxObj = env->NewObject(skija::paragraph::TextBox::cls, skija::paragraph::TextBox::ctor, box.rect.fLeft, box.rect.fTop, box.rect.fRight, box.rect.fBottom, static_cast<jint>(box.direction));
env->SetObjectArrayElement(rectsArray, i, boxObj);
env->DeleteLocalRef(boxObj);
}
return rectsArray;
}
#endif
extern "C" jobjectArray org_jetbrains_skia_paragraph_Paragraph__1nGetRectsForPlaceholders
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_paragraph_Paragraph__1nGetRectsForPlaceholders");
}
#if 0
extern "C" jobjectArray org_jetbrains_skia_paragraph_Paragraph__1nGetRectsForPlaceholders
(kref __Kinstance, jlong ptr) {
Paragraph* instance = reinterpret_cast<Paragraph*>(static_cast<uintptr_t>(ptr));
std::vector<TextBox> rects = instance->getRectsForPlaceholders();
jobjectArray rectsArray = env->NewObjectArray((jsize) rects.size(), skija::paragraph::TextBox::cls, nullptr);
for (int i = 0; i < rects.size(); ++i) {
TextBox box = rects[i];
jobject boxObj = env->NewObject(skija::paragraph::TextBox::cls, skija::paragraph::TextBox::ctor, box.rect.fLeft, box.rect.fTop, box.rect.fRight, box.rect.fBottom, static_cast<jint>(box.direction));
env->SetObjectArrayElement(rectsArray, i, boxObj);
env->DeleteLocalRef(boxObj);
}
return rectsArray;
}
#endif
extern "C" jint org_jetbrains_skia_paragraph_Paragraph__1nGetGlyphPositionAtCoordinate
(kref __Kinstance, jlong ptr, jfloat dx, jfloat dy) {
Paragraph* instance = reinterpret_cast<Paragraph*>(static_cast<uintptr_t>(ptr));
PositionWithAffinity p = instance->getGlyphPositionAtCoordinate(dx, dy);
if (p.affinity == Affinity::kDownstream)
return p.position;
else
return -p.position-1;
}
extern "C" jlong org_jetbrains_skia_paragraph_Paragraph__1nGetWordBoundary
(kref __Kinstance, jlong ptr, jint offset) {
Paragraph* instance = reinterpret_cast<Paragraph*>(static_cast<uintptr_t>(ptr));
SkRange<size_t> range = instance->getWordBoundary(offset);
return packTwoInts(range.start & 0xFFFFFFFF, range.end & 0xFFFFFFFF);
}
extern "C" jobjectArray org_jetbrains_skia_paragraph_Paragraph__1nGetLineMetrics
(kref __Kinstance, jlong ptr, jlong textPtr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_paragraph_Paragraph__1nGetLineMetrics");
}
#if 0
extern "C" jobjectArray org_jetbrains_skia_paragraph_Paragraph__1nGetLineMetrics
(kref __Kinstance, jlong ptr, jlong textPtr) {
Paragraph* instance = reinterpret_cast<Paragraph*>(static_cast<uintptr_t>(ptr));
SkString* text = reinterpret_cast<SkString*>(static_cast<uintptr_t>(textPtr));
std::vector<LineMetrics> res;
instance->getLineMetrics(res);
jobjectArray resArray = env->NewObjectArray((jsize) res.size(), skija::paragraph::LineMetrics::cls, nullptr);
auto conv = skija::UtfIndicesConverter(*text);
for (int i = 0; i < res.size(); ++i) {
LineMetrics lm = res[i];
size_t startIndex = conv.from8To16(lm.fStartIndex);
size_t endExcludingWhitespaces = conv.from8To16(lm.fEndExcludingWhitespaces);
size_t endIndex = conv.from8To16(lm.fEndIndex);
size_t endIncludingNewline = conv.from8To16(lm.fEndIncludingNewline);
jobject lmObj = env->NewObject(skija::paragraph::LineMetrics::cls, skija::paragraph::LineMetrics::ctor, startIndex, endIndex, endExcludingWhitespaces, endIncludingNewline, lm.fHardBreak, lm.fAscent, lm.fDescent, lm.fUnscaledAscent, lm.fHeight, lm.fWidth, lm.fLeft, lm.fBaseline, lm.fLineNumber);
env->SetObjectArrayElement(resArray, i, lmObj);
env->DeleteLocalRef(lmObj);
}
return resArray;
}
#endif
extern "C" jlong org_jetbrains_skia_paragraph_Paragraph__1nGetLineNumber
(kref __Kinstance, jlong ptr) {
Paragraph* instance = reinterpret_cast<Paragraph*>(static_cast<uintptr_t>(ptr));
return instance->lineNumber();
}
extern "C" void org_jetbrains_skia_paragraph_Paragraph__1nMarkDirty
(kref __Kinstance, jlong ptr) {
Paragraph* instance = reinterpret_cast<Paragraph*>(static_cast<uintptr_t>(ptr));
return instance->markDirty();
}
extern "C" jint org_jetbrains_skia_paragraph_Paragraph__1nGetUnresolvedGlyphsCount
(kref __Kinstance, jlong ptr) {
Paragraph* instance = reinterpret_cast<Paragraph*>(static_cast<uintptr_t>(ptr));
return instance->unresolvedGlyphs();
}
extern "C" void org_jetbrains_skia_paragraph_Paragraph__1nUpdateAlignment
(kref __Kinstance, jlong ptr, jint textAlignment) {
Paragraph* instance = reinterpret_cast<Paragraph*>(static_cast<uintptr_t>(ptr));
return instance->updateTextAlign(static_cast<TextAlign>(textAlignment));
}
extern "C" void org_jetbrains_skia_paragraph_Paragraph__1nUpdateFontSize
(kref __Kinstance, jlong ptr, jint from, jint to, jfloat fontSize, jlong textPtr) {
Paragraph* instance = reinterpret_cast<Paragraph*>(static_cast<uintptr_t>(ptr));
SkString* text = reinterpret_cast<SkString*>(static_cast<uintptr_t>(textPtr));
auto conv = skija::UtfIndicesConverter(*text);
return instance->updateFontSize(conv.from16To8(from), conv.from16To8(to), fontSize);
}
extern "C" void org_jetbrains_skia_paragraph_Paragraph__1nUpdateForegroundPaint
(kref __Kinstance, jlong ptr, jint from, jint to, jlong paintPtr, jlong textPtr) {
Paragraph* instance = reinterpret_cast<Paragraph*>(static_cast<uintptr_t>(ptr));
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr));
SkString* text = reinterpret_cast<SkString*>(static_cast<uintptr_t>(textPtr));
auto conv = skija::UtfIndicesConverter(*text);
return instance->updateForegroundPaint(conv.from16To8(from), conv.from16To8(to), *paint);
}
extern "C" void org_jetbrains_skia_paragraph_Paragraph__1nUpdateBackgroundPaint
(kref __Kinstance, jlong ptr, jint from, jint to, jlong paintPtr, jlong textPtr) {
Paragraph* instance = reinterpret_cast<Paragraph*>(static_cast<uintptr_t>(ptr));
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr));
SkString* text = reinterpret_cast<SkString*>(static_cast<uintptr_t>(textPtr));
auto conv = skija::UtfIndicesConverter(*text);
return instance->updateBackgroundPaint(conv.from16To8(from), conv.from16To8(to), *paint);
}
// This file has been auto generated.
#include <iostream>
#include <string>
#include "ParagraphBuilder.h"
using namespace std;
using namespace skia::textlayout;
#include "common.h"
static void deleteParagraphBuilder(ParagraphBuilder* instance) {
delete instance;
}
extern "C" jlong org_jetbrains_skia_paragraph_ParagraphBuilder__1nMake
(kref __Kinstance, jlong paragraphStylePtr, jlong fontCollectionPtr) {
ParagraphStyle* paragraphStyle = reinterpret_cast<ParagraphStyle*>(static_cast<uintptr_t>(paragraphStylePtr));
FontCollection* fontCollection = reinterpret_cast<FontCollection*>(static_cast<uintptr_t>(fontCollectionPtr));
ParagraphBuilder* instance = ParagraphBuilder::make(*paragraphStyle, sk_ref_sp(fontCollection)).release();
return reinterpret_cast<jlong>(instance);
}
extern "C" jlong org_jetbrains_skia_paragraph_ParagraphBuilder__1nGetFinalizer
(kref __Kinstance) {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(&deleteParagraphBuilder));
}
extern "C" void org_jetbrains_skia_paragraph_ParagraphBuilder__1nPushStyle
(kref __Kinstance, jlong ptr, jlong textStylePtr) {
ParagraphBuilder* instance = reinterpret_cast<ParagraphBuilder*>(static_cast<uintptr_t>(ptr));
TextStyle* textStyle = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(textStylePtr));
instance->pushStyle(*textStyle);
}
extern "C" void org_jetbrains_skia_paragraph_ParagraphBuilder__1nPopStyle
(kref __Kinstance, jlong ptr, jlong textStylePtr) {
ParagraphBuilder* instance = reinterpret_cast<ParagraphBuilder*>(static_cast<uintptr_t>(ptr));
instance->pop();
}
extern "C" void org_jetbrains_skia_paragraph_ParagraphBuilder__1nAddText
(kref __Kinstance, jlong ptr, jstring textString) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_paragraph_ParagraphBuilder__1nAddText");
}
#if 0
extern "C" void org_jetbrains_skia_paragraph_ParagraphBuilder__1nAddText
(kref __Kinstance, jlong ptr, jstring textString) {
ParagraphBuilder* instance = reinterpret_cast<ParagraphBuilder*>(static_cast<uintptr_t>(ptr));
SkString text = skString(env, textString);
instance->addText(text.c_str(), text.size());
}
#endif
extern "C" void org_jetbrains_skia_paragraph_ParagraphBuilder__1nAddPlaceholder
(kref __Kinstance, jlong ptr, jfloat width, jfloat height, jint alignment, jint baselinePosition, jfloat baseline) {
ParagraphBuilder* instance = reinterpret_cast<ParagraphBuilder*>(static_cast<uintptr_t>(ptr));
instance->addPlaceholder({width, height, static_cast<PlaceholderAlignment>(alignment), static_cast<TextBaseline>(baselinePosition), baseline});
}
extern "C" void org_jetbrains_skia_paragraph_ParagraphBuilder__1nSetParagraphStyle
(kref __Kinstance, jlong ptr, jlong stylePtr) {
ParagraphBuilder* instance = reinterpret_cast<ParagraphBuilder*>(static_cast<uintptr_t>(ptr));
ParagraphStyle* style = reinterpret_cast<ParagraphStyle*>(static_cast<uintptr_t>(stylePtr));
instance->setParagraphStyle(*style);
}
extern "C" jlong org_jetbrains_skia_paragraph_ParagraphBuilder__1nBuild
(kref __Kinstance, jlong ptr) {
ParagraphBuilder* instance = reinterpret_cast<ParagraphBuilder*>(static_cast<uintptr_t>(ptr));
Paragraph* paragraph = instance->Build().release();
return reinterpret_cast<jlong>(paragraph);
}
// This file has been auto generated.
#include <iostream>
#include "ParagraphCache.h"
#include "ParagraphStyle.h"
using namespace skia::textlayout;
#include "common.h"
extern "C" void org_jetbrains_skia_paragraph_ParagraphCache__1nAbandon
(kref __Kinstance, jlong ptr) {
ParagraphCache* instance = reinterpret_cast<ParagraphCache*>(static_cast<uintptr_t>(ptr));
instance->abandon();
}
extern "C" void org_jetbrains_skia_paragraph_ParagraphCache__1nReset
(kref __Kinstance, jlong ptr) {
ParagraphCache* instance = reinterpret_cast<ParagraphCache*>(static_cast<uintptr_t>(ptr));
instance->reset();
}
extern "C" jboolean org_jetbrains_skia_paragraph_ParagraphCache__1nUpdateParagraph
(kref __Kinstance, jlong ptr, jlong paragraphPtr) {
ParagraphCache* instance = reinterpret_cast<ParagraphCache*>(static_cast<uintptr_t>(ptr));
ParagraphImpl* paragraph = reinterpret_cast<ParagraphImpl*>(static_cast<uintptr_t>(paragraphPtr));
return instance->updateParagraph(paragraph);
}
extern "C" jboolean org_jetbrains_skia_paragraph_ParagraphCache__1nFindParagraph
(kref __Kinstance, jlong ptr, jlong paragraphPtr) {
ParagraphCache* instance = reinterpret_cast<ParagraphCache*>(static_cast<uintptr_t>(ptr));
ParagraphImpl* paragraph = reinterpret_cast<ParagraphImpl*>(static_cast<uintptr_t>(paragraphPtr));
return instance->findParagraph(paragraph);
}
extern "C" void org_jetbrains_skia_paragraph_ParagraphCache__1nPrintStatistics
(kref __Kinstance, jlong ptr, jlong paragraphPtr) {
ParagraphCache* instance = reinterpret_cast<ParagraphCache*>(static_cast<uintptr_t>(ptr));
instance->printStatistics();
}
extern "C" void org_jetbrains_skia_paragraph_ParagraphCache__1nSetEnabled
(kref __Kinstance, jlong ptr, jboolean value) {
ParagraphCache* instance = reinterpret_cast<ParagraphCache*>(static_cast<uintptr_t>(ptr));
instance->turnOn(value);
}
extern "C" jint org_jetbrains_skia_paragraph_ParagraphCache__1nGetCount
(kref __Kinstance, jlong ptr) {
ParagraphCache* instance = reinterpret_cast<ParagraphCache*>(static_cast<uintptr_t>(ptr));
return instance->count();
}
// This file has been auto generated.
#include <iostream>
#include "ParagraphStyle.h"
using namespace std;
using namespace skia::textlayout;
#include "common.h"
static void deleteParagraphStyle(ParagraphStyle* instance) {
delete instance;
}
extern "C" jlong org_jetbrains_skia_paragraph_ParagraphStyle__1nGetFinalizer
(kref __Kinstance) {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(&deleteParagraphStyle));
}
extern "C" jlong org_jetbrains_skia_paragraph_ParagraphStyle__1nMake
(kref __Kinstance) {
ParagraphStyle* instance = new ParagraphStyle();
return reinterpret_cast<jlong>(instance);
}
extern "C" jboolean org_jetbrains_skia_paragraph_ParagraphStyle__1nEquals
(kref __Kinstance, jlong ptr, jlong otherPtr) {
ParagraphStyle* instance = reinterpret_cast<ParagraphStyle*>(static_cast<uintptr_t>(ptr));
ParagraphStyle* other = reinterpret_cast<ParagraphStyle*>(static_cast<uintptr_t>(otherPtr));
return *instance == *other;
}
extern "C" jlong org_jetbrains_skia_paragraph_ParagraphStyle__1nGetStrutStyle
(kref __Kinstance, jlong ptr) {
ParagraphStyle* instance = reinterpret_cast<ParagraphStyle*>(static_cast<uintptr_t>(ptr));
StrutStyle* res = new StrutStyle();
*res = instance->getStrutStyle();
return reinterpret_cast<jlong>(res);
}
extern "C" void org_jetbrains_skia_paragraph_ParagraphStyle__1nSetStrutStyle
(kref __Kinstance, jlong ptr, jlong stylePtr) {
ParagraphStyle* instance = reinterpret_cast<ParagraphStyle*>(static_cast<uintptr_t>(ptr));
StrutStyle* style = reinterpret_cast<StrutStyle*>(static_cast<uintptr_t>(stylePtr));
instance->setStrutStyle(*style);
}
extern "C" jlong org_jetbrains_skia_paragraph_ParagraphStyle__1nGetTextStyle
(kref __Kinstance, jlong ptr) {
ParagraphStyle* instance = reinterpret_cast<ParagraphStyle*>(static_cast<uintptr_t>(ptr));
const TextStyle& style = instance->getTextStyle();
TextStyle* res = new TextStyle(style, style.isPlaceholder());
return reinterpret_cast<jlong>(res);
}
extern "C" void org_jetbrains_skia_paragraph_ParagraphStyle__1nSetTextStyle
(kref __Kinstance, jlong ptr, jlong textStylePtr) {
ParagraphStyle* instance = reinterpret_cast<ParagraphStyle*>(static_cast<uintptr_t>(ptr));
TextStyle* textStyle = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(textStylePtr));
instance->setTextStyle(*textStyle);
}
extern "C" jint org_jetbrains_skia_paragraph_ParagraphStyle__1nGetDirection
(kref __Kinstance, jlong ptr) {
ParagraphStyle* instance = reinterpret_cast<ParagraphStyle*>(static_cast<uintptr_t>(ptr));
return static_cast<jint>(instance->getTextDirection());
}
extern "C" void org_jetbrains_skia_paragraph_ParagraphStyle__1nSetDirection
(kref __Kinstance, jlong ptr, jint textDirection) {
ParagraphStyle* instance = reinterpret_cast<ParagraphStyle*>(static_cast<uintptr_t>(ptr));
instance->setTextDirection(static_cast<TextDirection>(textDirection));
}
extern "C" jint org_jetbrains_skia_paragraph_ParagraphStyle__1nGetAlignment
(kref __Kinstance, jlong ptr) {
ParagraphStyle* instance = reinterpret_cast<ParagraphStyle*>(static_cast<uintptr_t>(ptr));
return static_cast<jint>(instance->getTextAlign());
}
extern "C" void org_jetbrains_skia_paragraph_ParagraphStyle__1nSetAlignment
(kref __Kinstance, jlong ptr, jint textAlign) {
ParagraphStyle* instance = reinterpret_cast<ParagraphStyle*>(static_cast<uintptr_t>(ptr));
instance->setTextAlign(static_cast<TextAlign>(textAlign));
}
extern "C" jint org_jetbrains_skia_paragraph_ParagraphStyle__1nGetMaxLinesCount
(kref __Kinstance, jlong ptr) {
ParagraphStyle* instance = reinterpret_cast<ParagraphStyle*>(static_cast<uintptr_t>(ptr));
return static_cast<jint>(instance->getMaxLines());
}
extern "C" void org_jetbrains_skia_paragraph_ParagraphStyle__1nSetMaxLinesCount
(kref __Kinstance, jlong ptr, jint count) {
ParagraphStyle* instance = reinterpret_cast<ParagraphStyle*>(static_cast<uintptr_t>(ptr));
instance->setMaxLines(count);
}
extern "C" jstring org_jetbrains_skia_paragraph_ParagraphStyle__1nGetEllipsis
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_paragraph_ParagraphStyle__1nGetEllipsis");
}
#if 0
extern "C" jstring org_jetbrains_skia_paragraph_ParagraphStyle__1nGetEllipsis
(kref __Kinstance, jlong ptr) {
ParagraphStyle* instance = reinterpret_cast<ParagraphStyle*>(static_cast<uintptr_t>(ptr));
return instance->ellipsized() ? javaString(env, instance->getEllipsis()) : nullptr;
}
#endif
extern "C" void org_jetbrains_skia_paragraph_ParagraphStyle__1nSetEllipsis
(kref __Kinstance, jlong ptr, jstring ellipsis) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_paragraph_ParagraphStyle__1nSetEllipsis");
}
#if 0
extern "C" void org_jetbrains_skia_paragraph_ParagraphStyle__1nSetEllipsis
(kref __Kinstance, jlong ptr, jstring ellipsis) {
ParagraphStyle* instance = reinterpret_cast<ParagraphStyle*>(static_cast<uintptr_t>(ptr));
instance->setEllipsis(skString(env, ellipsis));
}
#endif
extern "C" jfloat org_jetbrains_skia_paragraph_ParagraphStyle__1nGetHeight
(kref __Kinstance, jlong ptr) {
ParagraphStyle* instance = reinterpret_cast<ParagraphStyle*>(static_cast<uintptr_t>(ptr));
return instance->getHeight();
}
extern "C" void org_jetbrains_skia_paragraph_ParagraphStyle__1nSetHeight
(kref __Kinstance, jlong ptr, jfloat height) {
ParagraphStyle* instance = reinterpret_cast<ParagraphStyle*>(static_cast<uintptr_t>(ptr));
instance->setHeight(height);
}
extern "C" jint org_jetbrains_skia_paragraph_ParagraphStyle__1nGetHeightMode
(kref __Kinstance, jlong ptr) {
ParagraphStyle* instance = reinterpret_cast<ParagraphStyle*>(static_cast<uintptr_t>(ptr));
return static_cast<jint>(instance->getTextHeightBehavior());
}
extern "C" void org_jetbrains_skia_paragraph_ParagraphStyle__1nSetHeightMode
(kref __Kinstance, jlong ptr, jint heightMode) {
ParagraphStyle* instance = reinterpret_cast<ParagraphStyle*>(static_cast<uintptr_t>(ptr));
instance->setTextHeightBehavior(static_cast<TextHeightBehavior>(heightMode));
}
extern "C" jint org_jetbrains_skia_paragraph_ParagraphStyle__1nGetEffectiveAlignment
(kref __Kinstance, jlong ptr) {
ParagraphStyle* instance = reinterpret_cast<ParagraphStyle*>(static_cast<uintptr_t>(ptr));
return static_cast<jint>(instance->effective_align());
}
extern "C" jboolean org_jetbrains_skia_paragraph_ParagraphStyle__1nIsHintingEnabled
(kref __Kinstance, jlong ptr) {
ParagraphStyle* instance = reinterpret_cast<ParagraphStyle*>(static_cast<uintptr_t>(ptr));
return instance->hintingIsOn();
}
extern "C" void org_jetbrains_skia_paragraph_ParagraphStyle__1nDisableHinting
(kref __Kinstance, jlong ptr) {
ParagraphStyle* instance = reinterpret_cast<ParagraphStyle*>(static_cast<uintptr_t>(ptr));
instance->turnHintingOff();
}
// This file has been auto generated.
#include <iostream>
#include <vector>
#include "ParagraphStyle.h"
using namespace std;
using namespace skia::textlayout;
#include "common.h"
static void deleteStrutStyle(StrutStyle* instance) {
delete instance;
}
extern "C" jlong org_jetbrains_skia_paragraph_StrutStyle__1nGetFinalizer
(kref __Kinstance) {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(&deleteStrutStyle));
}
extern "C" jlong org_jetbrains_skia_paragraph_StrutStyle__1nMake
(kref __Kinstance) {
StrutStyle* instance = new StrutStyle();
return reinterpret_cast<jlong>(instance);
}
extern "C" jboolean org_jetbrains_skia_paragraph_StrutStyle__1nEquals
(kref __Kinstance, jlong ptr, jlong otherPtr) {
StrutStyle* instance = reinterpret_cast<StrutStyle*>(static_cast<uintptr_t>(ptr));
StrutStyle* other = reinterpret_cast<StrutStyle*>(static_cast<uintptr_t>(otherPtr));
return *instance == *other;
}
extern "C" jobjectArray org_jetbrains_skia_paragraph_StrutStyle__1nGetFontFamilies
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_paragraph_StrutStyle__1nGetFontFamilies");
}
#if 0
extern "C" jobjectArray org_jetbrains_skia_paragraph_StrutStyle__1nGetFontFamilies
(kref __Kinstance, jlong ptr) {
StrutStyle* instance = reinterpret_cast<StrutStyle*>(static_cast<uintptr_t>(ptr));
return javaStringArray(env, instance->getFontFamilies());
}
#endif
extern "C" void org_jetbrains_skia_paragraph_StrutStyle__1nSetFontFamilies
(kref __Kinstance, jlong ptr, jobjectArray familiesArr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_paragraph_StrutStyle__1nSetFontFamilies");
}
#if 0
extern "C" void org_jetbrains_skia_paragraph_StrutStyle__1nSetFontFamilies
(kref __Kinstance, jlong ptr, jobjectArray familiesArr) {
StrutStyle* instance = reinterpret_cast<StrutStyle*>(static_cast<uintptr_t>(ptr));
instance->setFontFamilies(skStringVector(env, familiesArr));
}
#endif
extern "C" jint org_jetbrains_skia_paragraph_StrutStyle__1nGetFontStyle
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_paragraph_StrutStyle__1nGetFontStyle");
}
#if 0
extern "C" jint org_jetbrains_skia_paragraph_StrutStyle__1nGetFontStyle
(kref __Kinstance, jlong ptr) {
StrutStyle* instance = reinterpret_cast<StrutStyle*>(static_cast<uintptr_t>(ptr));
return skija::FontStyle::toJava(instance->getFontStyle());
}
#endif
extern "C" void org_jetbrains_skia_paragraph_StrutStyle__1nSetFontStyle
(kref __Kinstance, jlong ptr, jint style) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_paragraph_StrutStyle__1nSetFontStyle");
}
#if 0
extern "C" void org_jetbrains_skia_paragraph_StrutStyle__1nSetFontStyle
(kref __Kinstance, jlong ptr, jint style) {
StrutStyle* instance = reinterpret_cast<StrutStyle*>(static_cast<uintptr_t>(ptr));
instance->setFontStyle(skija::FontStyle::fromJava(style));
}
#endif
extern "C" jfloat org_jetbrains_skia_paragraph_StrutStyle__1nGetFontSize
(kref __Kinstance, jlong ptr) {
StrutStyle* instance = reinterpret_cast<StrutStyle*>(static_cast<uintptr_t>(ptr));
return instance->getFontSize();
}
extern "C" void org_jetbrains_skia_paragraph_StrutStyle__1nSetFontSize
(kref __Kinstance, jlong ptr, jfloat size) {
StrutStyle* instance = reinterpret_cast<StrutStyle*>(static_cast<uintptr_t>(ptr));
instance->setFontSize(size);
}
extern "C" jfloat org_jetbrains_skia_paragraph_StrutStyle__1nGetHeight
(kref __Kinstance, jlong ptr) {
StrutStyle* instance = reinterpret_cast<StrutStyle*>(static_cast<uintptr_t>(ptr));
return instance->getHeight();
}
extern "C" void org_jetbrains_skia_paragraph_StrutStyle__1nSetHeight
(kref __Kinstance, jlong ptr, jfloat height) {
StrutStyle* instance = reinterpret_cast<StrutStyle*>(static_cast<uintptr_t>(ptr));
instance->setHeight(height);
}
extern "C" jfloat org_jetbrains_skia_paragraph_StrutStyle__1nGetLeading
(kref __Kinstance, jlong ptr) {
StrutStyle* instance = reinterpret_cast<StrutStyle*>(static_cast<uintptr_t>(ptr));
return instance->getLeading();
}
extern "C" void org_jetbrains_skia_paragraph_StrutStyle__1nSetLeading
(kref __Kinstance, jlong ptr, jfloat leading) {
StrutStyle* instance = reinterpret_cast<StrutStyle*>(static_cast<uintptr_t>(ptr));
instance->setLeading(leading);
}
extern "C" jboolean org_jetbrains_skia_paragraph_StrutStyle__1nIsEnabled
(kref __Kinstance, jlong ptr) {
StrutStyle* instance = reinterpret_cast<StrutStyle*>(static_cast<uintptr_t>(ptr));
return instance->getStrutEnabled();
}
extern "C" void org_jetbrains_skia_paragraph_StrutStyle__1nSetEnabled
(kref __Kinstance, jlong ptr, jboolean value) {
StrutStyle* instance = reinterpret_cast<StrutStyle*>(static_cast<uintptr_t>(ptr));
instance->setStrutEnabled(value);
}
extern "C" jboolean org_jetbrains_skia_paragraph_StrutStyle__1nIsHeightForced
(kref __Kinstance, jlong ptr) {
StrutStyle* instance = reinterpret_cast<StrutStyle*>(static_cast<uintptr_t>(ptr));
return instance->getForceStrutHeight();
}
extern "C" void org_jetbrains_skia_paragraph_StrutStyle__1nSetHeightForced
(kref __Kinstance, jlong ptr, jboolean value) {
StrutStyle* instance = reinterpret_cast<StrutStyle*>(static_cast<uintptr_t>(ptr));
instance->setForceStrutHeight(value);
}
extern "C" jboolean org_jetbrains_skia_paragraph_StrutStyle__1nIsHeightOverridden
(kref __Kinstance, jlong ptr) {
StrutStyle* instance = reinterpret_cast<StrutStyle*>(static_cast<uintptr_t>(ptr));
return instance->getHeightOverride();
}
extern "C" void org_jetbrains_skia_paragraph_StrutStyle__1nSetHeightOverridden
(kref __Kinstance, jlong ptr, jboolean value) {
StrutStyle* instance = reinterpret_cast<StrutStyle*>(static_cast<uintptr_t>(ptr));
instance->setHeightOverride(value);
}
// This file has been auto generated.
#include <iostream>
#include <vector>
#include "TextStyle.h"
using namespace std;
using namespace skia::textlayout;
#include "common.h"
extern "C" jlong org_jetbrains_skia_paragraph_TextStyle__1nMake
(kref __Kinstance) {
TextStyle* instance = new TextStyle();
return reinterpret_cast<jlong>(instance);
}
static void deleteTextStyle(TextStyle* instance) {
delete instance;
}
extern "C" jlong org_jetbrains_skia_paragraph_TextStyle__1nGetFinalizer
(kref __Kinstance) {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(&deleteTextStyle));
}
extern "C" jboolean org_jetbrains_skia_paragraph_TextStyle__1nEquals
(kref __Kinstance, jlong ptr, jlong otherPtr) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
TextStyle* other = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(otherPtr));
return instance->equals(*other);
}
extern "C" jboolean org_jetbrains_skia_paragraph_TextStyle__1nAttributeEquals
(kref __Kinstance, jlong ptr, jint attribute, jlong otherPtr) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
TextStyle* other = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(otherPtr));
if (attribute == static_cast<jint>(StyleType::kWordSpacing) + 1) // FONT_EXACT
return instance->equalsByFonts(*other);
else
return instance->matchOneAttribute(static_cast<StyleType>(attribute), *other);
}
extern "C" jint org_jetbrains_skia_paragraph_TextStyle__1nGetColor
(kref __Kinstance, jlong ptr) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
return instance->getColor();
}
extern "C" void org_jetbrains_skia_paragraph_TextStyle__1nSetColor
(kref __Kinstance, jlong ptr, jint color) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
instance->setColor(color);
}
extern "C" jlong org_jetbrains_skia_paragraph_TextStyle__1nGetForeground
(kref __Kinstance, jlong ptr) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
return instance->hasForeground() ? reinterpret_cast<jlong>(new SkPaint(instance->getForeground())) : 0;
}
extern "C" void org_jetbrains_skia_paragraph_TextStyle__1nSetForeground
(kref __Kinstance, jlong ptr, jlong paintPtr) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
if (paintPtr == 0)
instance->clearForegroundColor();
else {
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr));
instance->setForegroundColor(*paint);
}
}
extern "C" jlong org_jetbrains_skia_paragraph_TextStyle__1nGetBackground
(kref __Kinstance, jlong ptr) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
return instance->hasBackground() ? reinterpret_cast<jlong>(new SkPaint(instance->getBackground())) : 0;
}
extern "C" void org_jetbrains_skia_paragraph_TextStyle__1nSetBackground
(kref __Kinstance, jlong ptr, jlong paintPtr) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
if (paintPtr == 0)
instance->clearBackgroundColor();
else {
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr));
instance->setBackgroundColor(*paint);
}
}
extern "C" jobject org_jetbrains_skia_paragraph_TextStyle__1nGetDecorationStyle
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_paragraph_TextStyle__1nGetDecorationStyle");
}
#if 0
extern "C" jobject org_jetbrains_skia_paragraph_TextStyle__1nGetDecorationStyle
(kref __Kinstance, jlong ptr) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
Decoration d = instance->getDecoration();
return env->NewObject(skija::paragraph::DecorationStyle::cls, skija::paragraph::DecorationStyle::ctor,
(d.fType & TextDecoration::kUnderline) != 0,
(d.fType & TextDecoration::kOverline) != 0,
(d.fType & TextDecoration::kLineThrough) != 0,
d.fMode == TextDecorationMode::kGaps,
d.fColor,
static_cast<jint>(d.fStyle),
d.fThicknessMultiplier);
}
#endif
extern "C" void org_jetbrains_skia_paragraph_TextStyle__1nSetDecorationStyle
(kref __Kinstance, jlong ptr, jboolean underline, jboolean overline, jboolean lineThrough, jboolean gaps, jint color, jint style, jfloat thicknessMultiplier) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
int typeMask = 0;
if (underline) typeMask |= TextDecoration::kUnderline;
if (overline) typeMask |= TextDecoration::kOverline;
if (lineThrough) typeMask |= TextDecoration::kLineThrough;
instance->setDecoration(static_cast<TextDecoration>(typeMask));
instance->setDecorationMode(gaps ? TextDecorationMode::kGaps : TextDecorationMode::kThrough);
instance->setDecorationColor(color);
instance->setDecorationStyle(static_cast<TextDecorationStyle>(style));
instance->setDecorationThicknessMultiplier(thicknessMultiplier);
}
extern "C" jint org_jetbrains_skia_paragraph_TextStyle__1nGetFontStyle
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_paragraph_TextStyle__1nGetFontStyle");
}
#if 0
extern "C" jint org_jetbrains_skia_paragraph_TextStyle__1nGetFontStyle
(kref __Kinstance, jlong ptr) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
return skija::FontStyle::toJava(instance->getFontStyle());
}
#endif
extern "C" void org_jetbrains_skia_paragraph_TextStyle__1nSetFontStyle
(kref __Kinstance, jlong ptr, jint fontStyleValue) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_paragraph_TextStyle__1nSetFontStyle");
}
#if 0
extern "C" void org_jetbrains_skia_paragraph_TextStyle__1nSetFontStyle
(kref __Kinstance, jlong ptr, jint fontStyleValue) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
instance->setFontStyle(skija::FontStyle::fromJava(fontStyleValue));
}
#endif
extern "C" jobjectArray org_jetbrains_skia_paragraph_TextStyle__1nGetShadows
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_paragraph_TextStyle__1nGetShadows");
}
#if 0
extern "C" jobjectArray org_jetbrains_skia_paragraph_TextStyle__1nGetShadows
(kref __Kinstance, jlong ptr) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
std::vector<TextShadow> shadows = instance->getShadows();
jobjectArray shadowsArr = env->NewObjectArray((jsize) shadows.size(), skija::paragraph::Shadow::cls, nullptr);
for (int i = 0; i < shadows.size(); ++i) {
const TextShadow& s = shadows[i];
skija::AutoLocal<jobject> shadowObj(env, env->NewObject(skija::paragraph::Shadow::cls, skija::paragraph::Shadow::ctor, s.fColor, s.fOffset.fX, s.fOffset.fY, s.fBlurSigma));
env->SetObjectArrayElement(shadowsArr, i, shadowObj.get());
}
return shadowsArr;
}
#endif
extern "C" void org_jetbrains_skia_paragraph_TextStyle__1nAddShadow
(kref __Kinstance, jlong ptr, jint color, jfloat offsetX, jfloat offsetY, jdouble blurSigma) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
instance->addShadow({static_cast<SkColor>(color), {offsetX, offsetY}, blurSigma});
}
extern "C" void org_jetbrains_skia_paragraph_TextStyle__1nClearShadows
(kref __Kinstance, jlong ptr) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
instance->resetShadows();
}
extern "C" jobjectArray org_jetbrains_skia_paragraph_TextStyle__1nGetFontFeatures
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_paragraph_TextStyle__1nGetFontFeatures");
}
#if 0
extern "C" jobjectArray org_jetbrains_skia_paragraph_TextStyle__1nGetFontFeatures
(kref __Kinstance, jlong ptr) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
std::vector<FontFeature> fontFeatures = instance->getFontFeatures();
jobjectArray fontFeaturesArr = env->NewObjectArray((jsize) fontFeatures.size(), skija::FontFeature::cls, nullptr);
for (int i = 0; i < fontFeatures.size(); ++i) {
const FontFeature& ff = fontFeatures[i];
auto featureObj = env->NewObject(skija::FontFeature::cls, skija::FontFeature::ctor, javaString(env, ff.fName), ff.fValue);
env->SetObjectArrayElement(fontFeaturesArr, i, featureObj);
env->DeleteLocalRef(featureObj);
}
return fontFeaturesArr;
}
#endif
extern "C" void org_jetbrains_skia_paragraph_TextStyle__1nAddFontFeature
(kref __Kinstance, jlong ptr, jstring nameStr, jint value) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_paragraph_TextStyle__1nAddFontFeature");
}
#if 0
extern "C" void org_jetbrains_skia_paragraph_TextStyle__1nAddFontFeature
(kref __Kinstance, jlong ptr, jstring nameStr, jint value) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
instance->addFontFeature(skString(env, nameStr), value);
}
#endif
extern "C" void org_jetbrains_skia_paragraph_TextStyle__1nClearFontFeatures
(kref __Kinstance, jlong ptr) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
instance->resetFontFeatures();
}
extern "C" jfloat org_jetbrains_skia_paragraph_TextStyle__1nGetFontSize
(kref __Kinstance, jlong ptr) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
return instance->getFontSize();
}
extern "C" void org_jetbrains_skia_paragraph_TextStyle__1nSetFontSize
(kref __Kinstance, jlong ptr, jfloat size) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
instance->setFontSize(size);
}
extern "C" jobjectArray org_jetbrains_skia_paragraph_TextStyle__1nGetFontFamilies
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_paragraph_TextStyle__1nGetFontFamilies");
}
#if 0
extern "C" jobjectArray org_jetbrains_skia_paragraph_TextStyle__1nGetFontFamilies
(kref __Kinstance, jlong ptr) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
return javaStringArray(env, instance->getFontFamilies());
}
#endif
extern "C" void org_jetbrains_skia_paragraph_TextStyle__1nSetFontFamilies
(kref __Kinstance, jlong ptr, jobjectArray familiesArray) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_paragraph_TextStyle__1nSetFontFamilies");
}
#if 0
extern "C" void org_jetbrains_skia_paragraph_TextStyle__1nSetFontFamilies
(kref __Kinstance, jlong ptr, jobjectArray familiesArray) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
instance->setFontFamilies(skStringVector(env, familiesArray));
}
#endif
extern "C" jobject org_jetbrains_skia_paragraph_TextStyle__1nGetHeight
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_paragraph_TextStyle__1nGetHeight");
}
#if 0
extern "C" jobject org_jetbrains_skia_paragraph_TextStyle__1nGetHeight
(kref __Kinstance, jlong ptr) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
return instance->getHeightOverride() ? javaFloat(env, instance->getHeight()) : nullptr;
}
#endif
extern "C" void org_jetbrains_skia_paragraph_TextStyle__1nSetHeight
(kref __Kinstance, jlong ptr, jboolean override, jfloat height) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
instance->setHeightOverride(override);
instance->setHeight(height);
}
extern "C" jfloat org_jetbrains_skia_paragraph_TextStyle__1nGetLetterSpacing
(kref __Kinstance, jlong ptr) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
return instance->getLetterSpacing();
}
extern "C" void org_jetbrains_skia_paragraph_TextStyle__1nSetLetterSpacing
(kref __Kinstance, jlong ptr, jfloat letterSpacing) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
instance->setLetterSpacing(letterSpacing);
}
extern "C" jfloat org_jetbrains_skia_paragraph_TextStyle__1nGetWordSpacing
(kref __Kinstance, jlong ptr) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
return instance->getWordSpacing();
}
extern "C" void org_jetbrains_skia_paragraph_TextStyle__1nSetWordSpacing
(kref __Kinstance, jlong ptr, jfloat wordSpacing) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
instance->setWordSpacing(wordSpacing);
}
extern "C" jlong org_jetbrains_skia_paragraph_TextStyle__1nGetTypeface
(kref __Kinstance, jlong ptr) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
return reinterpret_cast<jlong>(instance->refTypeface().release());
}
extern "C" void org_jetbrains_skia_paragraph_TextStyle__1nSetTypeface
(kref __Kinstance, jlong ptr, jlong typefacePtr) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
SkTypeface* typeface = reinterpret_cast<SkTypeface*>(static_cast<uintptr_t>(typefacePtr));
instance->setTypeface(sk_ref_sp(typeface));
}
extern "C" jstring org_jetbrains_skia_paragraph_TextStyle__1nGetLocale
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_paragraph_TextStyle__1nGetLocale");
}
#if 0
extern "C" jstring org_jetbrains_skia_paragraph_TextStyle__1nGetLocale
(kref __Kinstance, jlong ptr) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
return javaString(env, instance->getLocale());
}
#endif
extern "C" void org_jetbrains_skia_paragraph_TextStyle__1nSetLocale
(kref __Kinstance, jlong ptr, jstring locale) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_paragraph_TextStyle__1nSetLocale");
}
#if 0
extern "C" void org_jetbrains_skia_paragraph_TextStyle__1nSetLocale
(kref __Kinstance, jlong ptr, jstring locale) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
instance->setLocale(skString(env, locale));
}
#endif
extern "C" jint org_jetbrains_skia_paragraph_TextStyle__1nGetBaselineMode
(kref __Kinstance, jlong ptr) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
return static_cast<jint>(instance->getTextBaseline());
}
extern "C" void org_jetbrains_skia_paragraph_TextStyle__1nSetBaselineMode
(kref __Kinstance, jlong ptr, jint baselineModeValue) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
instance->setTextBaseline(static_cast<TextBaseline>(baselineModeValue));
}
extern "C" jobject org_jetbrains_skia_paragraph_TextStyle__1nGetFontMetrics
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_paragraph_TextStyle__1nGetFontMetrics");
}
#if 0
extern "C" jobject org_jetbrains_skia_paragraph_TextStyle__1nGetFontMetrics
(kref __Kinstance, jlong ptr) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
SkFontMetrics m;
instance->getFontMetrics(&m);
return skija::FontMetrics::toJava(env, m);
}
#endif
extern "C" jboolean org_jetbrains_skia_paragraph_TextStyle__1nIsPlaceholder
(kref __Kinstance, jlong ptr) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
return instance->isPlaceholder();
}
extern "C" void org_jetbrains_skia_paragraph_TextStyle__1nSetPlaceholder
(kref __Kinstance, jlong ptr) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
instance->setPlaceholder();
}
// This file has been auto generated.
#include <iostream>
#include "TypefaceFontProvider.h"
#include "SkTypeface.h"
using namespace skia::textlayout;
#include "common.h"
extern "C" jlong org_jetbrains_skia_paragraph_TypefaceFontProvider__1nMake
(kref __Kinstance) {
TypefaceFontProvider* instance = new TypefaceFontProvider();
return reinterpret_cast<jlong>(instance);
}
extern "C" void org_jetbrains_skia_paragraph_TypefaceFontProvider__1nRegisterTypeface
(kref __Kinstance, jlong ptr, jlong typefacePtr, jstring aliasStr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_paragraph_TypefaceFontProvider__1nRegisterTypeface");
}
#if 0
extern "C" void org_jetbrains_skia_paragraph_TypefaceFontProvider__1nRegisterTypeface
(kref __Kinstance, jlong ptr, jlong typefacePtr, jstring aliasStr) {
TypefaceFontProvider* instance = reinterpret_cast<TypefaceFontProvider*>(static_cast<uintptr_t>(ptr));
SkTypeface* typeface = reinterpret_cast<SkTypeface*>(static_cast<uintptr_t>(typefacePtr));
if (aliasStr == nullptr)
instance->registerTypeface(sk_ref_sp(typeface));
else
instance->registerTypeface(sk_ref_sp(typeface), skString(env, aliasStr));
}
#endif
// This file has been auto generated.
#include "GrBackendSurface.h"
#include "GrDirectContext.h"
#include "common.h"
extern "C" jlong org_jetbrains_skiko_RenderTargetsKt_makeGLRenderTargetNative
(kref __Kinstance, jint width, jint height, jint sampleCnt, jint stencilBits, jint fbId, jint fbFormat) {
GrGLFramebufferInfo glInfo = { static_cast<unsigned int>(fbId), static_cast<unsigned int>(fbFormat) };
GrBackendRenderTarget* obj = new GrBackendRenderTarget(width, height, sampleCnt, stencilBits, glInfo);
return reinterpret_cast<jlong>(obj);
}
extern "C" jlong org_jetbrains_skiko_RenderTargetsKt_makeGLContextNative(kref __Kinstance) {
return reinterpret_cast<jlong>(GrDirectContext::MakeGL().release());
}
extern "C" jlong org_jetbrains_skiko_RenderTargetsKt_makeMetalRenderTargetNative
(kref __Kinstance, jint width, jint height, jint sampleCnt) {
#ifdef SK_METAL
// TODO: create properly.
GrMtlTextureInfo mtlInfo;
GrBackendRenderTarget* obj = new GrBackendRenderTarget(width, height, sampleCnt, mtlInfo);
return reinterpret_cast<jlong>(obj);
#else
return 0;
#endif
}
extern "C" jlong org_jetbrains_skiko_RenderTargetsKt_makeMetalContextNative
(kref __Kinstance) {
throw std::runtime_error("TODO: implement org_jetbrains_skiko_RenderTargetsKt_makeMetalContextNative");
}
#if 0
extern "C" jlong org_jetbrains_skiko_RenderTargetsKt_makeMetalContextNative
(kref __Kinstance) {
#ifdef SK_METAL
void* device = nullptr;
void* queue = nullptr;
getMetalDeviceAndQueue(&device, &queue);
return reinterpret_cast<jlong>(GrDirectContext::MakeMetal(device, queue).release());
#else
return 0;
#endif
}
#endif
// This file has been auto generated.
#include "SkFontMgr.h"
#include "SkShaper.h"
#include "common.h"
extern "C" jlong org_jetbrains_skia_shaper_FontMgrRunIterator__1nMake
(kref __Kinstance, jlong textPtr, jlong fontPtr, jobject opts) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_shaper_FontMgrRunIterator__1nMake");
}
#if 0
extern "C" jlong org_jetbrains_skia_shaper_FontMgrRunIterator__1nMake
(kref __Kinstance, jlong textPtr, jlong fontPtr, jobject opts) {
SkString* text = reinterpret_cast<SkString*>(static_cast<uintptr_t>(textPtr));
SkFont* font = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(fontPtr));
jobject fontMgrObj = env->GetObjectField(opts, skija::shaper::ShapingOptions::_fontMgr);
sk_sp<SkFontMgr> fontMgr = fontMgrObj == nullptr
? SkFontMgr::RefDefault()
: sk_ref_sp(reinterpret_cast<SkFontMgr*>(skija::impl::Native::fromJava(env, fontMgrObj, skija::FontMgr::cls)));
std::shared_ptr<UBreakIterator> graphemeIter = skija::shaper::graphemeBreakIterator(*text);
if (!graphemeIter) return 0;
auto instance = new FontRunIterator(
text->c_str(),
text->size(),
*font,
fontMgr,
graphemeIter,
env->GetBooleanField(opts, skija::shaper::ShapingOptions::_approximateSpaces),
env->GetBooleanField(opts, skija::shaper::ShapingOptions::_approximatePunctuation)
);
return reinterpret_cast<jlong>(instance);
}
#endif
extern "C" jlong org_jetbrains_skia_shaper_FontMgrRunIterator__1nGetCurrentFont
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_shaper_FontMgrRunIterator__1nGetCurrentFont");
}
#if 0
extern "C" jlong org_jetbrains_skia_shaper_FontMgrRunIterator__1nGetCurrentFont
(kref __Kinstance, jlong ptr) {
SkShaper::FontRunIterator* instance = reinterpret_cast<SkShaper::FontRunIterator*>(static_cast<uintptr_t>(ptr));
SkFont* font = new SkFont(instance->currentFont());
return reinterpret_cast<jlong>(font);
}
#endif
// This file has been auto generated.
#include "SkShaper.h"
#include "common.h"
extern "C" jlong org_jetbrains_skia_shaper_HbIcuScriptRunIterator__1nMake
(kref __Kinstance, jlong textPtr) {
SkString* text = reinterpret_cast<SkString*>(static_cast<uintptr_t>(textPtr));
std::unique_ptr<SkShaper::ScriptRunIterator> instance(SkShaper::MakeHbIcuScriptRunIterator(text->c_str(), text->size()));
return reinterpret_cast<jlong>(instance.release());
}
extern "C" jint org_jetbrains_skia_shaper_HbIcuScriptRunIterator__1nGetCurrentScriptTag
(kref __Kinstance, jlong ptr) {
SkShaper::ScriptRunIterator* instance = reinterpret_cast<SkShaper::ScriptRunIterator*>(static_cast<uintptr_t>(ptr));
return instance->currentScript();
}
// This file has been auto generated.
#include "SkShaper.h"
#include "common.h"
extern "C" jlong org_jetbrains_skia_shaper_IcuBidiRunIterator__1nMake
(kref __Kinstance, jlong textPtr, jint bidiLevel) {
SkString* text = reinterpret_cast<SkString*>(static_cast<uintptr_t>(textPtr));
std::unique_ptr<SkShaper::BiDiRunIterator> instance(SkShaper::MakeIcuBiDiRunIterator(text->c_str(), text->size(), bidiLevel & 0xFF));
return reinterpret_cast<jlong>(instance.release());
}
extern "C" jint org_jetbrains_skia_shaper_IcuBidiRunIterator__1nGetCurrentLevel
(kref __Kinstance, jlong ptr) {
SkShaper::BiDiRunIterator* instance = reinterpret_cast<SkShaper::BiDiRunIterator*>(static_cast<uintptr_t>(ptr));
return instance->currentLevel();
}
// This file has been auto generated.
#include "SkShaper.h"
#include "common.h"
static void deleteRunIterator(SkShaper::RunIterator* instance) {
// std::cout << "Deleting [RunIterator " << instance << "]" << std::endl;
delete instance;
}
extern "C" jlong org_jetbrains_skia_shaper_ManagedRunIterator__1nGetFinalizer(kref __Kinstance) {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(&deleteRunIterator));
}
extern "C" void org_jetbrains_skia_shaper_ManagedRunIterator__1nConsume
(kref __Kinstance, jlong ptr) {
SkShaper::RunIterator* instance = reinterpret_cast<SkShaper::RunIterator*>(static_cast<uintptr_t>(ptr));
instance->consume();
}
extern "C" jint org_jetbrains_skia_shaper_ManagedRunIterator__1nGetEndOfCurrentRun
(kref __Kinstance, jlong ptr, jlong textPtr) {
SkShaper::RunIterator* instance = reinterpret_cast<SkShaper::RunIterator*>(static_cast<uintptr_t>(ptr));
SkString* text = reinterpret_cast<SkString*>(static_cast<uintptr_t>(textPtr));
size_t end8 = instance->endOfCurrentRun();
return skija::UtfIndicesConverter(*text).from8To16(end8);
}
extern "C" jboolean org_jetbrains_skia_shaper_ManagedRunIterator__1nIsAtEnd
(kref __Kinstance, jlong ptr) {
SkShaper::RunIterator* instance = reinterpret_cast<SkShaper::RunIterator*>(static_cast<uintptr_t>(ptr));
return instance->atEnd();
}
// This file has been auto generated.
#include <iostream>
#include "SkShaper.h"
#include "src/utils/SkUTF.h"
#include "unicode/ubidi.h"
#include "common.h"
static void deleteShaper(SkShaper* instance) {
// std::cout << "Deleting [SkShaper " << instance << "]" << std::endl;
delete instance;
}
extern "C" jlong org_jetbrains_skia_shaper_Shaper__1nGetFinalizer(kref __Kinstance) {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(&deleteShaper));
}
extern "C" jlong org_jetbrains_skia_shaper_Shaper__1nMakePrimitive
(kref __Kinstance) {
return reinterpret_cast<jlong>(SkShaper::MakePrimitive().release());
}
extern "C" jlong org_jetbrains_skia_shaper_Shaper__1nMakeShaperDrivenWrapper
(kref __Kinstance, jlong fontMgrPtr) {
SkFontMgr* fontMgr = reinterpret_cast<SkFontMgr*>(static_cast<uintptr_t>(fontMgrPtr));
return reinterpret_cast<jlong>(SkShaper::MakeShaperDrivenWrapper(sk_ref_sp(fontMgr)).release());
}
extern "C" jlong org_jetbrains_skia_shaper_Shaper__1nMakeShapeThenWrap
(kref __Kinstance, jlong fontMgrPtr) {
SkFontMgr* fontMgr = reinterpret_cast<SkFontMgr*>(static_cast<uintptr_t>(fontMgrPtr));
return reinterpret_cast<jlong>(SkShaper::MakeShapeThenWrap(sk_ref_sp(fontMgr)).release());
}
extern "C" jlong org_jetbrains_skia_shaper_Shaper__1nMakeShapeDontWrapOrReorder
(kref __Kinstance, jlong fontMgrPtr) {
SkFontMgr* fontMgr = reinterpret_cast<SkFontMgr*>(static_cast<uintptr_t>(fontMgrPtr));
return reinterpret_cast<jlong>(SkShaper::MakeShapeDontWrapOrReorder(sk_ref_sp(fontMgr)).release());
}
extern "C" jlong org_jetbrains_skia_shaper_Shaper__1nMakeCoreText
(kref __Kinstance) {
#ifdef SK_SHAPER_CORETEXT_AVAILABLE
return reinterpret_cast<jlong>(SkShaper::MakeCoreText().release());
#else
return 0;
#endif
}
extern "C" jlong org_jetbrains_skia_shaper_Shaper__1nMake
(kref __Kinstance, jlong fontMgrPtr) {
SkFontMgr* fontMgr = reinterpret_cast<SkFontMgr*>(static_cast<uintptr_t>(fontMgrPtr));
return reinterpret_cast<jlong>(SkShaper::Make(sk_ref_sp(fontMgr)).release());
}
extern "C" jlong org_jetbrains_skia_shaper_Shaper__1nShapeBlob
(kref __Kinstance, jlong ptr, jstring textObj, jlong fontPtr, jobject opts, jfloat width, jfloat offsetX, jfloat offsetY) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_shaper_Shaper__1nShapeBlob");
}
#if 0
extern "C" jlong org_jetbrains_skia_shaper_Shaper__1nShapeBlob
(kref __Kinstance, jlong ptr, jstring textObj, jlong fontPtr, jobject opts, jfloat width, jfloat offsetX, jfloat offsetY) {
SkShaper* instance = reinterpret_cast<SkShaper*>(static_cast<uintptr_t>(ptr));
SkString text = skString(env, textObj);
std::shared_ptr<UBreakIterator> graphemeIter = skija::shaper::graphemeBreakIterator(text);
if (!graphemeIter) return 0;
SkFont* font = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(fontPtr));
std::vector<SkShaper::Feature> features = skija::shaper::ShapingOptions::getFeatures(env, opts);
std::unique_ptr<SkShaper::FontRunIterator> fontRunIter(new FontRunIterator(
text.c_str(),
text.size(),
*font,
SkFontMgr::RefDefault(),
graphemeIter,
env->GetBooleanField(opts, skija::shaper::ShapingOptions::_approximateSpaces),
env->GetBooleanField(opts, skija::shaper::ShapingOptions::_approximatePunctuation)
));
if (!fontRunIter) return 0;
uint8_t defaultBiDiLevel = env->GetBooleanField(opts, skija::shaper::ShapingOptions::_leftToRight) ? UBIDI_DEFAULT_LTR : UBIDI_DEFAULT_RTL;
std::unique_ptr<SkShaper::BiDiRunIterator> bidiRunIter(SkShaper::MakeBiDiRunIterator(text.c_str(), text.size(), defaultBiDiLevel));
if (!bidiRunIter) return 0;
std::unique_ptr<SkShaper::ScriptRunIterator> scriptRunIter(SkShaper::MakeHbIcuScriptRunIterator(text.c_str(), text.size()));
if (!scriptRunIter) return 0;
std::unique_ptr<SkShaper::LanguageRunIterator> languageRunIter(SkShaper::MakeStdLanguageRunIterator(text.c_str(), text.size()));
if (!languageRunIter) return 0;
SkTextBlobBuilderRunHandler rh(text.c_str(), {offsetX, offsetY});
instance->shape(text.c_str(), text.size(), *fontRunIter, *bidiRunIter, *scriptRunIter, *languageRunIter, features.data(), features.size(), width, &rh);
SkTextBlob* blob = rh.makeBlob().release();
return reinterpret_cast<jlong>(blob);
}
#endif
extern "C" jlong org_jetbrains_skia_shaper_Shaper__1nShapeLine
(kref __Kinstance, jlong ptr, jstring textObj, jlong fontPtr, jobject opts) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_shaper_Shaper__1nShapeLine");
}
#if 0
extern "C" jlong org_jetbrains_skia_shaper_Shaper__1nShapeLine
(kref __Kinstance, jlong ptr, jstring textObj, jlong fontPtr, jobject opts) {
SkShaper* instance = reinterpret_cast<SkShaper*>(static_cast<uintptr_t>(ptr));
SkString text = skString(env, textObj);
std::shared_ptr<UBreakIterator> graphemeIter = skija::shaper::graphemeBreakIterator(text);
if (!graphemeIter) return 0;
SkFont* font = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(fontPtr));
std::vector<SkShaper::Feature> features = skija::shaper::ShapingOptions::getFeatures(env, opts);
std::unique_ptr<SkShaper::FontRunIterator> fontRunIter(new FontRunIterator(
text.c_str(),
text.size(),
*font,
SkFontMgr::RefDefault(),
graphemeIter,
env->GetBooleanField(opts, skija::shaper::ShapingOptions::_approximateSpaces),
env->GetBooleanField(opts, skija::shaper::ShapingOptions::_approximatePunctuation)));
if (!fontRunIter) return 0;
uint8_t defaultBiDiLevel = env->GetBooleanField(opts, skija::shaper::ShapingOptions::_leftToRight) ? UBIDI_DEFAULT_LTR : UBIDI_DEFAULT_RTL;
std::unique_ptr<SkShaper::BiDiRunIterator> bidiRunIter(SkShaper::MakeBiDiRunIterator(text.c_str(), text.size(), defaultBiDiLevel));
if (!bidiRunIter) return 0;
std::unique_ptr<SkShaper::ScriptRunIterator> scriptRunIter(SkShaper::MakeHbIcuScriptRunIterator(text.c_str(), text.size()));
if (!scriptRunIter) return 0;
std::unique_ptr<SkShaper::LanguageRunIterator> languageRunIter(SkShaper::MakeStdLanguageRunIterator(text.c_str(), text.size()));
if (!languageRunIter) return 0;
TextLine* line;
if (text.size() == 0)
line = new TextLine(*font);
else {
TextLineRunHandler rh(text, graphemeIter);
instance->shape(text.c_str(), text.size(), *fontRunIter, *bidiRunIter, *scriptRunIter, *languageRunIter, features.data(), features.size(), std::numeric_limits<float>::infinity(), &rh);
line = rh.makeLine().release();
}
return reinterpret_cast<jlong>(line);
}
#endif
extern "C" void org_jetbrains_skia_shaper_Shaper__1nShape
(kref __Kinstance, jlong ptr, jlong textPtr, jobject fontRunIterObj, jobject bidiRunIterObj, jobject scriptRunIterObj, jobject languageRunIterObj, jobject opts, jfloat width, jobject runHandlerObj)
{
throw std::runtime_error("TODO: implement org_jetbrains_skia_shaper_Shaper__1nShape");
}
#if 0
extern "C" void org_jetbrains_skia_shaper_Shaper__1nShape
(kref __Kinstance, jlong ptr, jlong textPtr, jobject fontRunIterObj, jobject bidiRunIterObj, jobject scriptRunIterObj, jobject languageRunIterObj, jobject opts, jfloat width, jobject runHandlerObj)
{
SkShaper* instance = reinterpret_cast<SkShaper*>(static_cast<uintptr_t>(ptr));
SkString* text = reinterpret_cast<SkString*>(static_cast<uintptr_t>(textPtr));
auto nativeFontRunIter = (SkShaper::FontRunIterator*) skija::impl::Native::fromJava(env, fontRunIterObj, skija::shaper::FontMgrRunIterator::cls);
std::unique_ptr<SkijaFontRunIterator> localFontRunIter;
if (nativeFontRunIter == nullptr)
localFontRunIter.reset(new SkijaFontRunIterator(env, fontRunIterObj, *text));
auto nativeBidiRunIter = (SkShaper::BiDiRunIterator*) skija::impl::Native::fromJava(env, bidiRunIterObj, skija::shaper::IcuBidiRunIterator::cls);
std::unique_ptr<SkijaBidiRunIterator> localBidiRunIter;
if (nativeBidiRunIter == nullptr)
localBidiRunIter.reset(new SkijaBidiRunIterator(env, bidiRunIterObj, *text));
auto nativeScriptRunIter = (SkShaper::ScriptRunIterator*) skija::impl::Native::fromJava(env, scriptRunIterObj, skija::shaper::HbIcuScriptRunIterator::cls);
std::unique_ptr<SkijaScriptRunIterator> localScriptRunIter;
if (nativeScriptRunIter == nullptr)
localScriptRunIter.reset(new SkijaScriptRunIterator(env, scriptRunIterObj, *text));
auto languageRunIter = SkijaLanguageRunIterator(env, languageRunIterObj, *text);
std::vector<SkShaper::Feature> features = skija::shaper::ShapingOptions::getFeatures(env, opts);
auto nativeRunHandler = (SkShaper::RunHandler*) skija::impl::Native::fromJava(env, runHandlerObj, skija::shaper::TextBlobBuilderRunHandler::cls);
std::unique_ptr<SkijaRunHandler> localRunHandler;
if (nativeRunHandler == nullptr)
localRunHandler.reset(new SkijaRunHandler(env, runHandlerObj, *text));
instance->shape(text->c_str(), text->size(),
nativeFontRunIter != nullptr ? *nativeFontRunIter : *localFontRunIter,
nativeBidiRunIter != nullptr ? *nativeBidiRunIter : *localBidiRunIter,
nativeScriptRunIter != nullptr ? *nativeScriptRunIter : *localScriptRunIter,
languageRunIter,
features.data(),
features.size(),
width,
nativeRunHandler != nullptr ? nativeRunHandler : localRunHandler.get());
}
#endif
// This file has been auto generated.
#include "SkShaper.h"
#include "common.h"
static void deleteTextBlobBuilderRunHandler(SkTextBlobBuilderRunHandler* instance) {
// std::cout << "Deleting [SkTextBlobBuilderRunHandler " << instance << "]" << std::endl;
delete instance;
}
extern "C" jlong org_jetbrains_skia_shaper_TextBlobBuilderRunHandler__1nGetFinalizer
(kref __Kinstance) {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(&deleteTextBlobBuilderRunHandler));
}
extern "C" jlong org_jetbrains_skia_shaper_TextBlobBuilderRunHandler__1nMake
(kref __Kinstance, jlong textPtr, jfloat offsetX, jfloat offsetY) {
SkString* text = reinterpret_cast<SkString*>(static_cast<uintptr_t>(textPtr));
auto instance = new SkTextBlobBuilderRunHandler(text->c_str(), {offsetX, offsetY});
return reinterpret_cast<jlong>(instance);
}
extern "C" jlong org_jetbrains_skia_shaper_TextBlobBuilderRunHandler__1nMakeBlob
(kref __Kinstance, jlong ptr) {
SkTextBlobBuilderRunHandler* instance = reinterpret_cast<SkTextBlobBuilderRunHandler*>(static_cast<uintptr_t>(ptr));
return reinterpret_cast<jlong>(instance->makeBlob().release());
}
// This file has been auto generated.
#include "SkSVGCanvas.h"
#include "SkStream.h"
#include "common.h"
extern "C" jlong org_jetbrains_skia_svg_SVGCanvas__1nMake
(kref __Kinstance, jfloat left, jfloat top, jfloat right, jfloat bottom, jlong wstreamPtr, jint flags) {
SkWStream* wstream = reinterpret_cast<SkWStream*>(static_cast<uintptr_t>(wstreamPtr));
SkRect bounds {left, top, right, bottom};
SkCanvas* instance = SkSVGCanvas::Make(bounds, wstream, flags).release();
return reinterpret_cast<jlong>(instance);
}
// This file has been auto generated.
#include "SkCanvas.h"
#include "SkData.h"
#include "SkStream.h"
#include "SkSVGDOM.h"
#include "SkSVGSVG.h"
#include "common.h"
extern "C" jlong org_jetbrains_skia_svg_SVGDOM__1nMakeFromData
(kref __Kinstance, jlong dataPtr) {
SkData* data = reinterpret_cast<SkData*>(static_cast<uintptr_t>(dataPtr));
SkMemoryStream stream(sk_ref_sp(data));
sk_sp<SkSVGDOM> instance = SkSVGDOM::MakeFromStream(stream);
return reinterpret_cast<jlong>(instance.release());
}
extern "C" jlong org_jetbrains_skia_svg_SVGDOM__1nGetRoot
(kref __Kinstance, jlong ptr) {
SkSVGDOM* instance = reinterpret_cast<SkSVGDOM*>(static_cast<uintptr_t>(ptr));
SkSVGSVG* root = instance->getRoot();
root->ref();
return reinterpret_cast<jlong>(root);
}
extern "C" jobject org_jetbrains_skia_svg_SVGDOM__1nGetContainerSize
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_svg_SVGDOM__1nGetContainerSize");
}
#if 0
extern "C" jobject org_jetbrains_skia_svg_SVGDOM__1nGetContainerSize
(kref __Kinstance, jlong ptr) {
SkSVGDOM* instance = reinterpret_cast<SkSVGDOM*>(static_cast<uintptr_t>(ptr));
const SkSize& size = instance->containerSize();
return skija::Point::make(env, size.fWidth, size.fHeight);
}
#endif
extern "C" void org_jetbrains_skia_svg_SVGDOM__1nSetContainerSize
(kref __Kinstance, jlong ptr, jfloat width, jfloat height) {
SkSVGDOM* instance = reinterpret_cast<SkSVGDOM*>(static_cast<uintptr_t>(ptr));
instance->setContainerSize(SkSize{width, height});
}
extern "C" void org_jetbrains_skia_svg_SVGDOM__1nRender
(kref __Kinstance, jlong ptr, jlong canvasPtr) {
SkSVGDOM* instance = reinterpret_cast<SkSVGDOM*>(static_cast<uintptr_t>(ptr));
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr));
instance->render(canvas);
}
// This file has been auto generated.
#include "SkSVGNode.h"
#include "common.h"
extern "C" jint org_jetbrains_skia_svg_SVGNode__1nGetTag
(kref __Kinstance, jlong ptr) {
SkSVGNode* instance = reinterpret_cast<SkSVGNode*>(static_cast<uintptr_t>(ptr));
return static_cast<jint>(instance->tag());
}
// This file has been auto generated.
#include "SkSVGSVG.h"
#include "SkSVGRenderContext.h"
#include "common.h"
extern "C" jint org_jetbrains_skia_svg_SVGSVG__1nGetTag
(kref __Kinstance, jlong ptr) {
SkSVGNode* instance = reinterpret_cast<SkSVGNode*>(static_cast<uintptr_t>(ptr));
return static_cast<jint>(instance->tag());
}
extern "C" jobject org_jetbrains_skia_svg_SVGSVG__1nGetX
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_svg_SVGSVG__1nGetX");
}
#if 0
extern "C" jobject org_jetbrains_skia_svg_SVGSVG__1nGetX
(kref __Kinstance, jlong ptr) {
SkSVGSVG* instance = reinterpret_cast<SkSVGSVG*>(static_cast<uintptr_t>(ptr));
return skija::svg::SVGLength::toJava(env, instance->getX());
}
#endif
extern "C" jobject org_jetbrains_skia_svg_SVGSVG__1nGetY
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_svg_SVGSVG__1nGetY");
}
#if 0
extern "C" jobject org_jetbrains_skia_svg_SVGSVG__1nGetY
(kref __Kinstance, jlong ptr) {
SkSVGSVG* instance = reinterpret_cast<SkSVGSVG*>(static_cast<uintptr_t>(ptr));
return skija::svg::SVGLength::toJava(env, instance->getY());
}
#endif
extern "C" jobject org_jetbrains_skia_svg_SVGSVG__1nGetWidth
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_svg_SVGSVG__1nGetWidth");
}
#if 0
extern "C" jobject org_jetbrains_skia_svg_SVGSVG__1nGetWidth
(kref __Kinstance, jlong ptr) {
SkSVGSVG* instance = reinterpret_cast<SkSVGSVG*>(static_cast<uintptr_t>(ptr));
return skija::svg::SVGLength::toJava(env, instance->getWidth());
}
#endif
extern "C" jobject org_jetbrains_skia_svg_SVGSVG__1nGetHeight
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_svg_SVGSVG__1nGetHeight");
}
#if 0
extern "C" jobject org_jetbrains_skia_svg_SVGSVG__1nGetHeight
(kref __Kinstance, jlong ptr) {
SkSVGSVG* instance = reinterpret_cast<SkSVGSVG*>(static_cast<uintptr_t>(ptr));
return skija::svg::SVGLength::toJava(env, instance->getHeight());
}
#endif
extern "C" jobject org_jetbrains_skia_svg_SVGSVG__1nGetPreserveAspectRatio
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_svg_SVGSVG__1nGetPreserveAspectRatio");
}
#if 0
extern "C" jobject org_jetbrains_skia_svg_SVGSVG__1nGetPreserveAspectRatio
(kref __Kinstance, jlong ptr) {
SkSVGSVG* instance = reinterpret_cast<SkSVGSVG*>(static_cast<uintptr_t>(ptr));
return skija::svg::SVGPreserveAspectRatio::toJava(env, instance->getPreserveAspectRatio());
}
#endif
extern "C" jobject org_jetbrains_skia_svg_SVGSVG__1nGetViewBox
(kref __Kinstance, jlong ptr) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_svg_SVGSVG__1nGetViewBox");
}
#if 0
extern "C" jobject org_jetbrains_skia_svg_SVGSVG__1nGetViewBox
(kref __Kinstance, jlong ptr) {
SkSVGSVG* instance = reinterpret_cast<SkSVGSVG*>(static_cast<uintptr_t>(ptr));
SkTLazy<SkSVGViewBoxType> viewBox = instance->getViewBox();
return viewBox.isValid() ? skija::Rect::fromSkRect(env, *viewBox.get()) : nullptr;
}
#endif
extern "C" jobject org_jetbrains_skia_svg_SVGSVG__1nGetIntrinsicSize
(kref __Kinstance, jlong ptr, float width, float height, float dpi) {
throw std::runtime_error("TODO: implement org_jetbrains_skia_svg_SVGSVG__1nGetIntrinsicSize");
}
#if 0
extern "C" jobject org_jetbrains_skia_svg_SVGSVG__1nGetIntrinsicSize
(kref __Kinstance, jlong ptr, float width, float height, float dpi) {
SkSVGSVG* instance = reinterpret_cast<SkSVGSVG*>(static_cast<uintptr_t>(ptr));
SkSVGLengthContext lc({width, height}, dpi);
SkSize size = instance->intrinsicSize(lc);
return skija::Point::fromSkPoint(env, {size.width(), size.height()});
}
#endif
extern "C" void org_jetbrains_skia_svg_SVGSVG__1nSetX
(kref __Kinstance, jlong ptr, float value, int unit) {
SkSVGSVG* instance = reinterpret_cast<SkSVGSVG*>(static_cast<uintptr_t>(ptr));
SkSVGLength lenght(value, static_cast<SkSVGLength::Unit>(unit));
instance->setX(lenght);
}
extern "C" void org_jetbrains_skia_svg_SVGSVG__1nSetY
(kref __Kinstance, jlong ptr, float value, int unit) {
SkSVGSVG* instance = reinterpret_cast<SkSVGSVG*>(static_cast<uintptr_t>(ptr));
SkSVGLength lenght(value, static_cast<SkSVGLength::Unit>(unit));
instance->setY(lenght);
}
extern "C" void org_jetbrains_skia_svg_SVGSVG__1nSetWidth
(kref __Kinstance, jlong ptr, float value, int unit) {
SkSVGSVG* instance = reinterpret_cast<SkSVGSVG*>(static_cast<uintptr_t>(ptr));
SkSVGLength lenght(value, static_cast<SkSVGLength::Unit>(unit));
instance->setWidth(lenght);
}
extern "C" void org_jetbrains_skia_svg_SVGSVG__1nSetHeight
(kref __Kinstance, jlong ptr, float value, int unit) {
SkSVGSVG* instance = reinterpret_cast<SkSVGSVG*>(static_cast<uintptr_t>(ptr));
SkSVGLength lenght(value, static_cast<SkSVGLength::Unit>(unit));
instance->setHeight(lenght);
}
extern "C" void org_jetbrains_skia_svg_SVGSVG__1nSetPreserveAspectRatio
(kref __Kinstance, jlong ptr, jint align, jint scale) {
SkSVGSVG* instance = reinterpret_cast<SkSVGSVG*>(static_cast<uintptr_t>(ptr));
instance->setPreserveAspectRatio(SkSVGPreserveAspectRatio { static_cast<SkSVGPreserveAspectRatio::Align>(align),
static_cast<SkSVGPreserveAspectRatio::Scale>(scale) });
}
extern "C" void org_jetbrains_skia_svg_SVGSVG__1nSetViewBox
(kref __Kinstance, jlong ptr, float l, float t, float r, float b) {
SkSVGSVG* instance = reinterpret_cast<SkSVGSVG*>(static_cast<uintptr_t>(ptr));
instance->setViewBox(SkRect::MakeLTRB(l, t, r, b));
}
......@@ -3,7 +3,8 @@ package org.jetbrains.skia.impl
actual class Library {
actual companion object {
actual fun staticLoad() {
TODO()
// Not much here for now.
// We link statically for native.
}
}
}
......@@ -2,6 +2,9 @@ package org.jetbrains.skia.impl
actual abstract class Native actual constructor(ptr: Long) {
actual var _ptr: Long
override fun toString(): String {
return this::class.simpleName + "(_ptr=0x" + _ptr.toString(16) + ")"
}
actual open fun _nativeEquals(other: Native?): Boolean = TODO()
......@@ -18,5 +21,5 @@ actual abstract class Native actual constructor(ptr: Long) {
}
actual fun reachabilityBarrier(obj: Any?) {
TODO()
}
\ No newline at end of file
// TODO: implement native barrier
}
package org.jetbrains.skia.impl
actual abstract class RefCnt : Managed {
actual protected constructor(ptr: Long): super(ptr, 0L, false) { TODO() }
actual protected constructor(ptr: Long, allowClose: Boolean): super(ptr, 0, allowClose) { TODO() }
actual protected constructor(ptr: Long): super(ptr, 0L, false) {
println("TODO: implement native RefCnt")
}
actual protected constructor(ptr: Long, allowClose: Boolean): super(ptr, 0, allowClose) {
println("TODO: implement native RefCnt")
}
}
\ No newline at end of file
......@@ -2,14 +2,14 @@ package org.jetbrains.skia.impl
actual object Stats {
actual fun onNativeCall() {
TODO()
// TODO
}
actual fun onAllocated(className: String) {
TODO()
// TODO
}
actual fun onDeallocated(className: String) {
TODO()
// TODO
}
}
\ No newline at end of file
}
......@@ -4,7 +4,7 @@ import kotlinx.cinterop.pointed
import kotlinx.cinterop.useContents
import org.jetbrains.skiko.native.context.*
import org.jetbrains.skiko.native.redrawer.*
import org.jetbrains.skiko.skia.native.*
import org.jetbrains.skia.*
interface SkiaRenderer {
fun onRender(canvas: Canvas, width: Int, height: Int, nanoTime: Long)
......@@ -53,9 +53,8 @@ open class SkiaLayer(
val pictureWidth = (width * contentScale).coerceAtLeast(0.0)
val pictureHeight = (height * contentScale).coerceAtLeast(0.0)
val bounds = SkRect.MakeWH(pictureWidth.toFloat(), pictureHeight.toFloat())
val canvas = pictureRecorder.beginRecording(bounds, null)!!
val bounds = Rect.makeWH(pictureWidth.toFloat(), pictureHeight.toFloat())
val canvas = pictureRecorder.beginRecording(bounds)!!
renderer?.onRender(canvas, pictureWidth.toInt(), pictureHeight.toInt(), nanoTime)
val picture = pictureRecorder.finishRecordingAsPicture()!!
......
package org.jetbrains.skiko.native.context
import kotlinx.cinterop.ptr
import org.jetbrains.skiko.skia.native.*
import org.jetbrains.skia.*
import org.jetbrains.skiko.native.*
internal fun createContextHandler(layer: HardwareLayer): ContextHandler {
......@@ -17,7 +17,7 @@ internal abstract class ContextHandler(val layer: HardwareLayer) {
// TODO: hostOs is all written in jdk kotlin.
// open val bleachConstant = if (hostOs == OS.MacOS) 0 else -1
open val bleachConstant = 0U
open val bleachConstant = 0
var context: DirectContext? = null
var renderTarget: BackendRenderTarget? = null
var surface: Surface? = null
......
package org.jetbrains.skiko.native.context
import kotlinx.cinterop.*
import org.jetbrains.skiko.skia.native.*
import org.jetbrains.skia.*
import org.jetbrains.skiko.native.*
import platform.OpenGL.GL_DRAW_FRAMEBUFFER_BINDING
import platform.OpenGL.GL_RGBA8
......@@ -14,7 +14,7 @@ internal class OpenGLContextHandler(layer: HardwareLayer) : ContextHandler(layer
println("OpenGLContextHandler::initContext")
try {
if (context == null) {
context = DirectContext.MakeGL()
context = DirectContext.makeGL()
}
} catch (e: Exception) {
println("Failed to create Skia OpenGL context!")
......@@ -43,31 +43,24 @@ internal class OpenGLContextHandler(layer: HardwareLayer) : ContextHandler(layer
val w = (layer.nsView.frame.useContents { size.width } * scale).toInt().coerceAtLeast(0)
val h = (layer.nsView.frame.useContents { size.height } * scale).toInt().coerceAtLeast(0)
val fbId = openglGetIntegerv(GL_DRAW_FRAMEBUFFER_BINDING.toUInt())
val fbId = openglGetIntegerv(GL_DRAW_FRAMEBUFFER_BINDING.toUInt())
renderTarget = BackendRenderTarget.makeGL(
w,
h,
0,
8,
fbId.toInt(),
FramebufferFormat.GR_GL_RGBA8
)
surface = Surface.makeFromBackendRenderTarget(
context!!,
renderTarget!!,
SurfaceOrigin.BOTTOM_LEFT,
SurfaceColorFormat.RGBA_8888,
ColorSpace.sRGB
)
// TODO: Skia C++ interop: glInfo is a `struct`, not `class`,
// so we fallback to C interop here.
memScoped {
val glInfo: GrGLFramebufferInfo = alloc<GrGLFramebufferInfo>()
glInfo.fFBOID = fbId
glInfo.fFormat = GL_RGBA8.toUInt()
renderTarget = BackendRenderTarget(w, h, 0, 8, glInfo.readValue())
}
surface = Surface.MakeFromBackendRenderTarget(
// TODO: C++ interop knows nothing about inheritance.
// As a bare minimum have an extension function for such conversions.
RecordingContext(context!!.cpp.ptr.reinterpret<GrRecordingContext>().pointed, managed = false),
renderTarget!!,
GrSurfaceOrigin.kBottomLeft_GrSurfaceOrigin,
colorType = kRGBA_8888_SkColorType,
colorSpace = ColorSpace.MakeSRGB(),
surfaceProps = null,
releaseProc = null,
releaseContext = null
) ?: error("Could not obtain Surface")
canvas = surface!!.getCanvas()
canvas = surface!!.canvas
?: error("Could not obtain Canvas from Surface")
}
}
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