Unverified Commit 4b6f133a authored by Nikolay Igotti's avatar Nikolay Igotti Committed by GitHub

Common cpp (WIP) (#193)

parent d6008a3a
...@@ -3,8 +3,11 @@ ...@@ -3,8 +3,11 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>skiko for web demo</title> <title>skiko for web demo</title>
<script src="skiko.js"> </script> <script src="skiko.js"> </script>
<script>
// Temporary, to debug loading issues.
initRuntime();
</script>
<script src="SkiaJsSample.js"> </script> <script src="SkiaJsSample.js"> </script>
</head> </head>
<body> <body>
......
...@@ -202,8 +202,7 @@ tasks.withType(JavaCompile::class.java).configureEach { ...@@ -202,8 +202,7 @@ tasks.withType(JavaCompile::class.java).configureEach {
this.getOptions().compilerArgs.addAll(listOf("-source", "11", "-target", "11")) this.getOptions().compilerArgs.addAll(listOf("-source", "11", "-target", "11"))
} }
val skiaPreprocessorFlags: Array<String> get() { fun skiaPreprocessorFlags(skiaDir: String): Array<String> {
val skiaDir = skiaDir.get().absolutePath
return listOf( return listOf(
"-I$skiaDir", "-I$skiaDir",
"-I$skiaDir/include", "-I$skiaDir/include",
...@@ -251,11 +250,9 @@ tasks.withType(CppCompile::class.java).configureEach { ...@@ -251,11 +250,9 @@ tasks.withType(CppCompile::class.java).configureEach {
dependsOn(skiaDir) dependsOn(skiaDir)
val skiaDir = skiaDir.get().absolutePath val skiaDir = skiaDir.get().absolutePath
compilerArgs.addAll( compilerArgs.addAll(
listOf("-I$jdkHome/include") + skiaPreprocessorFlags listOf("-I$jdkHome/include") + skiaPreprocessorFlags(skiaDir)
) )
val includeDir = "$projectDir/src/jvmMain/cpp/include" compilerArgs.add("-I$projectDir/src/jvmMain/cpp/include")
val commonIncludeDir = "$projectDir/src/commonMain/cpp/headers"
when (targetOs) { when (targetOs) {
OS.MacOS -> { OS.MacOS -> {
compilerArgs.addAll( compilerArgs.addAll(
...@@ -263,8 +260,6 @@ tasks.withType(CppCompile::class.java).configureEach { ...@@ -263,8 +260,6 @@ tasks.withType(CppCompile::class.java).configureEach {
"-fvisibility=hidden", "-fvisibility=hidden",
"-fvisibility-inlines-hidden", "-fvisibility-inlines-hidden",
"-I$jdkHome/include/darwin", "-I$jdkHome/include/darwin",
"-I$includeDir",
"-I$commonIncludeDir",
"-DSK_SHAPER_CORETEXT_AVAILABLE", "-DSK_SHAPER_CORETEXT_AVAILABLE",
"-DSK_BUILD_FOR_MAC", "-DSK_BUILD_FOR_MAC",
"-DSK_METAL", "-DSK_METAL",
...@@ -281,8 +276,6 @@ tasks.withType(CppCompile::class.java).configureEach { ...@@ -281,8 +276,6 @@ tasks.withType(CppCompile::class.java).configureEach {
"-fvisibility=hidden", "-fvisibility=hidden",
"-fvisibility-inlines-hidden", "-fvisibility-inlines-hidden",
"-I$jdkHome/include/linux", "-I$jdkHome/include/linux",
"-I$includeDir",
"-I$commonIncludeDir",
"-DSK_BUILD_FOR_LINUX", "-DSK_BUILD_FOR_LINUX",
"-D_GLIBCXX_USE_CXX11_ABI=0", "-D_GLIBCXX_USE_CXX11_ABI=0",
*buildType.clangFlags *buildType.clangFlags
...@@ -293,8 +286,6 @@ tasks.withType(CppCompile::class.java).configureEach { ...@@ -293,8 +286,6 @@ tasks.withType(CppCompile::class.java).configureEach {
compilerArgs.addAll( compilerArgs.addAll(
listOf( listOf(
"-I$jdkHome/include/win32", "-I$jdkHome/include/win32",
"-I$includeDir",
"-I$commonIncludeDir",
"-DSK_BUILD_FOR_WIN", "-DSK_BUILD_FOR_WIN",
"-D_CRT_SECURE_NO_WARNINGS", "-D_CRT_SECURE_NO_WARNINGS",
"-D_HAS_EXCEPTIONS=0", "-D_HAS_EXCEPTIONS=0",
...@@ -345,13 +336,21 @@ project.tasks.register<Exec>("objcCompile") { ...@@ -345,13 +336,21 @@ project.tasks.register<Exec>("objcCompile") {
outputs.files(outs) outputs.files(outs)
} }
project.tasks.register<Exec>("wasmCompile") { fun List<String>.findAllFiles(suffix: String): List<String> = this
.map { File(it) }
.flatMap { it.walk().toList() }
.map { it.absolutePath }
.filter { it.endsWith(suffix) }
val wasmCompileTask = project.tasks.register<Exec>("wasmCompile") {
dependsOn(skiaWasmDir) dependsOn(skiaWasmDir)
val skiaDir = skiaWasmDir.get().absolutePath val skiaDir = skiaWasmDir.get().absolutePath
val inputDir = "$projectDir/src/jsMain/cpp"
val outDir = "$buildDir/wasm" val outDir = "$buildDir/wasm"
val names = File(inputDir).listFiles()!!.filter { it.name.endsWith(".cc") }.map { it.name.removeSuffix(".cc") } val srcs = listOf(
val srcs = names.map { "$inputDir/$it.cc" }.toTypedArray() "$projectDir/src/jsMain/cpp",
"$projectDir/src/commonMain/cpp"
).findAllFiles(".cc").toTypedArray()
val outJs = "$outDir/skiko.js" val outJs = "$outDir/skiko.js"
val outWasm = "$outDir/skiko.wasm" val outWasm = "$outDir/skiko.wasm"
workingDir = File(outDir) workingDir = File(outDir)
...@@ -359,11 +358,8 @@ project.tasks.register<Exec>("wasmCompile") { ...@@ -359,11 +358,8 @@ project.tasks.register<Exec>("wasmCompile") {
commandLine = listOf( commandLine = listOf(
"emcc", "emcc",
*Arch.Wasm.clangFlags, *Arch.Wasm.clangFlags,
"-I$skiaDir", "-I$projectDir/src/commonMain/cpp",
"-I$skiaDir/include", *skiaPreprocessorFlags(skiaDir),
"-I$skiaDir/include/core",
"-I$skiaDir/include/effects",
"-I$skiaDir/include/gpu",
"-o", outJs, "-o", outJs,
*srcs *srcs
) )
...@@ -385,21 +381,26 @@ project.tasks.register<Exec>("wasmCompile") { ...@@ -385,21 +381,26 @@ project.tasks.register<Exec>("wasmCompile") {
outputs.files(outJs, outWasm) outputs.files(outJs, outWasm)
} }
fun List<String>.findAllFiles(suffix: String): List<String> = this val wasmJsPatcher = project.tasks.register<Exec>("wasmJsPatcher") {
.map { File(it) } dependsOn(wasmCompileTask)
.flatMap { it.walk().toList() } val inJs = wasmCompileTask.get().outputs.files.single { it.name.endsWith(".js") }
.map { it.absolutePath } val outDir = "$buildDir/wasm"
.filter { it.endsWith(suffix) } val outJs = "$outDir/skiko_processed.js"
commandLine = listOf(
"bash", "-c",
"sed 's/_org_jetbrains_/org_jetbrains_/g' ${inJs.absolutePath} > ${outJs}"
)
inputs.files(inJs)
outputs.files(outJs)
}
// Very hacky way to compile native bridges and add the // Very hacky way to compile native bridges and add the
// resulting object files into the final native klib. // resulting object files into the final native klib.
project.tasks.register<Exec>("nativeBridgesCompile") { project.tasks.register<Exec>("nativeBridgesCompile") {
dependsOn(skiaDir) dependsOn(skiaDir)
val inputDirs = listOf( val inputDirs = listOf(
"$projectDir/src/nativeMain/cpp/generated",
"$projectDir/src/nativeMain/cpp/common", "$projectDir/src/nativeMain/cpp/common",
"$projectDir/src/commonMain/cpp/common" "$projectDir/src/commonMain/cpp"
) )
val outDir = "$buildDir/nativeBridges/obj/$target" val outDir = "$buildDir/nativeBridges/obj/$target"
val srcs = inputDirs val srcs = inputDirs
...@@ -422,9 +423,8 @@ project.tasks.register<Exec>("nativeBridgesCompile") { ...@@ -422,9 +423,8 @@ project.tasks.register<Exec>("nativeBridgesCompile") {
"-DSK_SHAPER_CORETEXT_AVAILABLE", "-DSK_SHAPER_CORETEXT_AVAILABLE",
"-DSK_BUILD_FOR_MAC", "-DSK_BUILD_FOR_MAC",
"-DSK_METAL", "-DSK_METAL",
"-I$projectDir/src/nativeMain/cpp/include", "-I$projectDir/src/commonMain/cpp",
"-I$projectDir/src/commonMain/cpp/headers", *skiaPreprocessorFlags(skiaDir.get().absolutePath),
*skiaPreprocessorFlags,
*srcs *srcs
) )
file(outDir).mkdirs() file(outDir).mkdirs()
...@@ -579,7 +579,6 @@ tasks.withType(LinkSharedLibrary::class.java).configureEach { ...@@ -579,7 +579,6 @@ tasks.withType(LinkSharedLibrary::class.java).configureEach {
extensions.configure<CppLibrary> { extensions.configure<CppLibrary> {
source.from( source.from(
fileTree("$projectDir/src/commonMain/cpp/common"),
fileTree("$projectDir/src/jvmMain/cpp/common"), fileTree("$projectDir/src/jvmMain/cpp/common"),
fileTree("$projectDir/src/jvmMain/cpp/${targetOs.id}") fileTree("$projectDir/src/jvmMain/cpp/${targetOs.id}")
) )
...@@ -673,7 +672,9 @@ val skikoJvmRuntimeJar by project.tasks.registering(Jar::class) { ...@@ -673,7 +672,9 @@ val skikoJvmRuntimeJar by project.tasks.registering(Jar::class) {
val skikoWasmJar by project.tasks.registering(Jar::class) { val skikoWasmJar by project.tasks.registering(Jar::class) {
// We produce jar that contains .js of wrapper/bindings and .wasm with Skia + bindings. // We produce jar that contains .js of wrapper/bindings and .wasm with Skia + bindings.
from(project.tasks.named("wasmCompile").get().outputs) from(wasmCompileTask.get().outputs.files.single { it.name.endsWith(".wasm")})
from(wasmJsPatcher.get().outputs)
rename { if (it == "skiko_processed.js") "skiko.js" else it }
archiveBaseName.set("skiko-wasm") archiveBaseName.set("skiko-wasm")
doLast { doLast {
println("Wasm and JS at ${outputs.files.files.single()}") println("Wasm and JS at ${outputs.files.files.single()}")
......
...@@ -15,7 +15,7 @@ enum class OS(val id: String, val clangFlags: Array<String>) { ...@@ -15,7 +15,7 @@ enum class OS(val id: String, val clangFlags: Array<String>) {
enum class Arch(val id: String, val clangFlags: Array<String>) { enum class Arch(val id: String, val clangFlags: Array<String>) {
X64("x64", arrayOf("-arch", "x86_64")), X64("x64", arrayOf("-arch", "x86_64")),
Arm64("arm64", arrayOf("-arch", "arm64")), Arm64("arm64", arrayOf("-arch", "arm64")),
Wasm("wasm", arrayOf("-std=c++17", "--bind")) Wasm("wasm", arrayOf("-std=c++17", "--bind", "-DSKIKO_WASM"))
} }
enum class SkiaBuildType( enum class SkiaBuildType(
......
#ifndef SKIKO_COMMON_H #ifndef SKIKO_COMMON_H
#define SKIKO_COMMON_H #define SKIKO_COMMON_H
// Note that this file is only common between Wasm and Native targets, JVM uses different headers.
#include <stdexcept>
#include "SkCodec.h" #include "SkCodec.h"
#include "SkFontMetrics.h" #include "SkFontMetrics.h"
#include "SkFontStyle.h" #include "SkFontStyle.h"
...@@ -15,18 +19,18 @@ ...@@ -15,18 +19,18 @@
#include "SkShaper.h" #include "SkShaper.h"
#include "SkString.h" #include "SkString.h"
#include "SkSurfaceProps.h" #include "SkSurfaceProps.h"
#include <stdexcept>
#include "types.h" #include "types.h"
jlong packTwoInts(int32_t a, int32_t b); KLong packTwoInts(KInt a, KInt b);
jlong packIPoint(SkIPoint p); KLong packIPoint(SkIPoint p);
jlong packISize(SkISize p); KLong packISize(SkISize p);
namespace skija { namespace skija {
namespace SamplingMode { namespace SamplingMode {
SkSamplingOptions unpack(jlong val); SkSamplingOptions unpack(KLong val);
} }
class UtfIndicesConverter { class UtfIndicesConverter {
...@@ -42,17 +46,23 @@ namespace skija { ...@@ -42,17 +46,23 @@ namespace skija {
size_t from16To8(uint32_t i16); size_t from16To8(uint32_t i16);
uint32_t from8To16(size_t i8); uint32_t from8To16(size_t i8);
}; };
namespace RRect {
SkRRect toSkRRect(KFloat left, KFloat top, KFloat right, KFloat bottom, KFloat* jradii, KInt size);
}
} }
std::unique_ptr<SkMatrix> skMatrix(KFloat* matrixArray);
std::unique_ptr<SkM44> skM44(KFloat* matrixArray);
template <typename T> template <typename T>
inline T jlongToPtr(jlong ptr) { inline T interopToPtr(KNativePointer ptr) {
return reinterpret_cast<T>(static_cast<uintptr_t>(ptr)); return reinterpret_cast<T>(ptr);
} }
template <typename T> template <typename T>
jlong ptrToJlong(T* ptr) { KNativePointer ptrToInterop(T* ptr) {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(ptr)); return ptr;
} }
#ifdef __clang__ #ifdef __clang__
...@@ -62,5 +72,12 @@ void TODO(const char*); ...@@ -62,5 +72,12 @@ void TODO(const char*);
void TODO(const char*); void TODO(const char*);
#endif #endif
#ifdef SKIKO_WASM
#include <emscripten.h>
#define SKIKO_EXPORT EMSCRIPTEN_KEEPALIVE extern "C"
#else
#define SKIKO_EXPORT extern "C"
#endif
#endif /* SKIKO_COMMON_H */ #endif /* SKIKO_COMMON_H */
...@@ -2,22 +2,22 @@ ...@@ -2,22 +2,22 @@
#include "src/utils/SkUTF.h" #include "src/utils/SkUTF.h"
#include <stdio.h> #include <stdio.h>
jlong packTwoInts(int32_t a, int32_t b) { KLong packTwoInts(int32_t a, int32_t b) {
return (uint64_t (a) << 32) | b; return (uint64_t (a) << 32) | b;
} }
jlong packIPoint(SkIPoint p) { KLong packIPoint(SkIPoint p) {
return packTwoInts(p.fX, p.fY); return packTwoInts(p.fX, p.fY);
} }
jlong packISize(SkISize p) { KLong packISize(SkISize p) {
return packTwoInts(p.fWidth, p.fHeight); return packTwoInts(p.fWidth, p.fHeight);
} }
namespace skija { namespace skija {
namespace SamplingMode { namespace SamplingMode {
SkSamplingOptions unpack(jlong val) { SkSamplingOptions unpack(KLong val) {
if (0x8000000000000000 & val) { if (0x8000000000000000 & val) {
val = val & 0x7FFFFFFFFFFFFFFF; val = val & 0x7FFFFFFFFFFFFFFF;
float* ptr = reinterpret_cast<float*>(&val); float* ptr = reinterpret_cast<float*>(&val);
...@@ -80,3 +80,51 @@ void TODO(const char* message) { ...@@ -80,3 +80,51 @@ void TODO(const char* message) {
abort(); abort();
} }
std::unique_ptr<SkMatrix> skMatrix(KFloat* matrixArray) {
if (matrixArray == nullptr)
return std::unique_ptr<SkMatrix>(nullptr);
else {
KFloat* m = matrixArray;
SkMatrix* ptr = new SkMatrix();
ptr->setAll(m[0], m[1], m[2], m[3], m[4], m[5], m[6], m[7], m[8]);
return std::unique_ptr<SkMatrix>(ptr);
}
}
std::unique_ptr<SkM44> skM44(KFloat* matrixArray) {
if (matrixArray == nullptr)
return std::unique_ptr<SkM44>(nullptr);
else {
KFloat* m = matrixArray;
SkM44* ptr = new SkM44(m[0], m[1], m[2], m[3], m[4], m[5], m[6], m[7], m[8], m[9], m[10], m[11], m[12], m[13], m[14], m[15]);
return std::unique_ptr<SkM44>(ptr);
}
}
namespace skija {
namespace RRect {
SkRRect toSkRRect(KFloat left, KFloat top, KFloat right, KFloat bottom, KFloat* radii, KInt radiiSize) {
SkRect rect {left, top, right, bottom};
SkRRect rrect = SkRRect::MakeEmpty();
switch (radiiSize) {
case 1:
rrect.setRectXY(rect, radii[0], radii[0]);
break;
case 2:
rrect.setRectXY(rect, radii[0], radii[1]);
break;
case 4: {
SkVector vradii[4] = {{radii[0], radii[0]}, {radii[1], radii[1]}, {radii[2], radii[2]}, {radii[3], radii[3]}};
rrect.setRectRadii(rect, vradii);
break;
}
case 8: {
SkVector vradii[4] = {{radii[0], radii[1]}, {radii[2], radii[3]}, {radii[4], radii[5]}, {radii[6], radii[7]}};
rrect.setRectRadii(rect, vradii);
break;
}
}
return rrect;
}
}
}
...@@ -6,26 +6,25 @@ ...@@ -6,26 +6,25 @@
static void deleteBackendRenderTarget(GrBackendRenderTarget* rt) { static void deleteBackendRenderTarget(GrBackendRenderTarget* rt) {
delete rt; delete rt;
} }
SKIKO_EXPORT KNativePointer BackendRenderTarget_nGetFinalizer() {
extern "C" jlong BackendRenderTarget_nGetFinalizer() { return reinterpret_cast<KNativePointer>(&deleteBackendRenderTarget);
return static_cast<jlong>(reinterpret_cast<uintptr_t>(&deleteBackendRenderTarget));
} }
extern "C" jlong BackendRenderTarget_nMakeGL SKIKO_EXPORT KNativePointer BackendRenderTarget_nMakeGL
(jint width, jint height, jint sampleCnt, jint stencilBits, jint fbId, jint fbFormat) { (KInt width, KInt height, KInt sampleCnt, KInt stencilBits, KInt fbId, KInt fbFormat) {
GrGLFramebufferInfo glInfo = { static_cast<unsigned int>(fbId), static_cast<unsigned int>(fbFormat) }; GrGLFramebufferInfo glInfo = { static_cast<unsigned int>(fbId), static_cast<unsigned int>(fbFormat) };
GrBackendRenderTarget* instance = new GrBackendRenderTarget(width, height, sampleCnt, stencilBits, glInfo); GrBackendRenderTarget* instance = new GrBackendRenderTarget(width, height, sampleCnt, stencilBits, glInfo);
return reinterpret_cast<jlong>(instance); return instance;
} }
extern "C" jlong BackendRenderTarget_nMakeMetal SKIKO_EXPORT KNativePointer BackendRenderTarget_nMakeMetal
(jint width, jint height, jlong texturePtr) { ( KInt width, KInt height, KNativePointer texturePtr) {
#ifdef SK_METAL #ifdef SK_METAL
GrMTLHandle texture = reinterpret_cast<GrMTLHandle>(static_cast<uintptr_t>(texturePtr)); GrMTLHandle texture = reinterpret_cast<GrMTLHandle>((texturePtr));
GrMtlTextureInfo fbInfo; GrMtlTextureInfo fbInfo;
fbInfo.fTexture.retain(texture); fbInfo.fTexture.retain(texture);
GrBackendRenderTarget* instance = new GrBackendRenderTarget(width, height, fbInfo); GrBackendRenderTarget* instance = new GrBackendRenderTarget(width, height, fbInfo);
return reinterpret_cast<jlong>(instance); return instance;
#else #else
return 0; return 0;
#endif #endif
...@@ -35,18 +34,18 @@ extern "C" jlong BackendRenderTarget_nMakeMetal ...@@ -35,18 +34,18 @@ extern "C" jlong BackendRenderTarget_nMakeMetal
#include "d3d/GrD3DTypes.h" #include "d3d/GrD3DTypes.h"
#endif #endif
extern "C" jlong BackendRenderTarget_MakeDirect3D SKIKO_EXPORT KNativePointer BackendRenderTarget_MakeDirect3D
(jint width, jint height, jlong texturePtr, jint format, jint sampleCnt, jint levelCnt) { (KInt width, KInt height, KNativePointer texturePtr, KInt format, KInt sampleCnt, KInt levelCnt) {
#ifdef SK_DIRECT3D #ifdef SK_DIRECT3D
GrD3DTextureResourceInfo texResInfo = {}; GrD3DTextureResourceInfo texResInfo = {};
ID3D12Resource* resource = reinterpret_cast<ID3D12Resource*>(static_cast<uintptr_t>(texturePtr)); ID3D12Resource* resource = reinterpret_cast<ID3D12Resource*>((texturePtr));
texResInfo.fResource.retain(resource); texResInfo.fResource.retain(resource);
texResInfo.fResourceState = D3D12_RESOURCE_STATE_COMMON; texResInfo.fResourceState = D3D12_RESOURCE_STATE_COMMON;
texResInfo.fFormat = static_cast<DXGI_FORMAT>(format); texResInfo.fFormat = static_cast<DXGI_FORMAT>(format);
texResInfo.fSampleCount = static_cast<uint32_t>(sampleCnt); texResInfo.fSampleCount = static_cast<uint32_t>(sampleCnt);
texResInfo.fLevelCount = static_cast<uint32_t>(levelCnt); texResInfo.fLevelCount = static_cast<uint32_t>(levelCnt);
GrBackendRenderTarget* instance = new GrBackendRenderTarget(width, height, texResInfo); GrBackendRenderTarget* instance = new GrBackendRenderTarget(width, height, texResInfo);
return reinterpret_cast<jlong>(instance); return instance;
#else #else
return 0; return 0;
#endif #endif
......
...@@ -12,101 +12,101 @@ static void deleteBitmap(SkBitmap* instance) { ...@@ -12,101 +12,101 @@ static void deleteBitmap(SkBitmap* instance) {
delete instance; delete instance;
} }
extern "C" jlong org_jetbrains_skia_Bitmap__1nGetFinalizer() { SKIKO_EXPORT KNativePointer org_jetbrains_skia_Bitmap__1nGetFinalizer() {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(&deleteBitmap)); return reinterpret_cast<KNativePointer>((&deleteBitmap));
} }
extern "C" jlong org_jetbrains_skia_Bitmap__1nMake SKIKO_EXPORT KNativePointer org_jetbrains_skia_Bitmap__1nMake
() { () {
return reinterpret_cast<jlong>(new SkBitmap()); return reinterpret_cast<KNativePointer>(new SkBitmap());
} }
extern "C" jlong org_jetbrains_skia_Bitmap__1nMakeClone SKIKO_EXPORT KNativePointer org_jetbrains_skia_Bitmap__1nMakeClone
(jlong ptr) { (KNativePointer ptr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr)); SkBitmap* instance = reinterpret_cast<SkBitmap*>((ptr));
return reinterpret_cast<jlong>(new SkBitmap(*instance)); return reinterpret_cast<KNativePointer>(new SkBitmap(*instance));
} }
extern "C" void org_jetbrains_skia_Bitmap__1nSwap SKIKO_EXPORT void org_jetbrains_skia_Bitmap__1nSwap
(jlong ptr, jlong otherPtr) { (KNativePointer ptr, KNativePointer otherPtr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr)); SkBitmap* instance = reinterpret_cast<SkBitmap*>((ptr));
SkBitmap* other = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(otherPtr)); SkBitmap* other = reinterpret_cast<SkBitmap*>((otherPtr));
instance->swap(*other); instance->swap(*other);
} }
extern "C" jobject org_jetbrains_skia_Bitmap__1nGetImageInfo SKIKO_EXPORT KInteropPointer org_jetbrains_skia_Bitmap__1nGetImageInfo
(jlong ptr) { (KNativePointer ptr) {
TODO("implement org_jetbrains_skia_Bitmap__1nGetImageInfo"); TODO("implement org_jetbrains_skia_Bitmap__1nGetImageInfo");
} }
#if 0 #if 0
extern "C" jobject org_jetbrains_skia_Bitmap__1nGetImageInfo SKIKO_EXPORT KInteropPointer org_jetbrains_skia_Bitmap__1nGetImageInfo
(jlong ptr) { (KNativePointer ptr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr)); SkBitmap* instance = reinterpret_cast<SkBitmap*>((ptr));
return skija::ImageInfo::toJava(env, instance->info()); return skija::ImageInfo::toJava(env, instance->info());
} }
#endif #endif
extern "C" jint org_jetbrains_skia_Bitmap__1nGetRowBytesAsPixels SKIKO_EXPORT KInt org_jetbrains_skia_Bitmap__1nGetRowBytesAsPixels
(jlong ptr) { (KNativePointer ptr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr)); SkBitmap* instance = reinterpret_cast<SkBitmap*>((ptr));
return instance->rowBytesAsPixels(); return instance->rowBytesAsPixels();
} }
extern "C" jboolean org_jetbrains_skia_Bitmap__1nIsNull SKIKO_EXPORT KBoolean org_jetbrains_skia_Bitmap__1nIsNull
(jlong ptr) { (KNativePointer ptr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr)); SkBitmap* instance = reinterpret_cast<SkBitmap*>((ptr));
return instance->isNull(); return instance->isNull();
} }
extern "C" jlong org_jetbrains_skia_Bitmap__1nGetRowBytes SKIKO_EXPORT KInt org_jetbrains_skia_Bitmap__1nGetRowBytes
(jlong ptr) { (KNativePointer ptr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr)); SkBitmap* instance = reinterpret_cast<SkBitmap*>((ptr));
return instance->rowBytes(); return instance->rowBytes();
} }
extern "C" jboolean org_jetbrains_skia_Bitmap__1nSetAlphaType SKIKO_EXPORT KBoolean org_jetbrains_skia_Bitmap__1nSetAlphaType
(jlong ptr, jint alphaType) { (KNativePointer ptr, KInt alphaType) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr)); SkBitmap* instance = reinterpret_cast<SkBitmap*>((ptr));
return instance->setAlphaType(static_cast<SkAlphaType>(alphaType)); return instance->setAlphaType(static_cast<SkAlphaType>(alphaType));
} }
extern "C" jlong org_jetbrains_skia_Bitmap__1nComputeByteSize SKIKO_EXPORT KInt org_jetbrains_skia_Bitmap__1nComputeByteSize
(jlong ptr) { (KNativePointer ptr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr)); SkBitmap* instance = reinterpret_cast<SkBitmap*>((ptr));
return instance->computeByteSize(); return instance->computeByteSize();
} }
extern "C" jboolean org_jetbrains_skia_Bitmap__1nIsImmutable SKIKO_EXPORT KBoolean org_jetbrains_skia_Bitmap__1nIsImmutable
(jlong ptr) { (KNativePointer ptr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr)); SkBitmap* instance = reinterpret_cast<SkBitmap*>((ptr));
return instance->isImmutable(); return instance->isImmutable();
} }
extern "C" void org_jetbrains_skia_Bitmap__1nSetImmutable SKIKO_EXPORT void org_jetbrains_skia_Bitmap__1nSetImmutable
(jlong ptr) { (KNativePointer ptr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr)); SkBitmap* instance = reinterpret_cast<SkBitmap*>((ptr));
instance->setImmutable(); instance->setImmutable();
} }
extern "C" void org_jetbrains_skia_Bitmap__1nReset SKIKO_EXPORT void org_jetbrains_skia_Bitmap__1nReset
(jlong ptr) { (KNativePointer ptr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr)); SkBitmap* instance = reinterpret_cast<SkBitmap*>((ptr));
instance->reset(); instance->reset();
} }
extern "C" jboolean org_jetbrains_skia_Bitmap__1nComputeIsOpaque SKIKO_EXPORT KBoolean org_jetbrains_skia_Bitmap__1nComputeIsOpaque
(jlong ptr) { (KNativePointer ptr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr)); SkBitmap* instance = reinterpret_cast<SkBitmap*>((ptr));
return SkBitmap::ComputeIsOpaque(*instance); return SkBitmap::ComputeIsOpaque(*instance);
} }
extern "C" jboolean org_jetbrains_skia_Bitmap__1nSetImageInfo SKIKO_EXPORT KBoolean org_jetbrains_skia_Bitmap__1nSetImageInfo
(jlong ptr, jint width, jint height, jint colorType, jint alphaType, jlong colorSpacePtr, jlong rowBytes) { (KNativePointer ptr, KInt width, KInt height, KInt colorType, KInt alphaType, KNativePointer colorSpacePtr, KInt rowBytes) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr)); SkBitmap* instance = reinterpret_cast<SkBitmap*>((ptr));
SkColorSpace* colorSpace = reinterpret_cast<SkColorSpace*>(static_cast<uintptr_t>(colorSpacePtr)); SkColorSpace* colorSpace = reinterpret_cast<SkColorSpace*>((colorSpacePtr));
SkImageInfo imageInfo = SkImageInfo::Make(width, SkImageInfo imageInfo = SkImageInfo::Make(width,
height, height,
static_cast<SkColorType>(colorType), static_cast<SkColorType>(colorType),
...@@ -115,10 +115,10 @@ extern "C" jboolean org_jetbrains_skia_Bitmap__1nSetImageInfo ...@@ -115,10 +115,10 @@ extern "C" jboolean org_jetbrains_skia_Bitmap__1nSetImageInfo
return instance->setInfo(imageInfo, rowBytes); return instance->setInfo(imageInfo, rowBytes);
} }
extern "C" jboolean org_jetbrains_skia_Bitmap__1nAllocPixelsFlags SKIKO_EXPORT KBoolean org_jetbrains_skia_Bitmap__1nAllocPixelsFlags
(jlong ptr, jint width, jint height, jint colorType, jint alphaType, jlong colorSpacePtr, jint flags) { (KNativePointer ptr, KInt width, KInt height, KInt colorType, KInt alphaType, KNativePointer colorSpacePtr, KInt flags) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr)); SkBitmap* instance = reinterpret_cast<SkBitmap*>((ptr));
SkColorSpace* colorSpace = reinterpret_cast<SkColorSpace*>(static_cast<uintptr_t>(colorSpacePtr)); SkColorSpace* colorSpace = reinterpret_cast<SkColorSpace*>((colorSpacePtr));
SkImageInfo imageInfo = SkImageInfo::Make(width, SkImageInfo imageInfo = SkImageInfo::Make(width,
height, height,
static_cast<SkColorType>(colorType), static_cast<SkColorType>(colorType),
...@@ -127,10 +127,10 @@ extern "C" jboolean org_jetbrains_skia_Bitmap__1nAllocPixelsFlags ...@@ -127,10 +127,10 @@ extern "C" jboolean org_jetbrains_skia_Bitmap__1nAllocPixelsFlags
return instance->tryAllocPixelsFlags(imageInfo, flags); return instance->tryAllocPixelsFlags(imageInfo, flags);
} }
extern "C" jboolean org_jetbrains_skia_Bitmap__1nAllocPixelsRowBytes SKIKO_EXPORT KBoolean org_jetbrains_skia_Bitmap__1nAllocPixelsRowBytes
(jlong ptr, jint width, jint height, jint colorType, jint alphaType, jlong colorSpacePtr, jlong rowBytes) { (KNativePointer ptr, KInt width, KInt height, KInt colorType, KInt alphaType, KNativePointer colorSpacePtr, KInt rowBytes) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr)); SkBitmap* instance = reinterpret_cast<SkBitmap*>((ptr));
SkColorSpace* colorSpace = reinterpret_cast<SkColorSpace*>(static_cast<uintptr_t>(colorSpacePtr)); SkColorSpace* colorSpace = reinterpret_cast<SkColorSpace*>((colorSpacePtr));
SkImageInfo imageInfo = SkImageInfo::Make(width, SkImageInfo imageInfo = SkImageInfo::Make(width,
height, height,
static_cast<SkColorType>(colorType), static_cast<SkColorType>(colorType),
...@@ -140,16 +140,16 @@ extern "C" jboolean org_jetbrains_skia_Bitmap__1nAllocPixelsRowBytes ...@@ -140,16 +140,16 @@ extern "C" jboolean org_jetbrains_skia_Bitmap__1nAllocPixelsRowBytes
} }
extern "C" jboolean org_jetbrains_skia_Bitmap__1nInstallPixels SKIKO_EXPORT KBoolean org_jetbrains_skia_Bitmap__1nInstallPixels
(jlong ptr, jint width, jint height, jint colorType, jint alphaType, jlong colorSpacePtr, jbyteArray pixelsArr, jlong rowBytes) { (KNativePointer ptr, KInt width, KInt height, KInt colorType, KInt alphaType, KNativePointer colorSpacePtr, KByte* pixelsArr, KNativePointer rowBytes) {
TODO("implement org_jetbrains_skia_Bitmap__1nInstallPixels"); TODO("implement org_jetbrains_skia_Bitmap__1nInstallPixels");
} }
#if 0 #if 0
extern "C" jboolean org_jetbrains_skia_Bitmap__1nInstallPixels SKIKO_EXPORT KBoolean org_jetbrains_skia_Bitmap__1nInstallPixels
(jlong ptr, jint width, jint height, jint colorType, jint alphaType, jlong colorSpacePtr, jbyteArray pixelsArr, jlong rowBytes) { (KNativePointer ptr, KInt width, KInt height, KInt colorType, KInt alphaType, KNativePointer colorSpacePtr, KByte* pixelsArr, KNativePointer rowBytes) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr)); SkBitmap* instance = reinterpret_cast<SkBitmap*>((ptr));
SkColorSpace* colorSpace = reinterpret_cast<SkColorSpace*>(static_cast<uintptr_t>(colorSpacePtr)); SkColorSpace* colorSpace = reinterpret_cast<SkColorSpace*>((colorSpacePtr));
SkImageInfo imageInfo = SkImageInfo::Make(width, SkImageInfo imageInfo = SkImageInfo::Make(width,
height, height,
static_cast<SkColorType>(colorType), static_cast<SkColorType>(colorType),
...@@ -157,107 +157,107 @@ extern "C" jboolean org_jetbrains_skia_Bitmap__1nInstallPixels ...@@ -157,107 +157,107 @@ extern "C" jboolean org_jetbrains_skia_Bitmap__1nInstallPixels
sk_ref_sp<SkColorSpace>(colorSpace)); sk_ref_sp<SkColorSpace>(colorSpace));
jsize len = env->GetArrayLength(pixelsArr); jsize len = env->GetArrayLength(pixelsArr);
jbyte* pixels = new jbyte[len]; KByte* pixels = new KByte[len];
env->GetByteArrayRegion(pixelsArr, 0, len, pixels); env->GetByteArrayRegion(pixelsArr, 0, len, pixels);
return instance->installPixels(imageInfo, pixels, rowBytes, deleteJBytes, nullptr); return instance->installPixels(imageInfo, pixels, rowBytes, deleteJBytes, nullptr);
} }
#endif #endif
extern "C" jboolean org_jetbrains_skia_Bitmap__1nAllocPixels SKIKO_EXPORT KBoolean org_jetbrains_skia_Bitmap__1nAllocPixels
(jlong ptr) { (KNativePointer ptr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr)); SkBitmap* instance = reinterpret_cast<SkBitmap*>((ptr));
return instance->tryAllocPixels(); return instance->tryAllocPixels();
} }
extern "C" jlong org_jetbrains_skia_Bitmap__1nGetPixelRef SKIKO_EXPORT KNativePointer org_jetbrains_skia_Bitmap__1nGetPixelRef
(jlong ptr) { (KNativePointer ptr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr)); SkBitmap* instance = reinterpret_cast<SkBitmap*>((ptr));
SkPixelRef* pixelRef = instance->pixelRef(); SkPixelRef* pixelRef = instance->pixelRef();
pixelRef->ref(); pixelRef->ref();
return reinterpret_cast<jlong>(pixelRef); return reinterpret_cast<KNativePointer>(pixelRef);
} }
extern "C" jlong org_jetbrains_skia_Bitmap__1nGetPixelRefOrigin SKIKO_EXPORT KLong org_jetbrains_skia_Bitmap__1nGetPixelRefOrigin
(jlong ptr) { (KNativePointer ptr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr)); SkBitmap* instance = reinterpret_cast<SkBitmap*>((ptr));
SkIPoint origin = instance->pixelRefOrigin(); SkIPoint origin = instance->pixelRefOrigin();
return packIPoint(origin); return packIPoint(origin);
} }
extern "C" void org_jetbrains_skia_Bitmap__1nSetPixelRef SKIKO_EXPORT void org_jetbrains_skia_Bitmap__1nSetPixelRef
(jlong ptr, jlong pixelRefPtr, jint dx, jint dy) { (KNativePointer ptr, KNativePointer pixelRefPtr, KInt dx, KInt dy) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr)); SkBitmap* instance = reinterpret_cast<SkBitmap*>((ptr));
SkPixelRef* pixelRef = reinterpret_cast<SkPixelRef*>(static_cast<uintptr_t>(pixelRefPtr)); SkPixelRef* pixelRef = reinterpret_cast<SkPixelRef*>((pixelRefPtr));
instance->setPixelRef(sk_ref_sp<SkPixelRef>(pixelRef), dx, dy); instance->setPixelRef(sk_ref_sp<SkPixelRef>(pixelRef), dx, dy);
} }
extern "C" jboolean org_jetbrains_skia_Bitmap__1nIsReadyToDraw SKIKO_EXPORT KBoolean org_jetbrains_skia_Bitmap__1nIsReadyToDraw
(jlong ptr) { (KNativePointer ptr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr)); SkBitmap* instance = reinterpret_cast<SkBitmap*>((ptr));
return instance->readyToDraw(); return instance->readyToDraw();
} }
extern "C" jint org_jetbrains_skia_Bitmap__1nGetGenerationId SKIKO_EXPORT KInt org_jetbrains_skia_Bitmap__1nGetGenerationId
(jlong ptr) { (KNativePointer ptr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr)); SkBitmap* instance = reinterpret_cast<SkBitmap*>((ptr));
return instance->getGenerationID(); return instance->getGenerationID();
} }
extern "C" void org_jetbrains_skia_Bitmap__1nNotifyPixelsChanged SKIKO_EXPORT void org_jetbrains_skia_Bitmap__1nNotifyPixelsChanged
(jlong ptr) { (KNativePointer ptr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr)); SkBitmap* instance = reinterpret_cast<SkBitmap*>((ptr));
instance->notifyPixelsChanged(); instance->notifyPixelsChanged();
} }
extern "C" void org_jetbrains_skia_Bitmap__1nEraseColor SKIKO_EXPORT void org_jetbrains_skia_Bitmap__1nEraseColor
(jlong ptr, jint color) { (KNativePointer ptr, KInt color) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr)); SkBitmap* instance = reinterpret_cast<SkBitmap*>((ptr));
instance->eraseColor(color); instance->eraseColor(color);
} }
extern "C" void org_jetbrains_skia_Bitmap__1nErase SKIKO_EXPORT void org_jetbrains_skia_Bitmap__1nErase
(jlong ptr, jint color, jint left, jint top, jint right, jint bottom) { (KNativePointer ptr, KInt color, KInt left, KInt top, KInt right, KInt bottom) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr)); SkBitmap* instance = reinterpret_cast<SkBitmap*>((ptr));
instance->erase(color, {left, top, right, bottom}); instance->erase(color, {left, top, right, bottom});
} }
extern "C" jint org_jetbrains_skia_Bitmap__1nGetColor SKIKO_EXPORT KInt org_jetbrains_skia_Bitmap__1nGetColor
(jlong ptr, jint x, jint y) { (KNativePointer ptr, KInt x, KInt y) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr)); SkBitmap* instance = reinterpret_cast<SkBitmap*>((ptr));
return instance->getColor(x, y); return instance->getColor(x, y);
} }
extern "C" jfloat org_jetbrains_skia_Bitmap__1nGetAlphaf SKIKO_EXPORT KFloat org_jetbrains_skia_Bitmap__1nGetAlphaf
(jlong ptr, jint x, jint y) { (KNativePointer ptr, KInt x, KInt y) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr)); SkBitmap* instance = reinterpret_cast<SkBitmap*>((ptr));
return instance->getAlphaf(x, y); return instance->getAlphaf(x, y);
} }
extern "C" jboolean org_jetbrains_skia_Bitmap__1nExtractSubset SKIKO_EXPORT KBoolean org_jetbrains_skia_Bitmap__1nExtractSubset
(jlong ptr, jlong dstPtr, jint left, jint top, jint right, jint bottom) { (KNativePointer ptr, KNativePointer dstPtr, KInt left, KInt top, KInt right, KInt bottom) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr)); SkBitmap* instance = reinterpret_cast<SkBitmap*>((ptr));
SkBitmap* dst = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(dstPtr)); SkBitmap* dst = reinterpret_cast<SkBitmap*>((dstPtr));
return instance->extractSubset(dst, {left, top, right, bottom}); return instance->extractSubset(dst, {left, top, right, bottom});
} }
extern "C" jbyteArray org_jetbrains_skia_Bitmap__1nReadPixels SKIKO_EXPORT KByte* org_jetbrains_skia_Bitmap__1nReadPixels
(jlong ptr, jint width, jint height, jint colorType, jint alphaType, jlong colorSpacePtr, jlong rowBytes, jint srcX, jint srcY) { (KNativePointer ptr, KInt width, KInt height, KInt colorType, KInt alphaType, KNativePointer colorSpacePtr, KNativePointer rowBytes, KInt srcX, KInt srcY) {
TODO("implement org_jetbrains_skia_Bitmap__1nReadPixels"); TODO("implement org_jetbrains_skia_Bitmap__1nReadPixels");
} }
#if 0 #if 0
extern "C" jbyteArray org_jetbrains_skia_Bitmap__1nReadPixels SKIKO_EXPORT KByte* org_jetbrains_skia_Bitmap__1nReadPixels
(jlong ptr, jint width, jint height, jint colorType, jint alphaType, jlong colorSpacePtr, jlong rowBytes, jint srcX, jint srcY) { (KNativePointer ptr, KInt width, KInt height, KInt colorType, KInt alphaType, KNativePointer colorSpacePtr, KNativePointer rowBytes, KInt srcX, KInt srcY) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr)); SkBitmap* instance = reinterpret_cast<SkBitmap*>((ptr));
SkColorSpace* colorSpace = reinterpret_cast<SkColorSpace*>(static_cast<uintptr_t>(colorSpacePtr)); SkColorSpace* colorSpace = reinterpret_cast<SkColorSpace*>((colorSpacePtr));
SkImageInfo imageInfo = SkImageInfo::Make(width, SkImageInfo imageInfo = SkImageInfo::Make(width,
height, height,
static_cast<SkColorType>(colorType), static_cast<SkColorType>(colorType),
static_cast<SkAlphaType>(alphaType), static_cast<SkAlphaType>(alphaType),
sk_ref_sp<SkColorSpace>(colorSpace)); sk_ref_sp<SkColorSpace>(colorSpace));
std::vector<jbyte> pixels(std::min(height, instance->height() - srcY) * rowBytes); std::vector<KByte> pixels(std::min(height, instance->height() - srcY) * rowBytes);
if (instance->readPixels(imageInfo, pixels.data(), rowBytes, srcX, srcY)) if (instance->readPixels(imageInfo, pixels.data(), rowBytes, srcX, srcY))
return javaByteArray(env, pixels); return javaByteArray(env, pixels);
else else
...@@ -265,60 +265,18 @@ extern "C" jbyteArray org_jetbrains_skia_Bitmap__1nReadPixels ...@@ -265,60 +265,18 @@ extern "C" jbyteArray org_jetbrains_skia_Bitmap__1nReadPixels
} }
#endif #endif
SKIKO_EXPORT KInteropPointer org_jetbrains_skia_Bitmap__1nExtractAlpha
(KNativePointer ptr, KNativePointer dstPtr, KNativePointer paintPtr) {
extern "C" jobject org_jetbrains_skia_Bitmap__1nExtractAlpha
(jlong ptr, jlong dstPtr, jlong paintPtr) {
TODO("implement org_jetbrains_skia_Bitmap__1nExtractAlpha"); TODO("implement org_jetbrains_skia_Bitmap__1nExtractAlpha");
} }
#if 0 SKIKO_EXPORT KInteropPointer org_jetbrains_skia_Bitmap__1nPeekPixels
extern "C" jobject org_jetbrains_skia_Bitmap__1nExtractAlpha (KNativePointer ptr) {
(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
(jlong ptr) {
TODO("implement org_jetbrains_skia_Bitmap__1nPeekPixels"); TODO("implement org_jetbrains_skia_Bitmap__1nPeekPixels");
} }
#if 0 SKIKO_EXPORT KNativePointer org_jetbrains_skia_Bitmap__1nMakeShader
extern "C" jobject org_jetbrains_skia_Bitmap__1nPeekPixels (KNativePointer ptr, KInt tmx, KInt tmy, KNativePointer samplingMode, KFloat* localMatrixArr) {
(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
(jlong ptr, jint tmx, jint tmy, jlong samplingMode, jfloatArray localMatrixArr) {
TODO("implement org_jetbrains_skia_Bitmap__1nMakeShader"); TODO("implement org_jetbrains_skia_Bitmap__1nMakeShader");
} }
#if 0
extern "C" jlong org_jetbrains_skia_Bitmap__1nMakeShader
(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
...@@ -8,127 +8,88 @@ static void deleteBreakIterator(UBreakIterator* instance) { ...@@ -8,127 +8,88 @@ static void deleteBreakIterator(UBreakIterator* instance) {
ubrk_close(instance); ubrk_close(instance);
} }
extern "C" jlong org_jetbrains_skia_BreakIterator__1nGetFinalizer() { SKIKO_EXPORT KNativePointer org_jetbrains_skia_BreakIterator__1nGetFinalizer() {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(&deleteBreakIterator)); return reinterpret_cast<KNativePointer>((&deleteBreakIterator));
} }
extern "C" jlong org_jetbrains_skia_BreakIterator__1nMake SKIKO_EXPORT KNativePointer org_jetbrains_skia_BreakIterator__1nMake
(jint type, jstring localeStr) { (KInt type, KInteropPointer localeStr) {
TODO("implement org_jetbrains_skia_BreakIterator__1nMake"); TODO("implement org_jetbrains_skia_BreakIterator__1nMake");
} }
#if 0
extern "C" jlong org_jetbrains_skia_BreakIterator__1nMake
(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 SKIKO_EXPORT KInt org_jetbrains_skia_BreakIterator__1nClone
(jlong ptr) { (KNativePointer ptr) {
TODO("implement org_jetbrains_skia_BreakIterator__1nClone"); TODO("implement org_jetbrains_skia_BreakIterator__1nClone");
} }
#if 0
extern "C" jint org_jetbrains_skia_BreakIterator__1nClone
(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 SKIKO_EXPORT KInt org_jetbrains_skia_BreakIterator__1nCurrent
(jlong ptr) { (KNativePointer ptr) {
UBreakIterator* instance = reinterpret_cast<UBreakIterator*>(static_cast<uintptr_t>(ptr)); UBreakIterator* instance = reinterpret_cast<UBreakIterator*>((ptr));
return ubrk_current(instance); return ubrk_current(instance);
} }
extern "C" jint org_jetbrains_skia_BreakIterator__1nNext SKIKO_EXPORT KInt org_jetbrains_skia_BreakIterator__1nNext
(jlong ptr) { (KNativePointer ptr) {
UBreakIterator* instance = reinterpret_cast<UBreakIterator*>(static_cast<uintptr_t>(ptr)); UBreakIterator* instance = reinterpret_cast<UBreakIterator*>((ptr));
return ubrk_next(instance); return ubrk_next(instance);
} }
extern "C" jint org_jetbrains_skia_BreakIterator__1nPrevious SKIKO_EXPORT KInt org_jetbrains_skia_BreakIterator__1nPrevious
(jlong ptr) { (KNativePointer ptr) {
UBreakIterator* instance = reinterpret_cast<UBreakIterator*>(static_cast<uintptr_t>(ptr)); UBreakIterator* instance = reinterpret_cast<UBreakIterator*>((ptr));
return ubrk_previous(instance); return ubrk_previous(instance);
} }
extern "C" jint org_jetbrains_skia_BreakIterator__1nFirst SKIKO_EXPORT KInt org_jetbrains_skia_BreakIterator__1nFirst
(jlong ptr) { (KNativePointer ptr) {
UBreakIterator* instance = reinterpret_cast<UBreakIterator*>(static_cast<uintptr_t>(ptr)); UBreakIterator* instance = reinterpret_cast<UBreakIterator*>((ptr));
return ubrk_first(instance); return ubrk_first(instance);
} }
extern "C" jint org_jetbrains_skia_BreakIterator__1nLast SKIKO_EXPORT KInt org_jetbrains_skia_BreakIterator__1nLast
(jlong ptr) { (KNativePointer ptr) {
UBreakIterator* instance = reinterpret_cast<UBreakIterator*>(static_cast<uintptr_t>(ptr)); UBreakIterator* instance = reinterpret_cast<UBreakIterator*>((ptr));
return ubrk_last(instance); return ubrk_last(instance);
} }
extern "C" jint org_jetbrains_skia_BreakIterator__1nPreceding SKIKO_EXPORT KInt org_jetbrains_skia_BreakIterator__1nPreceding
(jlong ptr, jint offset) { (KNativePointer ptr, KInt offset) {
UBreakIterator* instance = reinterpret_cast<UBreakIterator*>(static_cast<uintptr_t>(ptr)); UBreakIterator* instance = reinterpret_cast<UBreakIterator*>((ptr));
return ubrk_preceding(instance, offset); return ubrk_preceding(instance, offset);
} }
extern "C" jint org_jetbrains_skia_BreakIterator__1nFollowing SKIKO_EXPORT KInt org_jetbrains_skia_BreakIterator__1nFollowing
(jlong ptr, jint offset) { (KNativePointer ptr, KInt offset) {
UBreakIterator* instance = reinterpret_cast<UBreakIterator*>(static_cast<uintptr_t>(ptr)); UBreakIterator* instance = reinterpret_cast<UBreakIterator*>((ptr));
return ubrk_following(instance, offset); return ubrk_following(instance, offset);
} }
extern "C" jboolean org_jetbrains_skia_BreakIterator__1nIsBoundary SKIKO_EXPORT KBoolean org_jetbrains_skia_BreakIterator__1nIsBoundary
(jlong ptr, jint offset) { (KNativePointer ptr, KInt offset) {
UBreakIterator* instance = reinterpret_cast<UBreakIterator*>(static_cast<uintptr_t>(ptr)); UBreakIterator* instance = reinterpret_cast<UBreakIterator*>((ptr));
return ubrk_isBoundary(instance, offset); return ubrk_isBoundary(instance, offset);
} }
extern "C" jint org_jetbrains_skia_BreakIterator__1nGetRuleStatus SKIKO_EXPORT KInt org_jetbrains_skia_BreakIterator__1nGetRuleStatus
(jlong ptr) { (KNativePointer ptr) {
UBreakIterator* instance = reinterpret_cast<UBreakIterator*>(static_cast<uintptr_t>(ptr)); UBreakIterator* instance = reinterpret_cast<UBreakIterator*>((ptr));
return ubrk_getRuleStatus(instance); return ubrk_getRuleStatus(instance);
} }
extern "C" jintArray org_jetbrains_skia_BreakIterator__1nGetRuleStatuses
(jlong ptr) {
TODO("implement org_jetbrains_skia_BreakIterator__1nGetRuleStatuses");
}
#if 0 #if 0
extern "C" jintArray org_jetbrains_skia_BreakIterator__1nGetRuleStatuses SKIKO_EXPORT KInt* org_jetbrains_skia_BreakIterator__1nGetRuleStatuses
(jlong ptr) { (KNativePointer ptr) {
UBreakIterator* instance = reinterpret_cast<UBreakIterator*>(static_cast<uintptr_t>(ptr)); UBreakIterator* instance = reinterpret_cast<UBreakIterator*>((ptr));
UErrorCode status = U_ZERO_ERROR; UErrorCode status = U_ZERO_ERROR;
int32_t len = ubrk_getRuleStatusVec(instance, nullptr, 0, &status); int32_t len = ubrk_getRuleStatusVec(instance, nullptr, 0, &status);
if (U_FAILURE(status)) if (U_FAILURE(status))
env->ThrowNew(java::lang::RuntimeException::cls, u_errorName(status)); env->ThrowNew(java::lang::RuntimeException::cls, u_errorName(status));
std::vector<jint> vec(len); std::vector<KInt> vec(len);
ubrk_getRuleStatusVec(instance, reinterpret_cast<int32_t*>(vec.data()), len, &status); ubrk_getRuleStatusVec(instance, reinterpret_cast<int32_t*>(vec.data()), len, &status);
if (U_FAILURE(status)) if (U_FAILURE(status))
env->ThrowNew(java::lang::RuntimeException::cls, u_errorName(status)); env->ThrowNew(java::lang::RuntimeException::cls, u_errorName(status));
...@@ -138,16 +99,16 @@ extern "C" jintArray org_jetbrains_skia_BreakIterator__1nGetRuleStatuses ...@@ -138,16 +99,16 @@ extern "C" jintArray org_jetbrains_skia_BreakIterator__1nGetRuleStatuses
extern "C" void org_jetbrains_skia_BreakIterator__1nSetText SKIKO_EXPORT void org_jetbrains_skia_BreakIterator__1nSetText
(jlong ptr, jlong textPtr) { (KNativePointer ptr, KNativePointer textPtr) {
TODO("implement org_jetbrains_skia_BreakIterator__1nSetText"); TODO("implement org_jetbrains_skia_BreakIterator__1nSetText");
} }
#if 0 #if 0
extern "C" void org_jetbrains_skia_BreakIterator__1nSetText SKIKO_EXPORT void org_jetbrains_skia_BreakIterator__1nSetText
(jlong ptr, jlong textPtr) { (KNativePointer ptr, KNativePointer textPtr) {
UBreakIterator* instance = reinterpret_cast<UBreakIterator*>(static_cast<uintptr_t>(ptr)); UBreakIterator* instance = reinterpret_cast<UBreakIterator*>((ptr));
std::vector<jchar>* text = reinterpret_cast<std::vector<jchar>*>(static_cast<uintptr_t>(textPtr)); std::vector<KChar>* text = reinterpret_cast<std::vector<KChar>*>((textPtr));
UErrorCode status = U_ZERO_ERROR; UErrorCode status = U_ZERO_ERROR;
ubrk_setText(instance, reinterpret_cast<UChar *>(text->data()), text->size(), &status); ubrk_setText(instance, reinterpret_cast<UChar *>(text->data()), text->size(), &status);
if (U_FAILURE(status)) if (U_FAILURE(status))
......
...@@ -8,187 +8,186 @@ ...@@ -8,187 +8,186 @@
#include "SkVertices.h" #include "SkVertices.h"
#include "hb.h" #include "hb.h"
#include "common.h" #include "common.h"
#include "native_interop.h"
static void deleteCanvas(SkCanvas* canvas) { static void deleteCanvas(SkCanvas* canvas) {
// std::cout << "Deleting [SkCanvas " << canvas << "]" << std::endl; // std::cout << "Deleting [SkCanvas " << canvas << "]" << std::endl;
delete canvas; delete canvas;
} }
extern "C" jlong org_jetbrains_skia_Canvas__1nGetFinalizer() { SKIKO_EXPORT KNativePointer org_jetbrains_skia_Canvas__1nGetFinalizer() {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(&deleteCanvas)); return reinterpret_cast<KNativePointer>((&deleteCanvas));
} }
extern "C" jlong org_jetbrains_skia_Canvas__1nMakeFromBitmap SKIKO_EXPORT KNativePointer org_jetbrains_skia_Canvas__1nMakeFromBitmap
(jlong bitmapPtr, jint flags, jint pixelGeometry) { (KNativePointer bitmapPtr, KInt flags, KInt pixelGeometry) {
SkBitmap* bitmap = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(bitmapPtr)); SkBitmap* bitmap = reinterpret_cast<SkBitmap*>((bitmapPtr));
SkCanvas* canvas = new SkCanvas(*bitmap, {static_cast<uint32_t>(flags), static_cast<SkPixelGeometry>(pixelGeometry)}); SkCanvas* canvas = new SkCanvas(*bitmap, {static_cast<uint32_t>(flags), static_cast<SkPixelGeometry>(pixelGeometry)});
return reinterpret_cast<jlong>(canvas); return reinterpret_cast<KNativePointer>(canvas);
} }
extern "C" void org_jetbrains_skia_Canvas__1nDrawPoint SKIKO_EXPORT void org_jetbrains_skia_Canvas__1nDrawPoint
(jlong canvasPtr, jfloat x, jfloat y, jlong paintPtr) { (KNativePointer canvasPtr, KFloat x, KFloat y, KNativePointer paintPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr)); SkCanvas* canvas = reinterpret_cast<SkCanvas*>((canvasPtr));
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr)); SkPaint* paint = reinterpret_cast<SkPaint*>((paintPtr));
canvas->drawPoint(x, y, *paint); canvas->drawPoint(x, y, *paint);
} }
extern "C" void org_jetbrains_skia_Canvas__1nDrawPoints SKIKO_EXPORT void org_jetbrains_skia_Canvas__1nDrawPoints
(jlong canvasPtr, int mode, jfloatArray coords, jlong paintPtr) { (KNativePointer canvasPtr, int mode, KFloat* coords, KNativePointer paintPtr) {
TODO("implement org_jetbrains_skia_Canvas__1nDrawPoints"); TODO("implement org_jetbrains_skia_Canvas__1nDrawPoints");
} }
#if 0 #if 0
extern "C" void org_jetbrains_skia_Canvas__1nDrawPoints SKIKO_EXPORT void org_jetbrains_skia_Canvas__1nDrawPoints
(jlong canvasPtr, int mode, jfloatArray coords, jlong paintPtr) { (KNativePointer canvasPtr, int mode, KFloat* coords, KNativePointer paintPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr)); SkCanvas* canvas = reinterpret_cast<SkCanvas*>((canvasPtr));
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr)); SkPaint* paint = reinterpret_cast<SkPaint*>((paintPtr));
SkCanvas::PointMode skMode = static_cast<SkCanvas::PointMode>(mode); SkCanvas::PointMode skMode = static_cast<SkCanvas::PointMode>(mode);
jsize len = env->GetArrayLength(coords); jsize len = env->GetArrayLength(coords);
jfloat* arr = static_cast<jfloat*>(env->GetPrimitiveArrayCritical(coords, 0)); KFloat* arr = static_cast<KFloat*>(env->GetPrimitiveArrayCritical(coords, 0));
canvas->drawPoints(skMode, len / 2, reinterpret_cast<SkPoint*>(arr), *paint); canvas->drawPoints(skMode, len / 2, reinterpret_cast<SkPoint*>(arr), *paint);
env->ReleasePrimitiveArrayCritical(coords, arr, 0); env->ReleasePrimitiveArrayCritical(coords, arr, 0);
} }
#endif #endif
extern "C" void org_jetbrains_skia_Canvas__1nDrawLine SKIKO_EXPORT void org_jetbrains_skia_Canvas__1nDrawLine
(jlong canvasPtr, jfloat x0, jfloat y0, jfloat x1, jfloat y1, jlong paintPtr) { (KNativePointer canvasPtr, KFloat x0, KFloat y0, KFloat x1, KFloat y1, KNativePointer paintPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr)); SkCanvas* canvas = reinterpret_cast<SkCanvas*>((canvasPtr));
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr)); SkPaint* paint = reinterpret_cast<SkPaint*>((paintPtr));
canvas->drawLine(x0, y0, x1, y1, *paint); canvas->drawLine(x0, y0, x1, y1, *paint);
} }
extern "C" void org_jetbrains_skia_Canvas__1nDrawArc SKIKO_EXPORT void org_jetbrains_skia_Canvas__1nDrawArc
(jlong canvasPtr, jfloat left, jfloat top, jfloat right, jfloat bottom, jfloat startAngle, jfloat sweepAngle, jboolean includeCenter, jlong paintPtr) { (KNativePointer canvasPtr, KFloat left, KFloat top, KFloat right, KFloat bottom, KFloat startAngle, KFloat sweepAngle, KBoolean includeCenter, KNativePointer paintPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr)); SkCanvas* canvas = reinterpret_cast<SkCanvas*>((canvasPtr));
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr)); SkPaint* paint = reinterpret_cast<SkPaint*>((paintPtr));
canvas->drawArc({left, top, right, bottom}, startAngle, sweepAngle, includeCenter, *paint); canvas->drawArc({left, top, right, bottom}, startAngle, sweepAngle, includeCenter, *paint);
} }
extern "C" void org_jetbrains_skia_Canvas__1nDrawRect SKIKO_EXPORT void org_jetbrains_skia_Canvas__1nDrawRect
(jlong canvasPtr, jfloat left, jfloat top, jfloat right, jfloat bottom, jlong paintPtr) { (KNativePointer canvasPtr, KFloat left, KFloat top, KFloat right, KFloat bottom, KNativePointer paintPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr)); SkCanvas* canvas = reinterpret_cast<SkCanvas*>((canvasPtr));
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr)); SkPaint* paint = reinterpret_cast<SkPaint*>((paintPtr));
canvas->drawRect({left, top, right, bottom}, *paint); canvas->drawRect({left, top, right, bottom}, *paint);
} }
extern "C" void org_jetbrains_skia_Canvas__1nDrawOval SKIKO_EXPORT void org_jetbrains_skia_Canvas__1nDrawOval
(jlong canvasPtr, jfloat left, jfloat top, jfloat right, jfloat bottom, jlong paintPtr) { (KNativePointer canvasPtr, KFloat left, KFloat top, KFloat right, KFloat bottom, KNativePointer paintPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr)); SkCanvas* canvas = reinterpret_cast<SkCanvas*>((canvasPtr));
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr)); SkPaint* paint = reinterpret_cast<SkPaint*>((paintPtr));
canvas->drawOval({left, top, right, bottom}, *paint); canvas->drawOval({left, top, right, bottom}, *paint);
} }
extern "C" void org_jetbrains_skia_Canvas__1nDrawRRect SKIKO_EXPORT void org_jetbrains_skia_Canvas__1nDrawRRect
(jlong canvasPtr, jfloat left, jfloat top, jfloat right, jfloat bottom, jfloatArray jradii, jint jradiiSize, jlong paintPtr) { (KNativePointer canvasPtr, KFloat left, KFloat top, KFloat right, KFloat bottom, KFloat* jradii, KInt jradiiSize, KNativePointer paintPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr)); SkCanvas* canvas = reinterpret_cast<SkCanvas*>((canvasPtr));
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr)); SkPaint* paint = reinterpret_cast<SkPaint*>((paintPtr));
canvas->drawRRect(skija::RRect::toSkRRect(left, top, right, bottom, jradii, jradiiSize), *paint); canvas->drawRRect(skija::RRect::toSkRRect(left, top, right, bottom, jradii, jradiiSize), *paint);
} }
extern "C" void org_jetbrains_skia_Canvas__1nDrawDRRect SKIKO_EXPORT void org_jetbrains_skia_Canvas__1nDrawDRRect
(jlong canvasPtr, (KNativePointer canvasPtr,
jfloat ol, jfloat ot, jfloat oright, jfloat ob, jfloatArray ojradii, jint ojradiiSize, KFloat ol, KFloat ot, KFloat oright, KFloat ob, KFloat* ojradii, KInt ojradiiSize,
jfloat il, jfloat it, jfloat ir, jfloat ib, jfloatArray ijradii, jint ijradiiSize, KFloat il, KFloat it, KFloat ir, KFloat ib, KFloat* ijradii, KInt ijradiiSize,
jlong paintPtr) { KNativePointer paintPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr)); SkCanvas* canvas = reinterpret_cast<SkCanvas*>((canvasPtr));
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr)); SkPaint* paint = reinterpret_cast<SkPaint*>((paintPtr));
canvas->drawDRRect(skija::RRect::toSkRRect(ol, ot, oright, ob, ojradii, ojradiiSize), canvas->drawDRRect(skija::RRect::toSkRRect(ol, ot, oright, ob, ojradii, ojradiiSize),
skija::RRect::toSkRRect(il, it, ir, ib, ijradii, ijradiiSize), *paint); skija::RRect::toSkRRect(il, it, ir, ib, ijradii, ijradiiSize), *paint);
} }
extern "C" void org_jetbrains_skia_Canvas__1nDrawPath SKIKO_EXPORT void org_jetbrains_skia_Canvas__1nDrawPath
(jlong canvasPtr, jlong pathPtr, jlong paintPtr) { (KNativePointer canvasPtr, KNativePointer pathPtr, KNativePointer paintPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr)); SkCanvas* canvas = reinterpret_cast<SkCanvas*>((canvasPtr));
SkPath* path = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(pathPtr)); SkPath* path = reinterpret_cast<SkPath*>((pathPtr));
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr)); SkPaint* paint = reinterpret_cast<SkPaint*>((paintPtr));
canvas->drawPath(*path, *paint); canvas->drawPath(*path, *paint);
} }
extern "C" void org_jetbrains_skia_Canvas__1nDrawImageRect SKIKO_EXPORT void org_jetbrains_skia_Canvas__1nDrawImageRect
(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) { (KNativePointer canvasPtr, KNativePointer imagePtr, KFloat sl, KFloat st, KFloat sr, KFloat sb, KFloat dl, KFloat dt, KFloat dr, KFloat db, KInt samplingMode, KNativePointer paintPtr, KBoolean strict) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr)); SkCanvas* canvas = reinterpret_cast<SkCanvas*>((canvasPtr));
SkImage* image = reinterpret_cast<SkImage*>(static_cast<uintptr_t>(imagePtr)); SkImage* image = reinterpret_cast<SkImage*>((imagePtr));
SkRect src {sl, st, sr, sb}; SkRect src {sl, st, sr, sb};
SkRect dst {dl, dt, dr, db}; SkRect dst {dl, dt, dr, db};
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr)); SkPaint* paint = reinterpret_cast<SkPaint*>((paintPtr));
SkCanvas::SrcRectConstraint constraint = strict ? SkCanvas::SrcRectConstraint::kStrict_SrcRectConstraint : SkCanvas::SrcRectConstraint::kFast_SrcRectConstraint; SkCanvas::SrcRectConstraint constraint = strict ? SkCanvas::SrcRectConstraint::kStrict_SrcRectConstraint : SkCanvas::SrcRectConstraint::kFast_SrcRectConstraint;
canvas->drawImageRect(image, src, dst, skija::SamplingMode::unpack(samplingMode), paint, constraint); canvas->drawImageRect(image, src, dst, skija::SamplingMode::unpack(samplingMode), paint, constraint);
} }
extern "C" void org_jetbrains_skia_Canvas__1nDrawImageNine SKIKO_EXPORT void org_jetbrains_skia_Canvas__1nDrawImageNine
(jlong canvasPtr, jlong imagePtr, jint cl, jint ct, jint cr, jint cb, jfloat dl, jfloat dt, jfloat dr, jfloat db, jint filterMode, jlong paintPtr) { (KNativePointer canvasPtr, KNativePointer imagePtr, KInt cl, KInt ct, KInt cr, KInt cb, KFloat dl, KFloat dt, KFloat dr, KFloat db, KInt filterMode, KNativePointer paintPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr)); SkCanvas* canvas = reinterpret_cast<SkCanvas*>((canvasPtr));
SkImage* image = reinterpret_cast<SkImage*>(static_cast<uintptr_t>(imagePtr)); SkImage* image = reinterpret_cast<SkImage*>((imagePtr));
SkIRect center {cl, ct, cr, cb}; SkIRect center {cl, ct, cr, cb};
SkRect dst {dl, dt, dr, db}; SkRect dst {dl, dt, dr, db};
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr)); SkPaint* paint = reinterpret_cast<SkPaint*>((paintPtr));
canvas->drawImageNine(image, center, dst, static_cast<SkFilterMode>(filterMode), paint); canvas->drawImageNine(image, center, dst, static_cast<SkFilterMode>(filterMode), paint);
} }
extern "C" void org_jetbrains_skia_Canvas__1nDrawRegion SKIKO_EXPORT void org_jetbrains_skia_Canvas__1nDrawRegion
(jlong canvasPtr, jlong regionPtr, jlong paintPtr) { (KNativePointer canvasPtr, KNativePointer regionPtr, KNativePointer paintPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr)); SkCanvas* canvas = reinterpret_cast<SkCanvas*>((canvasPtr));
SkRegion* region = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(regionPtr)); SkRegion* region = reinterpret_cast<SkRegion*>((regionPtr));
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr)); SkPaint* paint = reinterpret_cast<SkPaint*>((paintPtr));
canvas->drawRegion(*region, *paint); canvas->drawRegion(*region, *paint);
} }
extern "C" void org_jetbrains_skia_Canvas__1nDrawString SKIKO_EXPORT void org_jetbrains_skia_Canvas__1nDrawString
(jlong canvasPtr, jstring stringObj, jfloat x, jfloat y, jlong skFontPtr, jlong paintPtr) { (KNativePointer canvasPtr, KInteropPointer stringObj, KFloat x, KFloat y, KNativePointer skFontPtr, KNativePointer paintPtr) {
TODO("implement org_jetbrains_skia_Canvas__1nDrawString"); TODO("implement org_jetbrains_skia_Canvas__1nDrawString");
} }
#if 0 #if 0
extern "C" void org_jetbrains_skia_Canvas__1nDrawString SKIKO_EXPORT void org_jetbrains_skia_Canvas__1nDrawString
(jlong canvasPtr, jstring stringObj, jfloat x, jfloat y, jlong skFontPtr, jlong paintPtr) { (KNativePointer canvasPtr, KInteropPointer stringObj, KFloat x, KFloat y, KNativePointer skFontPtr, KNativePointer paintPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*> (static_cast<uintptr_t>(canvasPtr)); SkCanvas* canvas = reinterpret_cast<SkCanvas*> ((canvasPtr));
SkString string = skString(env, stringObj); SkString string = skString(env, stringObj);
SkFont* font = reinterpret_cast<SkFont*> (static_cast<uintptr_t>(skFontPtr)); SkFont* font = reinterpret_cast<SkFont*> ((skFontPtr));
SkPaint* paint = reinterpret_cast<SkPaint*> (static_cast<uintptr_t>(paintPtr)); SkPaint* paint = reinterpret_cast<SkPaint*> ((paintPtr));
canvas->drawString(string, x, y, *font, *paint); canvas->drawString(string, x, y, *font, *paint);
} }
#endif #endif
extern "C" void org_jetbrains_skia_Canvas__1nDrawTextBlob SKIKO_EXPORT void org_jetbrains_skia_Canvas__1nDrawTextBlob
(jlong canvasPtr, jlong blobPtr, jfloat x, jfloat y, jlong paintPtr) { (KNativePointer canvasPtr, KNativePointer blobPtr, KFloat x, KFloat y, KNativePointer paintPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*> (static_cast<uintptr_t>(canvasPtr)); SkCanvas* canvas = reinterpret_cast<SkCanvas*> ((canvasPtr));
SkTextBlob* blob = reinterpret_cast<SkTextBlob*>(static_cast<uintptr_t>(blobPtr)); SkTextBlob* blob = reinterpret_cast<SkTextBlob*>((blobPtr));
SkPaint* paint = reinterpret_cast<SkPaint*> (static_cast<uintptr_t>(paintPtr)); SkPaint* paint = reinterpret_cast<SkPaint*> ((paintPtr));
canvas->drawTextBlob(blob, x, y, *paint); canvas->drawTextBlob(blob, x, y, *paint);
} }
extern "C" void org_jetbrains_skia_Canvas__1nDrawPicture SKIKO_EXPORT void org_jetbrains_skia_Canvas__1nDrawPicture
(jlong ptr, jlong picturePtr, jfloatArray matrixArr, jlong paintPtr) { (KNativePointer ptr, KNativePointer picturePtr, KFloat* matrixArr, KNativePointer paintPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*> (static_cast<uintptr_t>(ptr)); SkCanvas* canvas = reinterpret_cast<SkCanvas*> ((ptr));
SkPicture* picture = reinterpret_cast<SkPicture*>(static_cast<uintptr_t>(picturePtr)); SkPicture* picture = reinterpret_cast<SkPicture*>((picturePtr));
std::unique_ptr<SkMatrix> matrix = skMatrix(matrixArr); std::unique_ptr<SkMatrix> matrix = skMatrix(matrixArr);
SkPaint* paint = reinterpret_cast<SkPaint*> (static_cast<uintptr_t>(paintPtr)); SkPaint* paint = reinterpret_cast<SkPaint*> ((paintPtr));
canvas->drawPicture(picture, matrix.get(), paint); canvas->drawPicture(picture, matrix.get(), paint);
} }
extern "C" void org_jetbrains_skia_Canvas__1nDrawVertices SKIKO_EXPORT void org_jetbrains_skia_Canvas__1nDrawVertices
(jlong ptr, jint verticesMode, jfloatArray positionsArr, jintArray colorsArr, jfloatArray texCoordsArr, jshortArray indexArr, jint blendMode, jlong paintPtr) { (KNativePointer ptr, KInt verticesMode, KFloat* positionsArr, KInt* colorsArr, KFloat* texCoordsArr, KShort* indexArr, KInt blendMode, KNativePointer paintPtr) {
TODO("implement org_jetbrains_skia_Canvas__1nDrawVertices"); TODO("implement org_jetbrains_skia_Canvas__1nDrawVertices");
} }
#if 0 #if 0
extern "C" void org_jetbrains_skia_Canvas__1nDrawVertices SKIKO_EXPORT void org_jetbrains_skia_Canvas__1nDrawVertices
(jlong ptr, jint verticesMode, jfloatArray positionsArr, jintArray colorsArr, jfloatArray texCoordsArr, jshortArray indexArr, jint blendMode, jlong paintPtr) { (KNativePointer ptr, KInt verticesMode, KFloat* positionsArr, KInt* colorsArr, KFloat* texCoordsArr, KShort* indexArr, KInt blendMode, KNativePointer paintPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*> (static_cast<uintptr_t>(ptr)); SkCanvas* canvas = reinterpret_cast<SkCanvas*> ((ptr));
int indexCount = indexArr == nullptr ? 0 : env->GetArrayLength(indexArr); int indexCount = indexArr == nullptr ? 0 : env->GetArrayLength(indexArr);
jfloat* positions = env->GetFloatArrayElements(positionsArr, 0); KFloat* positions = env->GetFloatArrayElements(positionsArr, 0);
jint* colors = colorsArr == nullptr ? nullptr : env->GetIntArrayElements(colorsArr, 0); KInt* colors = colorsArr == nullptr ? nullptr : env->GetIntArrayElements(colorsArr, 0);
jfloat* texCoords = texCoordsArr == nullptr ? nullptr : env->GetFloatArrayElements(texCoordsArr, 0); KFloat* texCoords = texCoordsArr == nullptr ? nullptr : env->GetFloatArrayElements(texCoordsArr, 0);
const jshort* indices = indexArr == nullptr ? nullptr : env->GetShortArrayElements(indexArr, 0); const KShort* indices = indexArr == nullptr ? nullptr : env->GetShortArrayElements(indexArr, 0);
sk_sp<SkVertices> vertices = SkVertices::MakeCopy( sk_sp<SkVertices> vertices = SkVertices::MakeCopy(
static_cast<SkVertices::VertexMode>(verticesMode), static_cast<SkVertices::VertexMode>(verticesMode),
env->GetArrayLength(positionsArr) / 2, env->GetArrayLength(positionsArr) / 2,
...@@ -197,7 +196,7 @@ extern "C" void org_jetbrains_skia_Canvas__1nDrawVertices ...@@ -197,7 +196,7 @@ extern "C" void org_jetbrains_skia_Canvas__1nDrawVertices
reinterpret_cast<SkColor*>(colors), reinterpret_cast<SkColor*>(colors),
indexCount, indexCount,
reinterpret_cast<const uint16_t *>(indices)); reinterpret_cast<const uint16_t *>(indices));
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr)); SkPaint* paint = reinterpret_cast<SkPaint*>((paintPtr));
canvas->drawVertices(vertices, static_cast<SkBlendMode>(blendMode), *paint); canvas->drawVertices(vertices, static_cast<SkBlendMode>(blendMode), *paint);
...@@ -211,19 +210,19 @@ extern "C" void org_jetbrains_skia_Canvas__1nDrawVertices ...@@ -211,19 +210,19 @@ extern "C" void org_jetbrains_skia_Canvas__1nDrawVertices
extern "C" void org_jetbrains_skia_Canvas__1nDrawPatch SKIKO_EXPORT void org_jetbrains_skia_Canvas__1nDrawPatch
(jlong ptr, jfloatArray cubicsArr, jintArray colorsArr, jfloatArray texCoordsArr, jint blendMode, jlong paintPtr) { (KNativePointer ptr, KFloat* cubicsArr, KInt* colorsArr, KFloat* texCoordsArr, KInt blendMode, KNativePointer paintPtr) {
TODO("implement org_jetbrains_skia_Canvas__1nDrawPatch"); TODO("implement org_jetbrains_skia_Canvas__1nDrawPatch");
} }
#if 0 #if 0
extern "C" void org_jetbrains_skia_Canvas__1nDrawPatch SKIKO_EXPORT void org_jetbrains_skia_Canvas__1nDrawPatch
(jlong ptr, jfloatArray cubicsArr, jintArray colorsArr, jfloatArray texCoordsArr, jint blendMode, jlong paintPtr) { (KNativePointer ptr, KFloat* cubicsArr, KInt* colorsArr, KFloat* texCoordsArr, KInt blendMode, KNativePointer paintPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*> (static_cast<uintptr_t>(ptr)); SkCanvas* canvas = reinterpret_cast<SkCanvas*> ((ptr));
jfloat* cubics = env->GetFloatArrayElements(cubicsArr, 0); KFloat* cubics = env->GetFloatArrayElements(cubicsArr, 0);
jint* colors = env->GetIntArrayElements(colorsArr, 0); KInt* colors = env->GetIntArrayElements(colorsArr, 0);
jfloat* texCoords = texCoordsArr == nullptr ? nullptr : env->GetFloatArrayElements(texCoordsArr, 0); KFloat* texCoords = texCoordsArr == nullptr ? nullptr : env->GetFloatArrayElements(texCoordsArr, 0);
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr)); SkPaint* paint = reinterpret_cast<SkPaint*>((paintPtr));
canvas->drawPatch(reinterpret_cast<SkPoint*>(cubics), reinterpret_cast<SkColor*>(colors), reinterpret_cast<SkPoint*>(texCoords), static_cast<SkBlendMode>(blendMode), *paint); canvas->drawPatch(reinterpret_cast<SkPoint*>(cubics), reinterpret_cast<SkColor*>(colors), reinterpret_cast<SkPoint*>(texCoords), static_cast<SkBlendMode>(blendMode), *paint);
...@@ -236,66 +235,66 @@ extern "C" void org_jetbrains_skia_Canvas__1nDrawPatch ...@@ -236,66 +235,66 @@ extern "C" void org_jetbrains_skia_Canvas__1nDrawPatch
extern "C" void org_jetbrains_skia_Canvas__1nDrawDrawable SKIKO_EXPORT void org_jetbrains_skia_Canvas__1nDrawDrawable
(jlong ptr, jlong drawablePtr, jfloatArray matrixArr) { (KNativePointer ptr, KNativePointer drawablePtr, KFloat* matrixArr) {
TODO("implement org_jetbrains_skia_Canvas__1nDrawDrawable"); TODO("implement org_jetbrains_skia_Canvas__1nDrawDrawable");
} }
#if 0 #if 0
extern "C" void org_jetbrains_skia_Canvas__1nDrawDrawable SKIKO_EXPORT void org_jetbrains_skia_Canvas__1nDrawDrawable
(jlong ptr, jlong drawablePtr, jfloatArray matrixArr) { (KNativePointer ptr, KNativePointer drawablePtr, KFloat* matrixArr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(ptr)); SkCanvas* canvas = reinterpret_cast<SkCanvas*>((ptr));
SkDrawable* drawable = reinterpret_cast<SkDrawable*>(static_cast<uintptr_t>(drawablePtr)); SkDrawable* drawable = reinterpret_cast<SkDrawable*>((drawablePtr));
std::unique_ptr<SkMatrix> matrix = skMatrix(env, matrixArr); std::unique_ptr<SkMatrix> matrix = skMatrix(env, matrixArr);
canvas->drawDrawable(drawable, matrix.get()); canvas->drawDrawable(drawable, matrix.get());
} }
#endif #endif
extern "C" void org_jetbrains_skia_Canvas__1nClear(jlong ptr, jint color) { SKIKO_EXPORT void org_jetbrains_skia_Canvas__1nClear(KNativePointer ptr, KInt color) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(ptr)); SkCanvas* canvas = reinterpret_cast<SkCanvas*>((ptr));
canvas->clear(color); canvas->clear(color);
} }
extern "C" void org_jetbrains_skia_Canvas__1nDrawPaint SKIKO_EXPORT void org_jetbrains_skia_Canvas__1nDrawPaint
(jlong canvasPtr, jlong paintPtr) { (KNativePointer canvasPtr, KNativePointer paintPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr)); SkCanvas* canvas = reinterpret_cast<SkCanvas*>((canvasPtr));
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr)); SkPaint* paint = reinterpret_cast<SkPaint*>((paintPtr));
canvas->drawPaint(*paint); canvas->drawPaint(*paint);
} }
extern "C" void org_jetbrains_skia_Canvas__1nSetMatrix SKIKO_EXPORT void org_jetbrains_skia_Canvas__1nSetMatrix
(jlong canvasPtr, jfloatArray matrixArr) { (KNativePointer canvasPtr, KFloat* matrixArr) {
TODO("implement org_jetbrains_skia_Canvas__1nSetMatrix"); TODO("implement org_jetbrains_skia_Canvas__1nSetMatrix");
} }
#if 0 #if 0
extern "C" void org_jetbrains_skia_Canvas__1nSetMatrix SKIKO_EXPORT void org_jetbrains_skia_Canvas__1nSetMatrix
(jlong canvasPtr, jfloatArray matrixArr) { (KNativePointer canvasPtr, KFloat* matrixArr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr)); SkCanvas* canvas = reinterpret_cast<SkCanvas*>((canvasPtr));
std::unique_ptr<SkMatrix> matrix = skMatrix(env, matrixArr); std::unique_ptr<SkMatrix> matrix = skMatrix(env, matrixArr);
canvas->setMatrix(*matrix); canvas->setMatrix(*matrix);
} }
#endif #endif
extern "C" void org_jetbrains_skia_Canvas__1nResetMatrix SKIKO_EXPORT void org_jetbrains_skia_Canvas__1nResetMatrix
(jlong canvasPtr) { (KNativePointer canvasPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr)); SkCanvas* canvas = reinterpret_cast<SkCanvas*>((canvasPtr));
canvas->resetMatrix(); canvas->resetMatrix();
} }
extern "C" jobject org_jetbrains_skia_Canvas__1nGetLocalToDevice SKIKO_EXPORT KInteropPointer org_jetbrains_skia_Canvas__1nGetLocalToDevice
(jlong canvasPtr) { (KNativePointer canvasPtr) {
TODO("implement org_jetbrains_skia_Canvas__1nGetLocalToDevice"); TODO("implement org_jetbrains_skia_Canvas__1nGetLocalToDevice");
} }
#if 0 #if 0
extern "C" jobject org_jetbrains_skia_Canvas__1nGetLocalToDevice SKIKO_EXPORT KInteropPointer org_jetbrains_skia_Canvas__1nGetLocalToDevice
(jlong canvasPtr) { (KNativePointer canvasPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr)); SkCanvas* canvas = reinterpret_cast<SkCanvas*>((canvasPtr));
SkM44 matrix = canvas->getLocalToDevice(); SkM44 matrix = canvas->getLocalToDevice();
std::vector<float> floats(16); std::vector<float> floats(16);
matrix.getRowMajor(floats.data()); matrix.getRowMajor(floats.data());
...@@ -304,90 +303,90 @@ extern "C" jobject org_jetbrains_skia_Canvas__1nGetLocalToDevice ...@@ -304,90 +303,90 @@ extern "C" jobject org_jetbrains_skia_Canvas__1nGetLocalToDevice
#endif #endif
extern "C" void org_jetbrains_skia_Canvas__1nClipRect SKIKO_EXPORT void org_jetbrains_skia_Canvas__1nClipRect
(jlong canvasPtr, jfloat left, jfloat top, jfloat right, jfloat bottom, jint mode, jboolean antiAlias) { (KNativePointer canvasPtr, KFloat left, KFloat top, KFloat right, KFloat bottom, KInt mode, KBoolean antiAlias) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr)); SkCanvas* canvas = reinterpret_cast<SkCanvas*>((canvasPtr));
canvas->clipRect({left, top, right, bottom}, static_cast<SkClipOp>(mode), antiAlias); canvas->clipRect({left, top, right, bottom}, static_cast<SkClipOp>(mode), antiAlias);
} }
extern "C" void org_jetbrains_skia_Canvas__1nClipRRect SKIKO_EXPORT void org_jetbrains_skia_Canvas__1nClipRRect
(jlong canvasPtr, jfloat left, jfloat top, jfloat right, jfloat bottom, jfloatArray jradii, jint jradiiSize, jint mode, jboolean antiAlias) { (KNativePointer canvasPtr, KFloat left, KFloat top, KFloat right, KFloat bottom, KFloat* jradii, KInt jradiiSize, KInt mode, KBoolean antiAlias) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr)); SkCanvas* canvas = reinterpret_cast<SkCanvas*>((canvasPtr));
canvas->clipRRect(skija::RRect::toSkRRect(left, top, right, bottom, jradii, jradiiSize), static_cast<SkClipOp>(mode), antiAlias); canvas->clipRRect(skija::RRect::toSkRRect(left, top, right, bottom, jradii, jradiiSize), static_cast<SkClipOp>(mode), antiAlias);
} }
extern "C" void org_jetbrains_skia_Canvas__1nClipPath SKIKO_EXPORT void org_jetbrains_skia_Canvas__1nClipPath
(jlong canvasPtr, jlong pathPtr, jint mode, jboolean antiAlias) { (KNativePointer canvasPtr, KNativePointer pathPtr, KInt mode, KBoolean antiAlias) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr)); SkCanvas* canvas = reinterpret_cast<SkCanvas*>((canvasPtr));
SkPath* path = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(pathPtr)); SkPath* path = reinterpret_cast<SkPath*>((pathPtr));
canvas->clipPath(*path, static_cast<SkClipOp>(mode), antiAlias); canvas->clipPath(*path, static_cast<SkClipOp>(mode), antiAlias);
} }
extern "C" void org_jetbrains_skia_Canvas__1nClipRegion SKIKO_EXPORT void org_jetbrains_skia_Canvas__1nClipRegion
(jlong canvasPtr, jlong regionPtr, jint mode) { (KNativePointer canvasPtr, KNativePointer regionPtr, KInt mode) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr)); SkCanvas* canvas = reinterpret_cast<SkCanvas*>((canvasPtr));
SkRegion* region = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(regionPtr)); SkRegion* region = reinterpret_cast<SkRegion*>((regionPtr));
canvas->clipRegion(*region, static_cast<SkClipOp>(mode)); canvas->clipRegion(*region, static_cast<SkClipOp>(mode));
} }
extern "C" void org_jetbrains_skia_Canvas__1nConcat SKIKO_EXPORT void org_jetbrains_skia_Canvas__1nConcat
(jlong ptr, jfloatArray matrixArr) { (KNativePointer ptr, KFloat* matrixArr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(ptr)); SkCanvas* canvas = reinterpret_cast<SkCanvas*>((ptr));
std::unique_ptr<SkMatrix> m = skMatrix(matrixArr); std::unique_ptr<SkMatrix> m = skMatrix(matrixArr);
canvas->concat(*m); canvas->concat(*m);
} }
extern "C" void org_jetbrains_skia_Canvas__1nConcat44 SKIKO_EXPORT void org_jetbrains_skia_Canvas__1nConcat44
(jlong ptr, jfloatArray matrixArr) { (KNativePointer ptr, KFloat* matrixArr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(ptr)); SkCanvas* canvas = reinterpret_cast<SkCanvas*>((ptr));
std::unique_ptr<SkM44> m = skM44(matrixArr); std::unique_ptr<SkM44> m = skM44(matrixArr);
canvas->concat(*m); canvas->concat(*m);
} }
extern "C" jint org_jetbrains_skia_Canvas__1nReadPixels SKIKO_EXPORT KInt org_jetbrains_skia_Canvas__1nReadPixels
(jlong ptr, jlong bitmapPtr, jint srcX, jint srcY) { (KNativePointer ptr, KNativePointer bitmapPtr, KInt srcX, KInt srcY) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(ptr)); SkCanvas* canvas = reinterpret_cast<SkCanvas*>((ptr));
SkBitmap* bitmap = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(bitmapPtr)); SkBitmap* bitmap = reinterpret_cast<SkBitmap*>((bitmapPtr));
return canvas->readPixels(*bitmap, srcX, srcY); return canvas->readPixels(*bitmap, srcX, srcY);
} }
extern "C" jint org_jetbrains_skia_Canvas__1nWritePixels SKIKO_EXPORT KInt org_jetbrains_skia_Canvas__1nWritePixels
(jlong ptr, jlong bitmapPtr, jint x, jint y) { (KNativePointer ptr, KNativePointer bitmapPtr, KInt x, KInt y) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(ptr)); SkCanvas* canvas = reinterpret_cast<SkCanvas*>((ptr));
SkBitmap* bitmap = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(bitmapPtr)); SkBitmap* bitmap = reinterpret_cast<SkBitmap*>((bitmapPtr));
return canvas->writePixels(*bitmap, x, y); return canvas->writePixels(*bitmap, x, y);
} }
extern "C" jint org_jetbrains_skia_Canvas__1nSave(jlong ptr) { SKIKO_EXPORT KInt org_jetbrains_skia_Canvas__1nSave(KNativePointer ptr) {
return reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(ptr))->save(); return reinterpret_cast<SkCanvas*>((ptr))->save();
} }
extern "C" jint org_jetbrains_skia_Canvas__1nSaveLayer SKIKO_EXPORT KInt org_jetbrains_skia_Canvas__1nSaveLayer
(jlong ptr, jlong paintPtr) { (KNativePointer ptr, KNativePointer paintPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(ptr)); SkCanvas* canvas = reinterpret_cast<SkCanvas*>((ptr));
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr)); SkPaint* paint = reinterpret_cast<SkPaint*>((paintPtr));
return canvas->saveLayer(nullptr, paint); return canvas->saveLayer(nullptr, paint);
} }
extern "C" jint org_jetbrains_skia_Canvas__1nSaveLayerRect SKIKO_EXPORT KInt org_jetbrains_skia_Canvas__1nSaveLayerRect
(jlong ptr, jfloat left, jfloat top, jfloat right, jfloat bottom, jlong paintPtr) { (KNativePointer ptr, KFloat left, KFloat top, KFloat right, KFloat bottom, KNativePointer paintPtr) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(ptr)); SkCanvas* canvas = reinterpret_cast<SkCanvas*>((ptr));
SkRect bounds {left, top, right, bottom}; SkRect bounds {left, top, right, bottom};
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr)); SkPaint* paint = reinterpret_cast<SkPaint*>((paintPtr));
return canvas->saveLayer(&bounds, paint); return canvas->saveLayer(&bounds, paint);
} }
extern "C" jint org_jetbrains_skia_Canvas__1nGetSaveCount(jlong ptr) { SKIKO_EXPORT KInt org_jetbrains_skia_Canvas__1nGetSaveCount(KNativePointer ptr) {
return reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(ptr))->getSaveCount(); return reinterpret_cast<SkCanvas*>((ptr))->getSaveCount();
} }
extern "C" void org_jetbrains_skia_Canvas__1nRestore(jlong ptr) { SKIKO_EXPORT void org_jetbrains_skia_Canvas__1nRestore(KNativePointer ptr) {
reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(ptr))->restore(); reinterpret_cast<SkCanvas*>((ptr))->restore();
} }
extern "C" void org_jetbrains_skia_Canvas__1nRestoreToCount(jlong ptr, jint saveCount) { SKIKO_EXPORT void org_jetbrains_skia_Canvas__1nRestoreToCount(KNativePointer ptr, KInt saveCount) {
reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(ptr))->restoreToCount(saveCount); reinterpret_cast<SkCanvas*>((ptr))->restoreToCount(saveCount);
} }
...@@ -11,77 +11,77 @@ static void deleteCodec(SkCodec* instance) { ...@@ -11,77 +11,77 @@ static void deleteCodec(SkCodec* instance) {
delete instance; delete instance;
} }
extern "C" jlong org_jetbrains_skia_Codec__1nGetFinalizer() { SKIKO_EXPORT KNativePointer org_jetbrains_skia_Codec__1nGetFinalizer() {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(&deleteCodec)); return reinterpret_cast<KNativePointer>(&deleteCodec);
} }
extern "C" jlong org_jetbrains_skia_Codec__1nMakeFromData SKIKO_EXPORT KNativePointer org_jetbrains_skia_Codec__1nMakeFromData
(jlong dataPtr) { (KNativePointer dataPtr) {
SkData* data = reinterpret_cast<SkData*>(static_cast<uintptr_t>(dataPtr)); SkData* data = reinterpret_cast<SkData*>((dataPtr));
std::unique_ptr<SkCodec> instance = SkCodec::MakeFromData(sk_ref_sp(data)); std::unique_ptr<SkCodec> instance = SkCodec::MakeFromData(sk_ref_sp(data));
return reinterpret_cast<jlong>(instance.release()); return reinterpret_cast<KNativePointer>(instance.release());
} }
extern "C" jobject org_jetbrains_skia_Codec__1nGetImageInfo SKIKO_EXPORT KInteropPointer org_jetbrains_skia_Codec__1nGetImageInfo
(jlong ptr) { (KNativePointer ptr) {
TODO("implement org_jetbrains_skia_Codec__1nGetImageInfo"); TODO("implement org_jetbrains_skia_Codec__1nGetImageInfo");
} }
#if 0 #if 0
extern "C" jobject org_jetbrains_skia_Codec__1nGetImageInfo SKIKO_EXPORT KInteropPointer org_jetbrains_skia_Codec__1nGetImageInfo
(jlong ptr) { (KNativePointer ptr) {
SkCodec* instance = reinterpret_cast<SkCodec*>(static_cast<uintptr_t>(ptr)); SkCodec* instance = reinterpret_cast<SkCodec*>((ptr));
return skija::ImageInfo::toJava(env, instance->getInfo()); return skija::ImageInfo::toJava(env, instance->getInfo());
} }
#endif #endif
extern "C" jlong org_jetbrains_skia_Codec__1nGetSize SKIKO_EXPORT KInt org_jetbrains_skia_Codec__1nGetSize
(jlong ptr) { (KNativePointer ptr) {
SkCodec* instance = reinterpret_cast<SkCodec*>(static_cast<uintptr_t>(ptr)); SkCodec* instance = reinterpret_cast<SkCodec*>((ptr));
return packISize(instance->dimensions()); return packISize(instance->dimensions());
} }
extern "C" jlong org_jetbrains_skia_Codec__1nGetEncodedOrigin SKIKO_EXPORT KInt org_jetbrains_skia_Codec__1nGetEncodedOrigin
(jlong ptr) { (KNativePointer ptr) {
SkCodec* instance = reinterpret_cast<SkCodec*>(static_cast<uintptr_t>(ptr)); SkCodec* instance = reinterpret_cast<SkCodec*>((ptr));
return static_cast<jint>(instance->getOrigin()); return static_cast<KInt>(instance->getOrigin());
} }
extern "C" jlong org_jetbrains_skia_Codec__1nGetEncodedImageFormat SKIKO_EXPORT KInt org_jetbrains_skia_Codec__1nGetEncodedImageFormat
(jlong ptr) { (KNativePointer ptr) {
SkCodec* instance = reinterpret_cast<SkCodec*>(static_cast<uintptr_t>(ptr)); SkCodec* instance = reinterpret_cast<SkCodec*>((ptr));
return static_cast<jint>(instance->getEncodedFormat()); return static_cast<KInt>(instance->getEncodedFormat());
} }
extern "C" jint org_jetbrains_skia_Codec__1nReadPixels SKIKO_EXPORT KInt org_jetbrains_skia_Codec__1nReadPixels
(jlong ptr, jlong bitmapPtr, jint frame, jint priorFrame) { (KNativePointer ptr, KNativePointer bitmapPtr, KInt frame, KInt priorFrame) {
SkCodec* instance = reinterpret_cast<SkCodec*>(static_cast<uintptr_t>(ptr)); SkCodec* instance = reinterpret_cast<SkCodec*>((ptr));
SkBitmap* bitmap = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(bitmapPtr)); SkBitmap* bitmap = reinterpret_cast<SkBitmap*>((bitmapPtr));
SkCodec::Options opts; SkCodec::Options opts;
opts.fFrameIndex = frame; opts.fFrameIndex = frame;
opts.fPriorFrame = priorFrame; opts.fPriorFrame = priorFrame;
SkCodec::Result result = instance->getPixels(bitmap->info(), bitmap->getPixels(), bitmap->rowBytes(), &opts); SkCodec::Result result = instance->getPixels(bitmap->info(), bitmap->getPixels(), bitmap->rowBytes(), &opts);
return static_cast<jint>(result); return static_cast<KInt>(result);
} }
extern "C" jint org_jetbrains_skia_Codec__1nGetFrameCount SKIKO_EXPORT KInt org_jetbrains_skia_Codec__1nGetFrameCount
(jlong ptr) { (KNativePointer ptr) {
SkCodec* instance = reinterpret_cast<SkCodec*>(static_cast<uintptr_t>(ptr)); SkCodec* instance = reinterpret_cast<SkCodec*>((ptr));
return instance->getFrameCount(); return instance->getFrameCount();
} }
extern "C" jobject org_jetbrains_skia_Codec__1nGetFrameInfo SKIKO_EXPORT KInteropPointer org_jetbrains_skia_Codec__1nGetFrameInfo
(jlong ptr, jint frame) { (KNativePointer ptr, KInt frame) {
TODO("implement org_jetbrains_skia_Codec__1nGetFrameInfo"); TODO("implement org_jetbrains_skia_Codec__1nGetFrameInfo");
} }
#if 0 #if 0
extern "C" jobject org_jetbrains_skia_Codec__1nGetFrameInfo SKIKO_EXPORT KInteropPointer org_jetbrains_skia_Codec__1nGetFrameInfo
(jlong ptr, jint frame) { (KNativePointer ptr, KInt frame) {
SkCodec* instance = reinterpret_cast<SkCodec*>(static_cast<uintptr_t>(ptr)); SkCodec* instance = reinterpret_cast<SkCodec*>((ptr));
SkCodec::FrameInfo info; SkCodec::FrameInfo info;
instance->getFrameInfo(frame, &info); instance->getFrameInfo(frame, &info);
return skija::AnimationFrameInfo::toJava(env, info); return skija::AnimationFrameInfo::toJava(env, info);
...@@ -90,22 +90,22 @@ extern "C" jobject org_jetbrains_skia_Codec__1nGetFrameInfo ...@@ -90,22 +90,22 @@ extern "C" jobject org_jetbrains_skia_Codec__1nGetFrameInfo
extern "C" jobject org_jetbrains_skia_Codec__1nGetFramesInfo SKIKO_EXPORT KInteropPointer org_jetbrains_skia_Codec__1nGetFramesInfo
(jlong ptr, jint frame) { (KNativePointer ptr, KInt frame) {
TODO("implement org_jetbrains_skia_Codec__1nGetFramesInfo"); TODO("implement org_jetbrains_skia_Codec__1nGetFramesInfo");
} }
#if 0 #if 0
extern "C" jobject org_jetbrains_skia_Codec__1nGetFramesInfo SKIKO_EXPORT KInteropPointer org_jetbrains_skia_Codec__1nGetFramesInfo
(jlong ptr, jint frame) { (KNativePointer ptr, KInt frame) {
SkCodec* instance = reinterpret_cast<SkCodec*>(static_cast<uintptr_t>(ptr)); SkCodec* instance = reinterpret_cast<SkCodec*>((ptr));
SkCodec::FrameInfo info; SkCodec::FrameInfo info;
std::vector<SkCodec::FrameInfo> frames = instance->getFrameInfo(); std::vector<SkCodec::FrameInfo> frames = instance->getFrameInfo();
jobjectArray res = env->NewObjectArray(frames.size(), skija::AnimationFrameInfo::cls, nullptr); KInteropPointerArray res = env->NewObjectArray(frames.size(), skija::AnimationFrameInfo::cls, nullptr);
if (java::lang::Throwable::exceptionThrown(env)) if (java::lang::Throwable::exceptionThrown(env))
return nullptr; return nullptr;
for (int i = 0; i < frames.size(); ++i) { for (int i = 0; i < frames.size(); ++i) {
skija::AutoLocal<jobject> infoObj(env, skija::AnimationFrameInfo::toJava(env, frames[i])); skija::AutoLocal<KInteropPointer> infoObj(env, skija::AnimationFrameInfo::toJava(env, frames[i]));
env->SetObjectArrayElement(res, i, infoObj.get()); env->SetObjectArrayElement(res, i, infoObj.get());
} }
return res; return res;
...@@ -113,8 +113,8 @@ extern "C" jobject org_jetbrains_skia_Codec__1nGetFramesInfo ...@@ -113,8 +113,8 @@ extern "C" jobject org_jetbrains_skia_Codec__1nGetFramesInfo
#endif #endif
extern "C" jint org_jetbrains_skia_Codec__1nGetRepetitionCount SKIKO_EXPORT KInt org_jetbrains_skia_Codec__1nGetRepetitionCount
(jlong ptr) { (KNativePointer ptr) {
SkCodec* instance = reinterpret_cast<SkCodec*>(static_cast<uintptr_t>(ptr)); SkCodec* instance = reinterpret_cast<SkCodec*>((ptr));
return instance->getRepetitionCount(); return instance->getRepetitionCount();
} }
...@@ -10,128 +10,128 @@ ...@@ -10,128 +10,128 @@
#include "SkTableColorFilter.h" #include "SkTableColorFilter.h"
#include "common.h" #include "common.h"
extern "C" jlong org_jetbrains_skia_ColorFilter__1nMakeComposed SKIKO_EXPORT KNativePointer org_jetbrains_skia_ColorFilter__1nMakeComposed
(jlong outerPtr, jlong innerPtr) { (KNativePointer outerPtr, KNativePointer innerPtr) {
SkColorFilter* outer = reinterpret_cast<SkColorFilter*>(static_cast<uintptr_t>(outerPtr)); SkColorFilter* outer = reinterpret_cast<SkColorFilter*>((outerPtr));
SkColorFilter* inner = reinterpret_cast<SkColorFilter*>(static_cast<uintptr_t>(innerPtr)); SkColorFilter* inner = reinterpret_cast<SkColorFilter*>((innerPtr));
SkColorFilter* ptr = SkColorFilters::Compose(sk_ref_sp(outer), sk_ref_sp(inner)).release(); SkColorFilter* ptr = SkColorFilters::Compose(sk_ref_sp(outer), sk_ref_sp(inner)).release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
extern "C" jlong org_jetbrains_skia_ColorFilter__1nMakeBlend SKIKO_EXPORT KNativePointer org_jetbrains_skia_ColorFilter__1nMakeBlend
(jint colorInt, jint modeInt) { (KInt colorInt, KInt modeInt) {
SkColor color = static_cast<SkColor>(colorInt); SkColor color = static_cast<SkColor>(colorInt);
SkBlendMode mode = static_cast<SkBlendMode>(modeInt); SkBlendMode mode = static_cast<SkBlendMode>(modeInt);
SkColorFilter* ptr = SkColorFilters::Blend(color, mode).release(); SkColorFilter* ptr = SkColorFilters::Blend(color, mode).release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
extern "C" jlong org_jetbrains_skia_ColorFilter__1nMakeMatrix SKIKO_EXPORT KNativePointer org_jetbrains_skia_ColorFilter__1nMakeMatrix
(jfloatArray rowMajorArray) { (KFloat* rowMajorArray) {
TODO("implement org_jetbrains_skia_ColorFilter__1nMakeMatrix"); TODO("implement org_jetbrains_skia_ColorFilter__1nMakeMatrix");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_ColorFilter__1nMakeMatrix SKIKO_EXPORT KNativePointer org_jetbrains_skia_ColorFilter__1nMakeMatrix
(jfloatArray rowMajorArray) { (KFloat* rowMajorArray) {
jfloat* rowMajor = env->GetFloatArrayElements(rowMajorArray, 0); KFloat* rowMajor = env->GetFloatArrayElements(rowMajorArray, 0);
SkColorFilter* ptr = SkColorFilters::Matrix(rowMajor).release(); SkColorFilter* ptr = SkColorFilters::Matrix(rowMajor).release();
env->ReleaseFloatArrayElements(rowMajorArray, rowMajor, 0); env->ReleaseFloatArrayElements(rowMajorArray, rowMajor, 0);
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
#endif #endif
extern "C" jlong org_jetbrains_skia_ColorFilter__1nMakeHSLAMatrix SKIKO_EXPORT KNativePointer org_jetbrains_skia_ColorFilter__1nMakeHSLAMatrix
(jfloatArray rowMajorArray) { (KFloat* rowMajorArray) {
TODO("implement org_jetbrains_skia_ColorFilter__1nMakeHSLAMatrix"); TODO("implement org_jetbrains_skia_ColorFilter__1nMakeHSLAMatrix");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_ColorFilter__1nMakeHSLAMatrix SKIKO_EXPORT KNativePointer org_jetbrains_skia_ColorFilter__1nMakeHSLAMatrix
(jfloatArray rowMajorArray) { (KFloat* rowMajorArray) {
jfloat* rowMajor = env->GetFloatArrayElements(rowMajorArray, 0); KFloat* rowMajor = env->GetFloatArrayElements(rowMajorArray, 0);
SkColorFilter* ptr = SkColorFilters::HSLAMatrix(rowMajor).release(); SkColorFilter* ptr = SkColorFilters::HSLAMatrix(rowMajor).release();
env->ReleaseFloatArrayElements(rowMajorArray, rowMajor, 0); env->ReleaseFloatArrayElements(rowMajorArray, rowMajor, 0);
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
#endif #endif
extern "C" jlong org_jetbrains_skia_ColorFilter__1nGetLinearToSRGBGamma SKIKO_EXPORT KNativePointer org_jetbrains_skia_ColorFilter__1nGetLinearToSRGBGamma
() { () {
SkColorFilter* ptr = SkColorFilters::LinearToSRGBGamma().release(); SkColorFilter* ptr = SkColorFilters::LinearToSRGBGamma().release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
extern "C" jlong org_jetbrains_skia_ColorFilter__1nGetSRGBToLinearGamma SKIKO_EXPORT KNativePointer org_jetbrains_skia_ColorFilter__1nGetSRGBToLinearGamma
() { () {
SkColorFilter* ptr = SkColorFilters::SRGBToLinearGamma().release(); SkColorFilter* ptr = SkColorFilters::SRGBToLinearGamma().release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
extern "C" jlong org_jetbrains_skia_ColorFilter__1nMakeLerp SKIKO_EXPORT KNativePointer org_jetbrains_skia_ColorFilter__1nMakeLerp
(jfloat t, jlong dstPtr, jlong srcPtr) { (KFloat t, KNativePointer dstPtr, KNativePointer srcPtr) {
SkColorFilter* dst = reinterpret_cast<SkColorFilter*>(static_cast<uintptr_t>(dstPtr)); SkColorFilter* dst = reinterpret_cast<SkColorFilter*>((dstPtr));
SkColorFilter* src = reinterpret_cast<SkColorFilter*>(static_cast<uintptr_t>(srcPtr)); SkColorFilter* src = reinterpret_cast<SkColorFilter*>((srcPtr));
SkColorFilter* ptr = SkColorFilters::Lerp(t, sk_ref_sp(dst), sk_ref_sp(src)).release(); SkColorFilter* ptr = SkColorFilters::Lerp(t, sk_ref_sp(dst), sk_ref_sp(src)).release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
extern "C" jlong org_jetbrains_skia_ColorFilter__1nMakeLighting SKIKO_EXPORT KNativePointer org_jetbrains_skia_ColorFilter__1nMakeLighting
(jint mul, jint add) { (KInt mul, KInt add) {
SkColorFilter* ptr = SkColorMatrixFilter::MakeLightingFilter(mul, add).release(); SkColorFilter* ptr = SkColorMatrixFilter::MakeLightingFilter(mul, add).release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
extern "C" jlong org_jetbrains_skia_ColorFilter__1nMakeHighContrast SKIKO_EXPORT KNativePointer org_jetbrains_skia_ColorFilter__1nMakeHighContrast
(jboolean grayscale, jint inverionModeInt, jfloat contrast) { (KBoolean grayscale, KInt inverionModeInt, KFloat contrast) {
SkHighContrastConfig config(grayscale, static_cast<SkHighContrastConfig::InvertStyle>(inverionModeInt), contrast); SkHighContrastConfig config(grayscale, static_cast<SkHighContrastConfig::InvertStyle>(inverionModeInt), contrast);
SkColorFilter* ptr = SkHighContrastFilter::Make(config).release(); SkColorFilter* ptr = SkHighContrastFilter::Make(config).release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
extern "C" jlong org_jetbrains_skia_ColorFilter__1nMakeTable SKIKO_EXPORT KNativePointer org_jetbrains_skia_ColorFilter__1nMakeTable
(jbyteArray tableArray) { (KByte* tableArray) {
TODO("implement org_jetbrains_skia_ColorFilter__1nMakeTable"); TODO("implement org_jetbrains_skia_ColorFilter__1nMakeTable");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_ColorFilter__1nMakeTable SKIKO_EXPORT KNativePointer org_jetbrains_skia_ColorFilter__1nMakeTable
(jbyteArray tableArray) { (KByte* tableArray) {
jbyte* table = env->GetByteArrayElements(tableArray, 0); KByte* table = env->GetByteArrayElements(tableArray, 0);
SkColorFilter* ptr = SkTableColorFilter::Make(reinterpret_cast<uint8_t*>(table)).release(); SkColorFilter* ptr = SkTableColorFilter::Make(reinterpret_cast<uint8_t*>(table)).release();
env->ReleaseByteArrayElements(tableArray, table, 0); env->ReleaseByteArrayElements(tableArray, table, 0);
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
#endif #endif
typedef void* KPointer; typedef void* KInteropPointer;
extern "C" KPointer org_jetbrains_skia_ColorFilter__nMakeTableARGB SKIKO_EXPORT KInteropPointer org_jetbrains_skia_ColorFilter__nMakeTableARGB
(uint8_t* arrayA, (uint8_t* arrayA,
jint arrayASize, KInt arrayASize,
uint8_t* arrayR, uint8_t* arrayR,
jint arrayRSize, KInt arrayRSize,
uint8_t* arrayG, uint8_t* arrayG,
jint arrayGSize, KInt arrayGSize,
uint8_t* arrayB, uint8_t* arrayB,
jint arrayBSize KInt arrayBSize
) { ) {
SkColorFilter* ptr = SkTableColorFilter::MakeARGB(arrayA, arrayR, arrayG, arrayB).release(); SkColorFilter* ptr = SkTableColorFilter::MakeARGB(arrayA, arrayR, arrayG, arrayB).release();
return ptr; return ptr;
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_ColorFilter__1nMakeTableARGB SKIKO_EXPORT KNativePointer org_jetbrains_skia_ColorFilter__1nMakeTableARGB
(jbyteArray arrayA, jbyteArray arrayR, jbyteArray arrayG, jbyteArray arrayB) { (KByte* arrayA, KByte* arrayR, KByte* arrayG, KByte* arrayB) {
jbyte* a = arrayA ? env->GetByteArrayElements(arrayA, 0) : nullptr; KByte* a = arrayA ? env->GetByteArrayElements(arrayA, 0) : nullptr;
jbyte* r = arrayR ? env->GetByteArrayElements(arrayR, 0) : nullptr; KByte* r = arrayR ? env->GetByteArrayElements(arrayR, 0) : nullptr;
jbyte* g = arrayG ? env->GetByteArrayElements(arrayG, 0) : nullptr; KByte* g = arrayG ? env->GetByteArrayElements(arrayG, 0) : nullptr;
jbyte* b = arrayB ? env->GetByteArrayElements(arrayB, 0) : nullptr; KByte* 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(); 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();
...@@ -140,13 +140,13 @@ extern "C" jlong org_jetbrains_skia_ColorFilter__1nMakeTableARGB ...@@ -140,13 +140,13 @@ extern "C" jlong org_jetbrains_skia_ColorFilter__1nMakeTableARGB
if (arrayG) env->ReleaseByteArrayElements(arrayG, g, 0); if (arrayG) env->ReleaseByteArrayElements(arrayG, g, 0);
if (arrayB) env->ReleaseByteArrayElements(arrayB, b, 0); if (arrayB) env->ReleaseByteArrayElements(arrayB, b, 0);
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
#endif #endif
extern "C" jlong org_jetbrains_skia_ColorFilter__1nMakeOverdraw SKIKO_EXPORT KNativePointer org_jetbrains_skia_ColorFilter__1nMakeOverdraw
(jint c0, jint c1, jint c2, jint c3, jint c4, jint c5) { (KInt c0, KInt c1, KInt c2, KInt c3, KInt c4, KInt c5) {
SkColor colors[6]; SkColor colors[6];
colors[0] = c0; colors[0] = c0;
colors[1] = c1; colors[1] = c1;
...@@ -155,11 +155,11 @@ extern "C" jlong org_jetbrains_skia_ColorFilter__1nMakeOverdraw ...@@ -155,11 +155,11 @@ extern "C" jlong org_jetbrains_skia_ColorFilter__1nMakeOverdraw
colors[4] = c4; colors[4] = c4;
colors[5] = c5; colors[5] = c5;
SkColorFilter* ptr = SkOverdrawColorFilter::MakeWithSkColors(colors).release(); SkColorFilter* ptr = SkOverdrawColorFilter::MakeWithSkColors(colors).release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
extern "C" jlong org_jetbrains_skia_ColorFilter__1nGetLuma SKIKO_EXPORT KNativePointer org_jetbrains_skia_ColorFilter__1nGetLuma
() { () {
SkColorFilter* ptr = SkLumaColorFilter::Make().release(); SkColorFilter* ptr = SkLumaColorFilter::Make().release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
...@@ -10,30 +10,30 @@ static void unrefColorSpace(SkColorSpace* ptr) { ...@@ -10,30 +10,30 @@ static void unrefColorSpace(SkColorSpace* ptr) {
ptr->unref(); ptr->unref();
} }
extern "C" jlong org_jetbrains_skia_ColorSpace__1nGetFinalizer() { SKIKO_EXPORT KNativePointer org_jetbrains_skia_ColorSpace__1nGetFinalizer() {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(&unrefColorSpace)); return reinterpret_cast<KNativePointer>((&unrefColorSpace));
} }
extern "C" jlong org_jetbrains_skia_ColorSpace__1nMakeSRGB() { SKIKO_EXPORT KNativePointer org_jetbrains_skia_ColorSpace__1nMakeSRGB() {
SkColorSpace* ptr = SkColorSpace::MakeSRGB().release(); SkColorSpace* ptr = SkColorSpace::MakeSRGB().release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
extern "C" jlong org_jetbrains_skia_ColorSpace__1nMakeSRGBLinear() { SKIKO_EXPORT KNativePointer org_jetbrains_skia_ColorSpace__1nMakeSRGBLinear() {
SkColorSpace* ptr = SkColorSpace::MakeSRGBLinear().release(); SkColorSpace* ptr = SkColorSpace::MakeSRGBLinear().release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
extern "C" jlong org_jetbrains_skia_ColorSpace__1nMakeDisplayP3() { SKIKO_EXPORT KNativePointer org_jetbrains_skia_ColorSpace__1nMakeDisplayP3() {
SkColorSpace* ptr = SkColorSpace::MakeRGB(SkNamedTransferFn::kSRGB, SkNamedGamut::kDisplayP3).release(); SkColorSpace* ptr = SkColorSpace::MakeRGB(SkNamedTransferFn::kSRGB, SkNamedGamut::kDisplayP3).release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
extern "C" void org_jetbrains_skia_ColorSpace__nConvert( SKIKO_EXPORT void org_jetbrains_skia_ColorSpace__nConvert(
jlong fromPtr, jlong toPtr, float r, float g, float b, float a, float* result) { KNativePointer fromPtr, KNativePointer toPtr, float r, float g, float b, float a, float* result) {
SkColorSpace* from = reinterpret_cast<SkColorSpace*>(static_cast<uintptr_t>(fromPtr)); SkColorSpace* from = reinterpret_cast<SkColorSpace*>((fromPtr));
SkColorSpace* to = reinterpret_cast<SkColorSpace*>(static_cast<uintptr_t>(toPtr)); SkColorSpace* to = reinterpret_cast<SkColorSpace*>((toPtr));
skcms_TransferFunction fromFn; skcms_TransferFunction fromFn;
from->transferFn(&fromFn); from->transferFn(&fromFn);
...@@ -48,20 +48,20 @@ extern "C" void org_jetbrains_skia_ColorSpace__nConvert( ...@@ -48,20 +48,20 @@ extern "C" void org_jetbrains_skia_ColorSpace__nConvert(
} }
extern "C" jlong org_jetbrains_skia_ColorSpace__1nIsGammaCloseToSRGB SKIKO_EXPORT KBoolean org_jetbrains_skia_ColorSpace__1nIsGammaCloseToSRGB
(jlong ptr) { (KNativePointer ptr) {
SkColorSpace* instance = reinterpret_cast<SkColorSpace*>(static_cast<uintptr_t>(ptr)); SkColorSpace* instance = reinterpret_cast<SkColorSpace*>((ptr));
return instance->gammaCloseToSRGB(); return instance->gammaCloseToSRGB();
} }
extern "C" jlong org_jetbrains_skia_ColorSpace__1nIsGammaLinear SKIKO_EXPORT KBoolean org_jetbrains_skia_ColorSpace__1nIsGammaLinear
(jlong ptr) { (KNativePointer ptr) {
SkColorSpace* instance = reinterpret_cast<SkColorSpace*>(static_cast<uintptr_t>(ptr)); SkColorSpace* instance = reinterpret_cast<SkColorSpace*>((ptr));
return instance->gammaIsLinear(); return instance->gammaIsLinear();
} }
extern "C" jlong org_jetbrains_skia_ColorSpace__1nIsSRGB SKIKO_EXPORT KBoolean org_jetbrains_skia_ColorSpace__1nIsSRGB
(jlong ptr) { (KNativePointer ptr) {
SkColorSpace* instance = reinterpret_cast<SkColorSpace*>(static_cast<uintptr_t>(ptr)); SkColorSpace* instance = reinterpret_cast<SkColorSpace*>((ptr));
return instance->isSRGB(); return instance->isSRGB();
} }
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
#include "SkImageInfo.h" #include "SkImageInfo.h"
#include "common.h" #include "common.h"
extern "C" jlong org_jetbrains_skia_ColorType__1nIsAlwaysOpaque SKIKO_EXPORT KBoolean org_jetbrains_skia_ColorType__1nIsAlwaysOpaque
(jint value) { (KInt value) {
return SkColorTypeIsAlwaysOpaque(static_cast<SkColorType>(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();
}
SKIKO_EXPORT KNativePointer org_jetbrains_skia_Data__1nGetFinalizer(){
return reinterpret_cast<KNativePointer>((&deleteData));
}
SKIKO_EXPORT KInt org_jetbrains_skia_Data__1nSize
(KNativePointer ptr) {
SkData* instance = reinterpret_cast<SkData*>((ptr));
return instance->size();
}
SKIKO_EXPORT KInteropPointer org_jetbrains_skia_Data__1nToByteBuffer
(KNativePointer ptr) {
TODO("implement org_jetbrains_skia_Data__1nToByteBuffer");
}
#if 0
SKIKO_EXPORT KInteropPointer org_jetbrains_skia_Data__1nToByteBuffer
(KNativePointer ptr) {
SkData* instance = reinterpret_cast<SkData*>((ptr));
return env->NewDirectByteBuffer(instance->writable_data(), instance->size());
}
#endif
SKIKO_EXPORT KByte* org_jetbrains_skia_Data__1nBytes
(KNativePointer ptr, KNativePointer offset, KNativePointer length) {
TODO("implement org_jetbrains_skia_Data__1nBytes");
}
SKIKO_EXPORT KBoolean org_jetbrains_skia_Data__1nEquals
(KNativePointer ptr, KNativePointer otherPtr) {
SkData* instance = reinterpret_cast<SkData*>((ptr));
SkData* other = reinterpret_cast<SkData*>((otherPtr));
return instance->equals(other);
}
SKIKO_EXPORT KNativePointer org_jetbrains_skia_Data__1nMakeFromBytes
(KByte* bytesArray, KNativePointer offset, KNativePointer length) {
TODO("implement org_jetbrains_skia_Data__1nMakeFromBytes");
}
SKIKO_EXPORT KNativePointer org_jetbrains_skia_Data__1nMakeFromFileName
(KInteropPointer pathStr) {
TODO("implement org_jetbrains_skia_Data__1nMakeFromFileName");
}
SKIKO_EXPORT KNativePointer org_jetbrains_skia_Data__1nMakeSubset
(KNativePointer ptr, KInt offset, KInt length) {
SkData* instance = reinterpret_cast<SkData*>((ptr));
SkData* subset = SkData::MakeSubset(instance, offset, length).release();
return reinterpret_cast<KNativePointer>(subset);
}
SKIKO_EXPORT KNativePointer org_jetbrains_skia_Data__1nMakeEmpty() {
SkData* instance = SkData::MakeEmpty().release();
return reinterpret_cast<KNativePointer>(instance);
}
\ No newline at end of file
// This file has been auto generated. // This file has been auto generated.
#ifndef SKIKO_WASM
#include <iostream> #include <iostream>
#include "GrDirectContext.h" #include "GrDirectContext.h"
#include "mtl/GrMtlBackendContext.h" #include "mtl/GrMtlBackendContext.h"
#include "common.h" #include "common.h"
extern "C" jlong org_jetbrains_skia_DirectContext__1nMakeGL SKIKO_EXPORT KNativePointer org_jetbrains_skia_DirectContext__1nMakeGL
() { () {
return reinterpret_cast<jlong>(GrDirectContext::MakeGL().release()); return reinterpret_cast<KNativePointer>(GrDirectContext::MakeGL().release());
} }
extern "C" jlong org_jetbrains_skia_DirectContext__1nMakeMetal SKIKO_EXPORT KNativePointer org_jetbrains_skia_DirectContext__1nMakeMetal
(long devicePtr, long queuePtr) { (long devicePtr, long queuePtr) {
GrMtlBackendContext backendContext = {}; GrMtlBackendContext backendContext = {};
GrMTLHandle device = reinterpret_cast<GrMTLHandle>(static_cast<uintptr_t>(devicePtr)); GrMTLHandle device = reinterpret_cast<GrMTLHandle>((devicePtr));
GrMTLHandle queue = reinterpret_cast<GrMTLHandle>(static_cast<uintptr_t>(queuePtr)); GrMTLHandle queue = reinterpret_cast<GrMTLHandle>((queuePtr));
backendContext.fDevice.retain(device); backendContext.fDevice.retain(device);
backendContext.fQueue.retain(queue); backendContext.fQueue.retain(queue);
sk_sp<GrDirectContext> instance = GrDirectContext::MakeMetal(backendContext); sk_sp<GrDirectContext> instance = GrDirectContext::MakeMetal(backendContext);
return reinterpret_cast<jlong>(instance.release()); return reinterpret_cast<KNativePointer>(instance.release());
} }
extern "C" jlong org_jetbrains_skia_DirectContext__1nMakeDirect3D SKIKO_EXPORT KNativePointer org_jetbrains_skia_DirectContext__1nMakeDirect3D
(jlong adapterPtr, jlong devicePtr, jlong queuePtr) { (KNativePointer adapterPtr, KNativePointer devicePtr, KNativePointer queuePtr) {
TODO("implement org_jetbrains_skia_DirectContext__1nMakeDirect3D"); TODO("implement org_jetbrains_skia_DirectContext__1nMakeDirect3D");
} }
#if 0 SKIKO_EXPORT void org_jetbrains_skia_DirectContext__1nFlush
extern "C" jlong org_jetbrains_skia_DirectContext__1nMakeDirect3D (KNativePointer ptr) {
(jlong adapterPtr, jlong devicePtr, jlong queuePtr) { GrDirectContext* context = reinterpret_cast<GrDirectContext*>((ptr));
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
(jlong ptr) {
GrDirectContext* context = reinterpret_cast<GrDirectContext*>(static_cast<uintptr_t>(ptr));
context->flush(GrFlushInfo()); context->flush(GrFlushInfo());
} }
extern "C" void org_jetbrains_skia_DirectContext__1nSubmit SKIKO_EXPORT void org_jetbrains_skia_DirectContext__1nSubmit
(jlong ptr, jboolean syncCpu) { (KNativePointer ptr, KBoolean syncCpu) {
GrDirectContext* context = reinterpret_cast<GrDirectContext*>(static_cast<uintptr_t>(ptr)); GrDirectContext* context = reinterpret_cast<GrDirectContext*>((ptr));
context->submit(syncCpu); context->submit(syncCpu);
} }
extern "C" void org_jetbrains_skia_DirectContext__1nReset SKIKO_EXPORT void org_jetbrains_skia_DirectContext__1nReset
(jlong ptr, jint flags) { (KNativePointer ptr, KInt flags) {
GrDirectContext* context = reinterpret_cast<GrDirectContext*>(static_cast<uintptr_t>(ptr)); GrDirectContext* context = reinterpret_cast<GrDirectContext*>((ptr));
context->resetContext((uint32_t) flags); context->resetContext((uint32_t) flags);
} }
extern "C" void org_jetbrains_skia_DirectContext__1nAbandon SKIKO_EXPORT void org_jetbrains_skia_DirectContext__1nAbandon
(jlong ptr, jint flags) { (KNativePointer ptr, KInt flags) {
GrDirectContext* context = reinterpret_cast<GrDirectContext*>(static_cast<uintptr_t>(ptr)); GrDirectContext* context = reinterpret_cast<GrDirectContext*>((ptr));
context->abandonContext(); context->abandonContext();
} }
#endif
\ No newline at end of file
...@@ -6,46 +6,46 @@ ...@@ -6,46 +6,46 @@
#include "common.h" #include "common.h"
extern "C" jlong org_jetbrains_skia_Drawable__1nMake SKIKO_EXPORT KNativePointer org_jetbrains_skia_Drawable__1nMake
() { (){
TODO("implement org_jetbrains_skia_Drawable__1nMake"); TODO("implement org_jetbrains_skia_Drawable__1nMake");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_Drawable__1nMake SKIKO_EXPORT KNativePointer org_jetbrains_skia_Drawable__1nMake
() { (){
SkijaDrawableImpl* instance = new SkijaDrawableImpl(); SkijaDrawableImpl* instance = new SkijaDrawableImpl();
return reinterpret_cast<jlong>(instance); return reinterpret_cast<KNativePointer>(instance);
} }
#endif #endif
extern "C" void org_jetbrains_skia_Drawable__1nInit SKIKO_EXPORT void org_jetbrains_skia_Drawable__1nInit
(jlong ptr) { (KNativePointer ptr) {
TODO("implement org_jetbrains_skia_Drawable__1nInit"); TODO("implement org_jetbrains_skia_Drawable__1nInit");
} }
#if 0 #if 0
extern "C" void org_jetbrains_skia_Drawable__1nInit SKIKO_EXPORT void org_jetbrains_skia_Drawable__1nInit
(jlong ptr) { (KNativePointer ptr) {
SkijaDrawableImpl* instance = reinterpret_cast<SkijaDrawableImpl*>(static_cast<uintptr_t>(ptr)); SkijaDrawableImpl* instance = reinterpret_cast<SkijaDrawableImpl*>((ptr));
instance->init(env, jthis); instance->init(env, jthis);
} }
#endif #endif
extern "C" void org_jetbrains_skia_Drawable__1nDraw SKIKO_EXPORT void org_jetbrains_skia_Drawable__1nDraw
(jlong ptr, jlong canvasPtr, jfloatArray matrixArr) { (KNativePointer ptr, KNativePointer canvasPtr, KFloat* matrixArr) {
TODO("implement org_jetbrains_skia_Drawable__1nDraw"); TODO("implement org_jetbrains_skia_Drawable__1nDraw");
} }
#if 0 #if 0
extern "C" void org_jetbrains_skia_Drawable__1nDraw SKIKO_EXPORT void org_jetbrains_skia_Drawable__1nDraw
(jlong ptr, jlong canvasPtr, jfloatArray matrixArr) { (KNativePointer ptr, KNativePointer canvasPtr, KFloat* matrixArr) {
SkijaDrawableImpl* instance = reinterpret_cast<SkijaDrawableImpl*>(static_cast<uintptr_t>(ptr)); SkijaDrawableImpl* instance = reinterpret_cast<SkijaDrawableImpl*>((ptr));
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr)); SkCanvas* canvas = reinterpret_cast<SkCanvas*>((canvasPtr));
std::unique_ptr<SkMatrix> matrix = skMatrix(env, matrixArr); std::unique_ptr<SkMatrix> matrix = skMatrix(env, matrixArr);
instance->draw(canvas, matrix.get()); instance->draw(canvas, matrix.get());
} }
...@@ -53,45 +53,45 @@ extern "C" void org_jetbrains_skia_Drawable__1nDraw ...@@ -53,45 +53,45 @@ extern "C" void org_jetbrains_skia_Drawable__1nDraw
extern "C" jlong org_jetbrains_skia_Drawable__1nMakePictureSnapshot SKIKO_EXPORT KNativePointer org_jetbrains_skia_Drawable__1nMakePictureSnapshot
(jlong ptr) { (KNativePointer ptr) {
TODO("implement org_jetbrains_skia_Drawable__1nMakePictureSnapshot"); TODO("implement org_jetbrains_skia_Drawable__1nMakePictureSnapshot");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_Drawable__1nMakePictureSnapshot SKIKO_EXPORT KNativePointer org_jetbrains_skia_Drawable__1nMakePictureSnapshot
(jlong ptr) { (KNativePointer ptr) {
SkijaDrawableImpl* instance = reinterpret_cast<SkijaDrawableImpl*>(static_cast<uintptr_t>(ptr)); SkijaDrawableImpl* instance = reinterpret_cast<SkijaDrawableImpl*>((ptr));
return reinterpret_cast<jlong>(instance->newPictureSnapshot()); return reinterpret_cast<KNativePointer>(instance->newPictureSnapshot());
} }
#endif #endif
extern "C" jint org_jetbrains_skia_Drawable__1nGetGenerationId SKIKO_EXPORT KInt org_jetbrains_skia_Drawable__1nGetGenerationId
(jlong ptr) { (KNativePointer ptr) {
TODO("implement org_jetbrains_skia_Drawable__1nGetGenerationId"); TODO("implement org_jetbrains_skia_Drawable__1nGetGenerationId");
} }
#if 0 #if 0
extern "C" jint org_jetbrains_skia_Drawable__1nGetGenerationId SKIKO_EXPORT KInt org_jetbrains_skia_Drawable__1nGetGenerationId
(jlong ptr) { (KNativePointer ptr) {
SkijaDrawableImpl* instance = reinterpret_cast<SkijaDrawableImpl*>(static_cast<uintptr_t>(ptr)); SkijaDrawableImpl* instance = reinterpret_cast<SkijaDrawableImpl*>((ptr));
return instance->getGenerationID(); return instance->getGenerationID();
} }
#endif #endif
extern "C" void org_jetbrains_skia_Drawable__1nNotifyDrawingChanged SKIKO_EXPORT void org_jetbrains_skia_Drawable__1nNotifyDrawingChanged
(jlong ptr) { (KNativePointer ptr) {
TODO("implement org_jetbrains_skia_Drawable__1nNotifyDrawingChanged"); TODO("implement org_jetbrains_skia_Drawable__1nNotifyDrawingChanged");
} }
#if 0 #if 0
extern "C" void org_jetbrains_skia_Drawable__1nNotifyDrawingChanged SKIKO_EXPORT void org_jetbrains_skia_Drawable__1nNotifyDrawingChanged
(jlong ptr) { (KNativePointer ptr) {
SkijaDrawableImpl* instance = reinterpret_cast<SkijaDrawableImpl*>(static_cast<uintptr_t>(ptr)); SkijaDrawableImpl* instance = reinterpret_cast<SkijaDrawableImpl*>((ptr));
return instance->notifyDrawingChanged(); return instance->notifyDrawingChanged();
} }
#endif #endif
......
...@@ -11,220 +11,220 @@ static void deleteFont(SkFont* font) { ...@@ -11,220 +11,220 @@ static void deleteFont(SkFont* font) {
delete font; delete font;
} }
extern "C" jlong org_jetbrains_skia_Font__1nGetFinalizer SKIKO_EXPORT KNativePointer org_jetbrains_skia_Font__1nGetFinalizer
() { () {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(&deleteFont)); return reinterpret_cast<KNativePointer>((&deleteFont));
} }
extern "C" jlong org_jetbrains_skia_Font__1nMakeDefault SKIKO_EXPORT KNativePointer org_jetbrains_skia_Font__1nMakeDefault
() { () {
SkFont* obj = new SkFont(); SkFont* obj = new SkFont();
return reinterpret_cast<jlong>(obj); return reinterpret_cast<KNativePointer>(obj);
} }
extern "C" jlong org_jetbrains_skia_Font__1nMakeTypeface SKIKO_EXPORT KNativePointer org_jetbrains_skia_Font__1nMakeTypeface
(jlong typefacePtr) { (KNativePointer typefacePtr) {
SkTypeface* typeface = reinterpret_cast<SkTypeface*>(static_cast<uintptr_t>(typefacePtr)); SkTypeface* typeface = reinterpret_cast<SkTypeface*>((typefacePtr));
SkFont* obj = new SkFont(sk_ref_sp<SkTypeface>(typeface)); SkFont* obj = new SkFont(sk_ref_sp<SkTypeface>(typeface));
return reinterpret_cast<jlong>(obj); return reinterpret_cast<KNativePointer>(obj);
} }
extern "C" jlong org_jetbrains_skia_Font__1nMakeTypefaceSize SKIKO_EXPORT KNativePointer org_jetbrains_skia_Font__1nMakeTypefaceSize
(jlong typefacePtr, jfloat size) { (KNativePointer typefacePtr, KFloat size) {
SkTypeface* typeface = reinterpret_cast<SkTypeface*>(static_cast<uintptr_t>(typefacePtr)); SkTypeface* typeface = reinterpret_cast<SkTypeface*>((typefacePtr));
SkFont* obj = new SkFont(sk_ref_sp<SkTypeface>(typeface), size); SkFont* obj = new SkFont(sk_ref_sp<SkTypeface>(typeface), size);
return reinterpret_cast<jlong>(obj); return reinterpret_cast<KNativePointer>(obj);
} }
extern "C" jlong org_jetbrains_skia_Font__1nMakeTypefaceSizeScaleSkew SKIKO_EXPORT KNativePointer org_jetbrains_skia_Font__1nMakeTypefaceSizeScaleSkew
(jlong typefacePtr, jfloat size, jfloat scaleX, jfloat skewX) { (KNativePointer typefacePtr, KFloat size, KFloat scaleX, KFloat skewX) {
SkTypeface* typeface = reinterpret_cast<SkTypeface*>(static_cast<uintptr_t>(typefacePtr)); SkTypeface* typeface = reinterpret_cast<SkTypeface*>((typefacePtr));
SkFont* obj = new SkFont(sk_ref_sp<SkTypeface>(typeface), size, scaleX, skewX); SkFont* obj = new SkFont(sk_ref_sp<SkTypeface>(typeface), size, scaleX, skewX);
return reinterpret_cast<jlong>(obj); return reinterpret_cast<KNativePointer>(obj);
} }
extern "C" jlong org_jetbrains_skia_Font__1nMakeClone SKIKO_EXPORT KNativePointer org_jetbrains_skia_Font__1nMakeClone
(jlong ptr) { (KNativePointer ptr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
SkFont* clone = new SkFont(*instance); SkFont* clone = new SkFont(*instance);
return reinterpret_cast<jlong>(clone); return reinterpret_cast<KNativePointer>(clone);
} }
extern "C" jboolean org_jetbrains_skia_Font__1nEquals SKIKO_EXPORT KBoolean org_jetbrains_skia_Font__1nEquals
(jlong ptr, jlong otherPtr) { (KNativePointer ptr, KNativePointer otherPtr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
SkFont* other = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(otherPtr)); SkFont* other = reinterpret_cast<SkFont*>((otherPtr));
return *instance == *other; return *instance == *other;
} }
extern "C" jboolean org_jetbrains_skia_Font__1nIsAutoHintingForced SKIKO_EXPORT KBoolean org_jetbrains_skia_Font__1nIsAutoHintingForced
(jlong ptr) { (KNativePointer ptr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
return instance->isForceAutoHinting(); return instance->isForceAutoHinting();
} }
extern "C" jboolean org_jetbrains_skia_Font__1nAreBitmapsEmbedded SKIKO_EXPORT KBoolean org_jetbrains_skia_Font__1nAreBitmapsEmbedded
(jlong ptr) { (KNativePointer ptr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
return instance->isEmbeddedBitmaps(); return instance->isEmbeddedBitmaps();
} }
extern "C" jboolean org_jetbrains_skia_Font__1nIsSubpixel SKIKO_EXPORT KBoolean org_jetbrains_skia_Font__1nIsSubpixel
(jlong ptr) { (KNativePointer ptr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
return instance->isSubpixel(); return instance->isSubpixel();
} }
extern "C" jboolean org_jetbrains_skia_Font__1nAreMetricsLinear SKIKO_EXPORT KBoolean org_jetbrains_skia_Font__1nAreMetricsLinear
(jlong ptr) { (KNativePointer ptr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
return instance->isLinearMetrics(); return instance->isLinearMetrics();
} }
extern "C" jboolean org_jetbrains_skia_Font__1nIsEmboldened SKIKO_EXPORT KBoolean org_jetbrains_skia_Font__1nIsEmboldened
(jlong ptr) { (KNativePointer ptr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
return instance->isEmbolden(); return instance->isEmbolden();
} }
extern "C" jboolean org_jetbrains_skia_Font__1nIsBaselineSnapped SKIKO_EXPORT KBoolean org_jetbrains_skia_Font__1nIsBaselineSnapped
(jlong ptr) { (KNativePointer ptr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
return instance->isBaselineSnap(); return instance->isBaselineSnap();
} }
extern "C" void org_jetbrains_skia_Font__1nSetAutoHintingForced SKIKO_EXPORT void org_jetbrains_skia_Font__1nSetAutoHintingForced
(jlong ptr, jboolean value) { (KNativePointer ptr, KBoolean value) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
instance->setForceAutoHinting(value); instance->setForceAutoHinting(value);
} }
extern "C" void org_jetbrains_skia_Font__1nSetBitmapsEmbedded SKIKO_EXPORT void org_jetbrains_skia_Font__1nSetBitmapsEmbedded
(jlong ptr, jboolean value) { (KNativePointer ptr, KBoolean value) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
instance->setEmbeddedBitmaps(value); instance->setEmbeddedBitmaps(value);
} }
extern "C" void org_jetbrains_skia_Font__1nSetSubpixel SKIKO_EXPORT void org_jetbrains_skia_Font__1nSetSubpixel
(jlong ptr, jboolean value) { (KNativePointer ptr, KBoolean value) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
instance->setSubpixel(value); instance->setSubpixel(value);
} }
extern "C" void org_jetbrains_skia_Font__1nSetMetricsLinear SKIKO_EXPORT void org_jetbrains_skia_Font__1nSetMetricsLinear
(jlong ptr, jboolean value) { (KNativePointer ptr, KBoolean value) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
instance->setLinearMetrics(value); instance->setLinearMetrics(value);
} }
extern "C" void org_jetbrains_skia_Font__1nSetEmboldened SKIKO_EXPORT void org_jetbrains_skia_Font__1nSetEmboldened
(jlong ptr, jboolean value) { (KNativePointer ptr, KBoolean value) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
instance->setEmbolden(value); instance->setEmbolden(value);
} }
extern "C" void org_jetbrains_skia_Font__1nSetBaselineSnapped SKIKO_EXPORT void org_jetbrains_skia_Font__1nSetBaselineSnapped
(jlong ptr, jboolean value) { (KNativePointer ptr, KBoolean value) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
instance->setBaselineSnap(value); instance->setBaselineSnap(value);
} }
extern "C" jint org_jetbrains_skia_Font__1nGetEdging SKIKO_EXPORT KInt org_jetbrains_skia_Font__1nGetEdging
(jlong ptr) { (KNativePointer ptr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
return static_cast<jint>(instance->getEdging()); return static_cast<KInt>(instance->getEdging());
} }
extern "C" void org_jetbrains_skia_Font__1nSetEdging SKIKO_EXPORT void org_jetbrains_skia_Font__1nSetEdging
(jlong ptr, jint value) { (KNativePointer ptr, KInt value) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
instance->setEdging(static_cast<SkFont::Edging>(value)); instance->setEdging(static_cast<SkFont::Edging>(value));
} }
extern "C" jint org_jetbrains_skia_Font__1nGetHinting SKIKO_EXPORT KInt org_jetbrains_skia_Font__1nGetHinting
(jlong ptr) { (KNativePointer ptr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
return static_cast<jint>(instance->getHinting()); return static_cast<KInt>(instance->getHinting());
} }
extern "C" void org_jetbrains_skia_Font__1nSetHinting SKIKO_EXPORT void org_jetbrains_skia_Font__1nSetHinting
(jlong ptr, jint value) { (KNativePointer ptr, KInt value) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
instance->setHinting(static_cast<SkFontHinting>(value)); instance->setHinting(static_cast<SkFontHinting>(value));
} }
extern "C" jlong org_jetbrains_skia_Font__1nGetTypeface SKIKO_EXPORT KNativePointer org_jetbrains_skia_Font__1nGetTypeface
(jlong ptr) { (KNativePointer ptr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
SkTypeface* typeface = instance->refTypeface().release(); SkTypeface* typeface = instance->refTypeface().release();
return reinterpret_cast<jlong>(typeface); return reinterpret_cast<KNativePointer>(typeface);
} }
extern "C" jlong org_jetbrains_skia_Font__1nGetTypefaceOrDefault SKIKO_EXPORT KNativePointer org_jetbrains_skia_Font__1nGetTypefaceOrDefault
(jlong ptr) { (KNativePointer ptr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
SkTypeface* typeface = instance->refTypefaceOrDefault().release(); SkTypeface* typeface = instance->refTypefaceOrDefault().release();
return reinterpret_cast<jlong>(typeface); return reinterpret_cast<KNativePointer>(typeface);
} }
extern "C" jfloat org_jetbrains_skia_Font__1nGetSize SKIKO_EXPORT KFloat org_jetbrains_skia_Font__1nGetSize
(jlong ptr) { (KNativePointer ptr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
return instance->getSize(); return instance->getSize();
} }
extern "C" jfloat org_jetbrains_skia_Font__1nGetScaleX SKIKO_EXPORT KFloat org_jetbrains_skia_Font__1nGetScaleX
(jlong ptr) { (KNativePointer ptr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
return instance->getScaleX(); return instance->getScaleX();
} }
extern "C" jfloat org_jetbrains_skia_Font__1nGetSkewX SKIKO_EXPORT KFloat org_jetbrains_skia_Font__1nGetSkewX
(jlong ptr) { (KNativePointer ptr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
return instance->getSkewX(); return instance->getSkewX();
} }
extern "C" void org_jetbrains_skia_Font__1nSetTypeface SKIKO_EXPORT void org_jetbrains_skia_Font__1nSetTypeface
(jlong ptr, jlong typefacePtr) { (KNativePointer ptr, KNativePointer typefacePtr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
SkTypeface* typeface = reinterpret_cast<SkTypeface*>(static_cast<uintptr_t>(typefacePtr)); SkTypeface* typeface = reinterpret_cast<SkTypeface*>((typefacePtr));
instance->setTypeface(sk_ref_sp(typeface)); instance->setTypeface(sk_ref_sp(typeface));
} }
extern "C" void org_jetbrains_skia_Font__1nSetSize SKIKO_EXPORT void org_jetbrains_skia_Font__1nSetSize
(jlong ptr, jfloat value) { (KNativePointer ptr, KFloat value) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
instance->setSize(value); instance->setSize(value);
} }
extern "C" void org_jetbrains_skia_Font__1nSetScaleX SKIKO_EXPORT void org_jetbrains_skia_Font__1nSetScaleX
(jlong ptr, jfloat value) { (KNativePointer ptr, KFloat value) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
instance->setScaleX(value); instance->setScaleX(value);
} }
extern "C" void org_jetbrains_skia_Font__1nSetSkewX SKIKO_EXPORT void org_jetbrains_skia_Font__1nSetSkewX
(jlong ptr, jfloat value) { (KNativePointer ptr, KFloat value) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
instance->setSkewX(value); instance->setSkewX(value);
} }
extern "C" jshortArray org_jetbrains_skia_Font__1nGetStringGlyphs SKIKO_EXPORT KShort* org_jetbrains_skia_Font__1nGetStringGlyphs
(jlong ptr, jstring str) { (KNativePointer ptr, KInteropPointer str) {
TODO("implement org_jetbrains_skia_Font__1nGetStringGlyphs"); TODO("implement org_jetbrains_skia_Font__1nGetStringGlyphs");
} }
#if 0 #if 0
extern "C" jshortArray org_jetbrains_skia_Font__1nGetStringGlyphs SKIKO_EXPORT KShort* org_jetbrains_skia_Font__1nGetStringGlyphs
(jlong ptr, jstring str) { (KNativePointer ptr, KInteropPointer str) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
jsize len = env->GetStringLength(str); jsize len = env->GetStringLength(str);
const jchar* chars = env->GetStringCritical(str, nullptr); const KChar* chars = env->GetStringCritical(str, nullptr);
int count = instance->textToGlyphs(chars, len * sizeof(jchar), SkTextEncoding::kUTF16, nullptr, 0); int count = instance->textToGlyphs(chars, len * sizeof(KChar), SkTextEncoding::kUTF16, nullptr, 0);
std::vector<short> glyphs(count); std::vector<short> glyphs(count);
instance->textToGlyphs(chars, len * sizeof(jchar), SkTextEncoding::kUTF16, reinterpret_cast<SkGlyphID*>(glyphs.data()), count); instance->textToGlyphs(chars, len * sizeof(KChar), SkTextEncoding::kUTF16, reinterpret_cast<SkGlyphID*>(glyphs.data()), count);
env->ReleaseStringCritical(str, chars); env->ReleaseStringCritical(str, chars);
return javaShortArray(env, glyphs); return javaShortArray(env, glyphs);
} }
...@@ -232,18 +232,18 @@ extern "C" jshortArray org_jetbrains_skia_Font__1nGetStringGlyphs ...@@ -232,18 +232,18 @@ extern "C" jshortArray org_jetbrains_skia_Font__1nGetStringGlyphs
extern "C" jshortArray org_jetbrains_skia_Font__1nGetUTF32Glyphs SKIKO_EXPORT KShort* org_jetbrains_skia_Font__1nGetUTF32Glyphs
(jlong ptr, jintArray uniArr) { (KNativePointer ptr, KInt* uniArr) {
TODO("implement org_jetbrains_skia_Font__1nGetUTF32Glyphs"); TODO("implement org_jetbrains_skia_Font__1nGetUTF32Glyphs");
} }
#if 0 #if 0
extern "C" jshortArray org_jetbrains_skia_Font__1nGetUTF32Glyphs SKIKO_EXPORT KShort* org_jetbrains_skia_Font__1nGetUTF32Glyphs
(jlong ptr, jintArray uniArr) { (KNativePointer ptr, KInt* uniArr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
int count = env->GetArrayLength(uniArr); int count = env->GetArrayLength(uniArr);
std::vector<jshort> glyphs(count); std::vector<KShort> glyphs(count);
jint* uni = env->GetIntArrayElements(uniArr, nullptr); KInt* uni = env->GetIntArrayElements(uniArr, nullptr);
instance->unicharsToGlyphs(reinterpret_cast<SkUnichar*>(uni), count, reinterpret_cast<SkGlyphID*>(glyphs.data())); instance->unicharsToGlyphs(reinterpret_cast<SkUnichar*>(uni), count, reinterpret_cast<SkGlyphID*>(glyphs.data()));
env->ReleaseIntArrayElements(uniArr, uni, 0); env->ReleaseIntArrayElements(uniArr, uni, 0);
return javaShortArray(env, glyphs); return javaShortArray(env, glyphs);
...@@ -251,25 +251,25 @@ extern "C" jshortArray org_jetbrains_skia_Font__1nGetUTF32Glyphs ...@@ -251,25 +251,25 @@ extern "C" jshortArray org_jetbrains_skia_Font__1nGetUTF32Glyphs
#endif #endif
extern "C" jshort org_jetbrains_skia_Font__1nGetUTF32Glyph SKIKO_EXPORT KShort org_jetbrains_skia_Font__1nGetUTF32Glyph
(jlong ptr, jint uni) { (KNativePointer ptr, KInt uni) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
return instance->unicharToGlyph(uni); return instance->unicharToGlyph(uni);
} }
extern "C" jint org_jetbrains_skia_Font__1nGetStringGlyphsCount SKIKO_EXPORT KInt org_jetbrains_skia_Font__1nGetStringGlyphsCount
(jlong ptr, jstring str) { (KNativePointer ptr, KInteropPointer str) {
TODO("implement org_jetbrains_skia_Font__1nGetStringGlyphsCount"); TODO("implement org_jetbrains_skia_Font__1nGetStringGlyphsCount");
} }
#if 0 #if 0
extern "C" jint org_jetbrains_skia_Font__1nGetStringGlyphsCount SKIKO_EXPORT KInt org_jetbrains_skia_Font__1nGetStringGlyphsCount
(jlong ptr, jstring str) { (KNativePointer ptr, KInteropPointer str) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
jsize len = env->GetStringLength(str); jsize len = env->GetStringLength(str);
const jchar* chars = env->GetStringCritical(str, nullptr); const KChar* chars = env->GetStringCritical(str, nullptr);
int count = instance->countText(chars, len * sizeof(jchar), SkTextEncoding::kUTF16); int count = instance->countText(chars, len * sizeof(KChar), SkTextEncoding::kUTF16);
env->ReleaseStringCritical(str, chars); env->ReleaseStringCritical(str, chars);
return count; return count;
} }
...@@ -277,20 +277,20 @@ extern "C" jint org_jetbrains_skia_Font__1nGetStringGlyphsCount ...@@ -277,20 +277,20 @@ extern "C" jint org_jetbrains_skia_Font__1nGetStringGlyphsCount
extern "C" jobject org_jetbrains_skia_Font__1nMeasureText SKIKO_EXPORT KInteropPointer org_jetbrains_skia_Font__1nMeasureText
(jlong ptr, jstring str, jlong paintPtr) { (KNativePointer ptr, KInteropPointer str, KNativePointer paintPtr) {
TODO("implement org_jetbrains_skia_Font__1nMeasureText"); TODO("implement org_jetbrains_skia_Font__1nMeasureText");
} }
#if 0 #if 0
extern "C" jobject org_jetbrains_skia_Font__1nMeasureText SKIKO_EXPORT KInteropPointer org_jetbrains_skia_Font__1nMeasureText
(jlong ptr, jstring str, jlong paintPtr) { (KNativePointer ptr, KInteropPointer str, KNativePointer paintPtr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr)); SkPaint* paint = reinterpret_cast<SkPaint*>((paintPtr));
jsize len = env->GetStringLength(str); jsize len = env->GetStringLength(str);
const jchar* chars = env->GetStringCritical(str, nullptr); const KChar* chars = env->GetStringCritical(str, nullptr);
SkRect bounds; SkRect bounds;
instance->measureText(chars, len * sizeof(jchar), SkTextEncoding::kUTF16, &bounds, paint); instance->measureText(chars, len * sizeof(KChar), SkTextEncoding::kUTF16, &bounds, paint);
env->ReleaseStringCritical(str, chars); env->ReleaseStringCritical(str, chars);
return skija::Rect::fromSkRect(env, bounds); return skija::Rect::fromSkRect(env, bounds);
} }
...@@ -298,19 +298,19 @@ extern "C" jobject org_jetbrains_skia_Font__1nMeasureText ...@@ -298,19 +298,19 @@ extern "C" jobject org_jetbrains_skia_Font__1nMeasureText
extern "C" jfloat org_jetbrains_skia_Font__1nMeasureTextWidth SKIKO_EXPORT KFloat org_jetbrains_skia_Font__1nMeasureTextWidth
(jlong ptr, jstring str, jlong paintPtr) { (KNativePointer ptr, KInteropPointer str, KNativePointer paintPtr) {
TODO("implement org_jetbrains_skia_Font__1nMeasureTextWidth"); TODO("implement org_jetbrains_skia_Font__1nMeasureTextWidth");
} }
#if 0 #if 0
extern "C" jfloat org_jetbrains_skia_Font__1nMeasureTextWidth SKIKO_EXPORT KFloat org_jetbrains_skia_Font__1nMeasureTextWidth
(jlong ptr, jstring str, jlong paintPtr) { (KNativePointer ptr, KInteropPointer str, KNativePointer paintPtr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr)); SkPaint* paint = reinterpret_cast<SkPaint*>((paintPtr));
jsize len = env->GetStringLength(str); jsize len = env->GetStringLength(str);
const jchar* chars = env->GetStringCritical(str, nullptr); const KChar* chars = env->GetStringCritical(str, nullptr);
float width = instance->measureText(chars, len * sizeof(jchar), SkTextEncoding::kUTF16, nullptr, paint); float width = instance->measureText(chars, len * sizeof(KChar), SkTextEncoding::kUTF16, nullptr, paint);
env->ReleaseStringCritical(str, chars); env->ReleaseStringCritical(str, chars);
return width; return width;
} }
...@@ -318,18 +318,18 @@ extern "C" jfloat org_jetbrains_skia_Font__1nMeasureTextWidth ...@@ -318,18 +318,18 @@ extern "C" jfloat org_jetbrains_skia_Font__1nMeasureTextWidth
extern "C" jfloatArray org_jetbrains_skia_Font__1nGetWidths SKIKO_EXPORT KFloat* org_jetbrains_skia_Font__1nGetWidths
(jlong ptr, jshortArray glyphsArr) { (KNativePointer ptr, KShort* glyphsArr) {
TODO("implement org_jetbrains_skia_Font__1nGetWidths"); TODO("implement org_jetbrains_skia_Font__1nGetWidths");
} }
#if 0 #if 0
extern "C" jfloatArray org_jetbrains_skia_Font__1nGetWidths SKIKO_EXPORT KFloat* org_jetbrains_skia_Font__1nGetWidths
(jlong ptr, jshortArray glyphsArr) { (KNativePointer ptr, KShort* glyphsArr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
int count = env->GetArrayLength(glyphsArr); int count = env->GetArrayLength(glyphsArr);
std::vector<jfloat> widths(count); std::vector<KFloat> widths(count);
jshort* glyphs = env->GetShortArrayElements(glyphsArr, nullptr); KShort* glyphs = env->GetShortArrayElements(glyphsArr, nullptr);
instance->getWidths(reinterpret_cast<SkGlyphID*>(glyphs), count, widths.data()); instance->getWidths(reinterpret_cast<SkGlyphID*>(glyphs), count, widths.data());
env->ReleaseShortArrayElements(glyphsArr, glyphs, 0); env->ReleaseShortArrayElements(glyphsArr, glyphs, 0);
return javaFloatArray(env, widths); return javaFloatArray(env, widths);
...@@ -338,25 +338,25 @@ extern "C" jfloatArray org_jetbrains_skia_Font__1nGetWidths ...@@ -338,25 +338,25 @@ extern "C" jfloatArray org_jetbrains_skia_Font__1nGetWidths
extern "C" jobjectArray org_jetbrains_skia_Font__1nGetBounds SKIKO_EXPORT KInteropPointerArray org_jetbrains_skia_Font__1nGetBounds
(jlong ptr, jshortArray glyphsArr, jlong paintPtr) { (KNativePointer ptr, KShort* glyphsArr, KNativePointer paintPtr) {
TODO("implement org_jetbrains_skia_Font__1nGetBounds"); TODO("implement org_jetbrains_skia_Font__1nGetBounds");
} }
#if 0 #if 0
extern "C" jobjectArray org_jetbrains_skia_Font__1nGetBounds SKIKO_EXPORT KInteropPointerArray org_jetbrains_skia_Font__1nGetBounds
(jlong ptr, jshortArray glyphsArr, jlong paintPtr) { (KNativePointer ptr, KShort* glyphsArr, KNativePointer paintPtr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr)); SkPaint* paint = reinterpret_cast<SkPaint*>((paintPtr));
int count = env->GetArrayLength(glyphsArr); int count = env->GetArrayLength(glyphsArr);
std::vector<SkRect> bounds(count); std::vector<SkRect> bounds(count);
jshort* glyphs = env->GetShortArrayElements(glyphsArr, nullptr); KShort* glyphs = env->GetShortArrayElements(glyphsArr, nullptr);
instance->getBounds(reinterpret_cast<SkGlyphID*>(glyphs), count, bounds.data(), paint); instance->getBounds(reinterpret_cast<SkGlyphID*>(glyphs), count, bounds.data(), paint);
env->ReleaseShortArrayElements(glyphsArr, glyphs, 0); env->ReleaseShortArrayElements(glyphsArr, glyphs, 0);
jobjectArray res = env->NewObjectArray(count, skija::Rect::cls, nullptr); KInteropPointerArray res = env->NewObjectArray(count, skija::Rect::cls, nullptr);
for (int i = 0; i < count; ++i) { for (int i = 0; i < count; ++i) {
skija::AutoLocal<jobject> boundsObj(env, skija::Rect::fromSkRect(env, bounds[i])); skija::AutoLocal<KInteropPointer> boundsObj(env, skija::Rect::fromSkRect(env, bounds[i]));
env->SetObjectArrayElement(res, i, boundsObj.get()); env->SetObjectArrayElement(res, i, boundsObj.get());
} }
...@@ -366,19 +366,19 @@ extern "C" jobjectArray org_jetbrains_skia_Font__1nGetBounds ...@@ -366,19 +366,19 @@ extern "C" jobjectArray org_jetbrains_skia_Font__1nGetBounds
extern "C" jobjectArray org_jetbrains_skia_Font__1nGetPositions SKIKO_EXPORT KInteropPointerArray org_jetbrains_skia_Font__1nGetPositions
(jlong ptr, jshortArray glyphsArr, jfloat dx, jfloat dy) { (KNativePointer ptr, KShort* glyphsArr, KFloat dx, KFloat dy) {
TODO("implement org_jetbrains_skia_Font__1nGetPositions"); TODO("implement org_jetbrains_skia_Font__1nGetPositions");
} }
#if 0 #if 0
extern "C" jobjectArray org_jetbrains_skia_Font__1nGetPositions SKIKO_EXPORT KInteropPointerArray org_jetbrains_skia_Font__1nGetPositions
(jlong ptr, jshortArray glyphsArr, jfloat dx, jfloat dy) { (KNativePointer ptr, KShort* glyphsArr, KFloat dx, KFloat dy) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
int count = env->GetArrayLength(glyphsArr); int count = env->GetArrayLength(glyphsArr);
std::vector<SkPoint> positions(count); std::vector<SkPoint> positions(count);
jshort* glyphs = env->GetShortArrayElements(glyphsArr, nullptr); KShort* glyphs = env->GetShortArrayElements(glyphsArr, nullptr);
instance->getPos(reinterpret_cast<SkGlyphID*>(glyphs), count, positions.data(), {dx, dy}); instance->getPos(reinterpret_cast<SkGlyphID*>(glyphs), count, positions.data(), {dx, dy});
env->ReleaseShortArrayElements(glyphsArr, glyphs, 0); env->ReleaseShortArrayElements(glyphsArr, glyphs, 0);
...@@ -388,18 +388,18 @@ extern "C" jobjectArray org_jetbrains_skia_Font__1nGetPositions ...@@ -388,18 +388,18 @@ extern "C" jobjectArray org_jetbrains_skia_Font__1nGetPositions
extern "C" jfloatArray org_jetbrains_skia_Font__1nGetXPositions SKIKO_EXPORT KFloat* org_jetbrains_skia_Font__1nGetXPositions
(jlong ptr, jshortArray glyphsArr, jfloat dx) { (KNativePointer ptr, KShort* glyphsArr, KFloat dx) {
TODO("implement org_jetbrains_skia_Font__1nGetXPositions"); TODO("implement org_jetbrains_skia_Font__1nGetXPositions");
} }
#if 0 #if 0
extern "C" jfloatArray org_jetbrains_skia_Font__1nGetXPositions SKIKO_EXPORT KFloat* org_jetbrains_skia_Font__1nGetXPositions
(jlong ptr, jshortArray glyphsArr, jfloat dx) { (KNativePointer ptr, KShort* glyphsArr, KFloat dx) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
int count = env->GetArrayLength(glyphsArr); int count = env->GetArrayLength(glyphsArr);
std::vector<jfloat> positions(count); std::vector<KFloat> positions(count);
jshort* glyphs = env->GetShortArrayElements(glyphsArr, nullptr); KShort* glyphs = env->GetShortArrayElements(glyphsArr, nullptr);
instance->getXPos(reinterpret_cast<SkGlyphID*>(glyphs), count, positions.data(), dx); instance->getXPos(reinterpret_cast<SkGlyphID*>(glyphs), count, positions.data(), dx);
env->ReleaseShortArrayElements(glyphsArr, glyphs, 0); env->ReleaseShortArrayElements(glyphsArr, glyphs, 0);
return javaFloatArray(env, positions); return javaFloatArray(env, positions);
...@@ -407,30 +407,30 @@ extern "C" jfloatArray org_jetbrains_skia_Font__1nGetXPositions ...@@ -407,30 +407,30 @@ extern "C" jfloatArray org_jetbrains_skia_Font__1nGetXPositions
#endif #endif
extern "C" jlong org_jetbrains_skia_Font__1nGetPath SKIKO_EXPORT KNativePointer org_jetbrains_skia_Font__1nGetPath
(jlong ptr, jshort glyph) { (KNativePointer ptr, KShort glyph) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
SkPath* path = new SkPath(); SkPath* path = new SkPath();
instance->getPath(glyph, path); instance->getPath(glyph, path);
return reinterpret_cast<jlong>(path); return reinterpret_cast<KNativePointer>(path);
} }
extern "C" jobjectArray org_jetbrains_skia_Font__1nGetPaths SKIKO_EXPORT KInteropPointerArray org_jetbrains_skia_Font__1nGetPaths
(jlong ptr, jshortArray glyphsArr) { (KNativePointer ptr, KShort* glyphsArr) {
TODO("implement org_jetbrains_skia_Font__1nGetPaths"); TODO("implement org_jetbrains_skia_Font__1nGetPaths");
} }
#if 0 #if 0
extern "C" jobjectArray org_jetbrains_skia_Font__1nGetPaths SKIKO_EXPORT KInteropPointerArray org_jetbrains_skia_Font__1nGetPaths
(jlong ptr, jshortArray glyphsArr) { (KNativePointer ptr, KShort* glyphsArr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
int count = env->GetArrayLength(glyphsArr); int count = env->GetArrayLength(glyphsArr);
jshort* glyphs = env->GetShortArrayElements(glyphsArr, nullptr); KShort* glyphs = env->GetShortArrayElements(glyphsArr, nullptr);
struct Ctx { struct Ctx {
jobjectArray paths; KInteropPointerArray paths;
jsize idx; jsize idx;
JNIEnv* env; JNIEnv* env;
} ctx = { env->NewObjectArray(count, skija::Path::cls, nullptr), 0, env }; } ctx = { env->NewObjectArray(count, skija::Path::cls, nullptr), 0, env };
...@@ -440,7 +440,7 @@ extern "C" jobjectArray org_jetbrains_skia_Font__1nGetPaths ...@@ -440,7 +440,7 @@ extern "C" jobjectArray org_jetbrains_skia_Font__1nGetPaths
if (orig) { if (orig) {
SkPath* path = new SkPath(); SkPath* path = new SkPath();
orig->transform(mx, path); orig->transform(mx, path);
jobject pathObj = ctx->env->NewObject(skija::Path::cls, skija::Path::ctor, reinterpret_cast<jlong>(path)); KInteropPointer pathObj = ctx->env->NewObject(skija::Path::cls, skija::Path::ctor, reinterpret_cast<KNativePointer>(path));
ctx->env->SetObjectArrayElement(ctx->paths, ctx->idx, pathObj); ctx->env->SetObjectArrayElement(ctx->paths, ctx->idx, pathObj);
ctx->env->DeleteLocalRef(pathObj); ctx->env->DeleteLocalRef(pathObj);
++ctx->idx; ++ctx->idx;
...@@ -454,15 +454,15 @@ extern "C" jobjectArray org_jetbrains_skia_Font__1nGetPaths ...@@ -454,15 +454,15 @@ extern "C" jobjectArray org_jetbrains_skia_Font__1nGetPaths
extern "C" jobject org_jetbrains_skia_Font__1nGetMetrics SKIKO_EXPORT KInteropPointer org_jetbrains_skia_Font__1nGetMetrics
(jlong ptr, jshortArray glyphsArr) { (KNativePointer ptr, KShort* glyphsArr) {
TODO("implement org_jetbrains_skia_Font__1nGetMetrics"); TODO("implement org_jetbrains_skia_Font__1nGetMetrics");
} }
#if 0 #if 0
extern "C" jobject org_jetbrains_skia_Font__1nGetMetrics SKIKO_EXPORT KInteropPointer org_jetbrains_skia_Font__1nGetMetrics
(jlong ptr, jshortArray glyphsArr) { (KNativePointer ptr, KShort* glyphsArr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
SkFontMetrics m; SkFontMetrics m;
instance->getMetrics(&m); instance->getMetrics(&m);
return skija::FontMetrics::toJava(env, m); return skija::FontMetrics::toJava(env, m);
...@@ -471,15 +471,15 @@ extern "C" jobject org_jetbrains_skia_Font__1nGetMetrics ...@@ -471,15 +471,15 @@ extern "C" jobject org_jetbrains_skia_Font__1nGetMetrics
extern "C" jfloat org_jetbrains_skia_Font__1nGetSpacing SKIKO_EXPORT KFloat org_jetbrains_skia_Font__1nGetSpacing
(jlong ptr, jshortArray glyphsArr) { (KNativePointer ptr, KShort* glyphsArr) {
TODO("implement org_jetbrains_skia_Font__1nGetSpacing"); TODO("implement org_jetbrains_skia_Font__1nGetSpacing");
} }
#if 0 #if 0
extern "C" jfloat org_jetbrains_skia_Font__1nGetSpacing SKIKO_EXPORT KFloat org_jetbrains_skia_Font__1nGetSpacing
(jlong ptr, jshortArray glyphsArr) { (KNativePointer ptr, KShort* glyphsArr) {
SkFont* instance = reinterpret_cast<SkFont*>(static_cast<uintptr_t>(ptr)); SkFont* instance = reinterpret_cast<SkFont*>((ptr));
return instance->getSpacing(); return instance->getSpacing();
} }
#endif #endif
......
...@@ -7,22 +7,22 @@ ...@@ -7,22 +7,22 @@
#include "SkFontMgr.h" #include "SkFontMgr.h"
#include "common.h" #include "common.h"
extern "C" jint org_jetbrains_skia_FontMgr__1nGetFamiliesCount SKIKO_EXPORT KInt org_jetbrains_skia_FontMgr__1nGetFamiliesCount
(jlong ptr) { (KNativePointer ptr) {
SkFontMgr* instance = reinterpret_cast<SkFontMgr*>(static_cast<uintptr_t>(ptr)); SkFontMgr* instance = reinterpret_cast<SkFontMgr*>((ptr));
return instance->countFamilies(); return instance->countFamilies();
} }
extern "C" jstring org_jetbrains_skia_FontMgr__1nGetFamilyName SKIKO_EXPORT KInteropPointer org_jetbrains_skia_FontMgr__1nGetFamilyName
(jlong ptr, jint index) { (KNativePointer ptr, KInt index) {
TODO("implement org_jetbrains_skia_FontMgr__1nGetFamilyName"); TODO("implement org_jetbrains_skia_FontMgr__1nGetFamilyName");
} }
#if 0 #if 0
extern "C" jstring org_jetbrains_skia_FontMgr__1nGetFamilyName SKIKO_EXPORT KInteropPointer org_jetbrains_skia_FontMgr__1nGetFamilyName
(jlong ptr, jint index) { (KNativePointer ptr, KInt index) {
SkFontMgr* instance = reinterpret_cast<SkFontMgr*>(static_cast<uintptr_t>(ptr)); SkFontMgr* instance = reinterpret_cast<SkFontMgr*>((ptr));
SkString familyName; SkString familyName;
instance->getFamilyName(index, &familyName); instance->getFamilyName(index, &familyName);
return javaString(env, familyName); return javaString(env, familyName);
...@@ -30,57 +30,57 @@ extern "C" jstring org_jetbrains_skia_FontMgr__1nGetFamilyName ...@@ -30,57 +30,57 @@ extern "C" jstring org_jetbrains_skia_FontMgr__1nGetFamilyName
#endif #endif
extern "C" jlong org_jetbrains_skia_FontMgr__1nMakeStyleSet SKIKO_EXPORT KNativePointer org_jetbrains_skia_FontMgr__1nMakeStyleSet
(jlong ptr, jint index) { (KNativePointer ptr, KInt index) {
SkFontMgr* instance = reinterpret_cast<SkFontMgr*>(static_cast<uintptr_t>(ptr)); SkFontMgr* instance = reinterpret_cast<SkFontMgr*>((ptr));
SkFontStyleSet* styleSet = instance->createStyleSet(index); SkFontStyleSet* styleSet = instance->createStyleSet(index);
return reinterpret_cast<jlong>(styleSet); return reinterpret_cast<KNativePointer>(styleSet);
} }
extern "C" jlong org_jetbrains_skia_FontMgr__1nMatchFamily SKIKO_EXPORT KNativePointer org_jetbrains_skia_FontMgr__1nMatchFamily
(jlong ptr, jstring familyNameStr) { (KNativePointer ptr, KInteropPointer familyNameStr) {
TODO("implement org_jetbrains_skia_FontMgr__1nMatchFamily"); TODO("implement org_jetbrains_skia_FontMgr__1nMatchFamily");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_FontMgr__1nMatchFamily SKIKO_EXPORT KNativePointer org_jetbrains_skia_FontMgr__1nMatchFamily
(jlong ptr, jstring familyNameStr) { (KNativePointer ptr, KInteropPointer familyNameStr) {
SkFontMgr* instance = reinterpret_cast<SkFontMgr*>(static_cast<uintptr_t>(ptr)); SkFontMgr* instance = reinterpret_cast<SkFontMgr*>((ptr));
SkString familyName = skString(env, familyNameStr); SkString familyName = skString(env, familyNameStr);
SkFontStyleSet* styleSet = instance->matchFamily(familyName.c_str()); SkFontStyleSet* styleSet = instance->matchFamily(familyName.c_str());
return reinterpret_cast<jlong>(styleSet); return reinterpret_cast<KNativePointer>(styleSet);
} }
#endif #endif
extern "C" jlong org_jetbrains_skia_FontMgr__1nMatchFamilyStyle SKIKO_EXPORT KNativePointer org_jetbrains_skia_FontMgr__1nMatchFamilyStyle
(jlong ptr, jstring familyNameStr, jint fontStyle) { (KNativePointer ptr, KInteropPointer familyNameStr, KInt fontStyle) {
TODO("implement org_jetbrains_skia_FontMgr__1nMatchFamilyStyle"); TODO("implement org_jetbrains_skia_FontMgr__1nMatchFamilyStyle");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_FontMgr__1nMatchFamilyStyle SKIKO_EXPORT KNativePointer org_jetbrains_skia_FontMgr__1nMatchFamilyStyle
(jlong ptr, jstring familyNameStr, jint fontStyle) { (KNativePointer ptr, KInteropPointer familyNameStr, KInt fontStyle) {
SkFontMgr* instance = reinterpret_cast<SkFontMgr*>(static_cast<uintptr_t>(ptr)); SkFontMgr* instance = reinterpret_cast<SkFontMgr*>((ptr));
SkString familyName = skString(env, familyNameStr); SkString familyName = skString(env, familyNameStr);
SkTypeface* typeface = instance->matchFamilyStyle(familyName.c_str(), skija::FontStyle::fromJava(fontStyle)); SkTypeface* typeface = instance->matchFamilyStyle(familyName.c_str(), skija::FontStyle::fromJava(fontStyle));
return reinterpret_cast<jlong>(typeface); return reinterpret_cast<KNativePointer>(typeface);
} }
#endif #endif
extern "C" jlong org_jetbrains_skia_FontMgr__1nMatchFamilyStyleCharacter SKIKO_EXPORT KNativePointer org_jetbrains_skia_FontMgr__1nMatchFamilyStyleCharacter
(jlong ptr, jstring familyNameStr, jint fontStyle, jobjectArray bcp47Array, jint character) { (KNativePointer ptr, KInteropPointer familyNameStr, KInt fontStyle, KInteropPointerArray bcp47Array, KInt character) {
TODO("implement org_jetbrains_skia_FontMgr__1nMatchFamilyStyleCharacter"); TODO("implement org_jetbrains_skia_FontMgr__1nMatchFamilyStyleCharacter");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_FontMgr__1nMatchFamilyStyleCharacter SKIKO_EXPORT KNativePointer org_jetbrains_skia_FontMgr__1nMatchFamilyStyleCharacter
(jlong ptr, jstring familyNameStr, jint fontStyle, jobjectArray bcp47Array, jint character) { (KNativePointer ptr, KInteropPointer familyNameStr, KInt fontStyle, KInteropPointerArray bcp47Array, KInt character) {
SkFontMgr* instance = reinterpret_cast<SkFontMgr*>(static_cast<uintptr_t>(ptr)); SkFontMgr* instance = reinterpret_cast<SkFontMgr*>((ptr));
SkString familyName = skString(env, familyNameStr); SkString familyName = skString(env, familyNameStr);
...@@ -91,21 +91,21 @@ extern "C" jlong org_jetbrains_skia_FontMgr__1nMatchFamilyStyleCharacter ...@@ -91,21 +91,21 @@ extern "C" jlong org_jetbrains_skia_FontMgr__1nMatchFamilyStyleCharacter
SkTypeface* typeface = instance->matchFamilyStyleCharacter(familyName.c_str(), skija::FontStyle::fromJava(fontStyle), bcp47.data(), (int) bcp47.size(), character); SkTypeface* typeface = instance->matchFamilyStyleCharacter(familyName.c_str(), skija::FontStyle::fromJava(fontStyle), bcp47.data(), (int) bcp47.size(), character);
return reinterpret_cast<jlong>(typeface); return reinterpret_cast<KNativePointer>(typeface);
} }
#endif #endif
extern "C" jlong org_jetbrains_skia_FontMgr__1nMakeFromData SKIKO_EXPORT KNativePointer org_jetbrains_skia_FontMgr__1nMakeFromData
(jlong ptr, jlong dataPtr, jint ttcIndex) { (KNativePointer ptr, KNativePointer dataPtr, KInt ttcIndex) {
SkFontMgr* instance = reinterpret_cast<SkFontMgr*>(static_cast<uintptr_t>(ptr)); SkFontMgr* instance = reinterpret_cast<SkFontMgr*>((ptr));
SkData* data = reinterpret_cast<SkData*>(static_cast<uintptr_t>(dataPtr)); SkData* data = reinterpret_cast<SkData*>((dataPtr));
SkTypeface* typeface = instance->makeFromData(sk_ref_sp(data), ttcIndex).release(); SkTypeface* typeface = instance->makeFromData(sk_ref_sp(data), ttcIndex).release();
return reinterpret_cast<jlong>(typeface); return reinterpret_cast<KNativePointer>(typeface);
} }
extern "C" jlong org_jetbrains_skia_FontMgr__1nDefault SKIKO_EXPORT KNativePointer org_jetbrains_skia_FontMgr__1nDefault
() { () {
SkFontMgr* instance = SkFontMgr::RefDefault().release(); SkFontMgr* instance = SkFontMgr::RefDefault().release();
return reinterpret_cast<jlong>(instance); return reinterpret_cast<KNativePointer>(instance);
} }
...@@ -6,36 +6,36 @@ ...@@ -6,36 +6,36 @@
#include "SkFontMgr.h" #include "SkFontMgr.h"
#include "common.h" #include "common.h"
extern "C" jlong org_jetbrains_skia_FontStyleSet__1nMakeEmpty SKIKO_EXPORT KNativePointer org_jetbrains_skia_FontStyleSet__1nMakeEmpty
() { () {
SkFontStyleSet* instance = SkFontStyleSet::CreateEmpty(); SkFontStyleSet* instance = SkFontStyleSet::CreateEmpty();
return reinterpret_cast<jlong>(instance); return reinterpret_cast<KNativePointer>(instance);
} }
extern "C" jint org_jetbrains_skia_FontStyleSet__1nCount SKIKO_EXPORT KInt org_jetbrains_skia_FontStyleSet__1nCount
(jlong ptr) { (KNativePointer ptr) {
SkFontStyleSet* instance = reinterpret_cast<SkFontStyleSet*>(static_cast<uintptr_t>(ptr)); SkFontStyleSet* instance = reinterpret_cast<SkFontStyleSet*>((ptr));
return instance->count(); return instance->count();
} }
extern "C" jint org_jetbrains_skia_FontStyleSet__1nGetStyle SKIKO_EXPORT KInt org_jetbrains_skia_FontStyleSet__1nGetStyle
(jlong ptr, jint index) { (KNativePointer ptr, KInt index) {
SkFontStyleSet* instance = reinterpret_cast<SkFontStyleSet*>(static_cast<uintptr_t>(ptr)); SkFontStyleSet* instance = reinterpret_cast<SkFontStyleSet*>((ptr));
SkFontStyle fontStyle; SkFontStyle fontStyle;
instance->getStyle(index, &fontStyle, nullptr); instance->getStyle(index, &fontStyle, nullptr);
return fontStyle.weight() + (fontStyle.width() << 16) + (fontStyle.slant() << 24); return fontStyle.weight() + (fontStyle.width() << 16) + (fontStyle.slant() << 24);
} }
extern "C" jstring org_jetbrains_skia_FontStyleSet__1nGetStyleName SKIKO_EXPORT KInteropPointer org_jetbrains_skia_FontStyleSet__1nGetStyleName
(jlong ptr, jint index) { (KNativePointer ptr, KInt index) {
TODO("implement org_jetbrains_skia_FontStyleSet__1nGetStyleName"); TODO("implement org_jetbrains_skia_FontStyleSet__1nGetStyleName");
} }
#if 0 #if 0
extern "C" jstring org_jetbrains_skia_FontStyleSet__1nGetStyleName SKIKO_EXPORT KInteropPointer org_jetbrains_skia_FontStyleSet__1nGetStyleName
(jlong ptr, jint index) { (KNativePointer ptr, KInt index) {
SkFontStyleSet* instance = reinterpret_cast<SkFontStyleSet*>(static_cast<uintptr_t>(ptr)); SkFontStyleSet* instance = reinterpret_cast<SkFontStyleSet*>((ptr));
SkString style; SkString style;
instance->getStyle(index, nullptr, &style); instance->getStyle(index, nullptr, &style);
return javaString(env, style); return javaString(env, style);
...@@ -43,25 +43,25 @@ extern "C" jstring org_jetbrains_skia_FontStyleSet__1nGetStyleName ...@@ -43,25 +43,25 @@ extern "C" jstring org_jetbrains_skia_FontStyleSet__1nGetStyleName
#endif #endif
extern "C" jlong org_jetbrains_skia_FontStyleSet__1nGetTypeface SKIKO_EXPORT KNativePointer org_jetbrains_skia_FontStyleSet__1nGetTypeface
(jlong ptr, jint index) { (KNativePointer ptr, KInt index) {
SkFontStyleSet* instance = reinterpret_cast<SkFontStyleSet*>(static_cast<uintptr_t>(ptr)); SkFontStyleSet* instance = reinterpret_cast<SkFontStyleSet*>((ptr));
SkTypeface* typeface = instance->createTypeface(index); SkTypeface* typeface = instance->createTypeface(index);
return reinterpret_cast<jlong>(typeface); return reinterpret_cast<KNativePointer>(typeface);
} }
extern "C" jlong org_jetbrains_skia_FontStyleSet__1nMatchStyle SKIKO_EXPORT KNativePointer org_jetbrains_skia_FontStyleSet__1nMatchStyle
(jlong ptr, jint fontStyle) { (KNativePointer ptr, KInt fontStyle) {
TODO("implement org_jetbrains_skia_FontStyleSet__1nMatchStyle"); TODO("implement org_jetbrains_skia_FontStyleSet__1nMatchStyle");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_FontStyleSet__1nMatchStyle SKIKO_EXPORT KNativePointer org_jetbrains_skia_FontStyleSet__1nMatchStyle
(jlong ptr, jint fontStyle) { (KNativePointer ptr, KInt fontStyle) {
SkFontStyleSet* instance = reinterpret_cast<SkFontStyleSet*>(static_cast<uintptr_t>(ptr)); SkFontStyleSet* instance = reinterpret_cast<SkFontStyleSet*>((ptr));
SkTypeface* typeface = instance->matchStyle(skija::FontStyle::fromJava(fontStyle)); SkTypeface* typeface = instance->matchStyle(skija::FontStyle::fromJava(fontStyle));
return reinterpret_cast<jlong>(typeface); return reinterpret_cast<KNativePointer>(typeface);
} }
#endif #endif
...@@ -7,15 +7,15 @@ ...@@ -7,15 +7,15 @@
#include "common.h" #include "common.h"
extern "C" jlong org_jetbrains_skia_Image__1nMakeRaster SKIKO_EXPORT KNativePointer org_jetbrains_skia_Image__1nMakeRaster
(jint width, jint height, jint colorType, jint alphaType, jlong colorSpacePtr, jbyteArray bytesArr, jlong rowBytes) { (KInt width, KInt height, KInt colorType, KInt alphaType, KNativePointer colorSpacePtr, KByte* bytesArr, KNativePointer rowBytes) {
TODO("implement org_jetbrains_skia_Image__1nMakeRaster"); TODO("implement org_jetbrains_skia_Image__1nMakeRaster");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_Image__1nMakeRaster SKIKO_EXPORT KNativePointer org_jetbrains_skia_Image__1nMakeRaster
(jint width, jint height, jint colorType, jint alphaType, jlong colorSpacePtr, jbyteArray bytesArr, jlong rowBytes) { (KInt width, KInt height, KInt colorType, KInt alphaType, KNativePointer colorSpacePtr, KByte* bytesArr, KNativePointer rowBytes) {
SkColorSpace* colorSpace = reinterpret_cast<SkColorSpace*>(static_cast<uintptr_t>(colorSpacePtr)); SkColorSpace* colorSpace = reinterpret_cast<SkColorSpace*>((colorSpacePtr));
SkImageInfo imageInfo = SkImageInfo::Make(width, SkImageInfo imageInfo = SkImageInfo::Make(width,
height, height,
static_cast<SkColorType>(colorType), static_cast<SkColorType>(colorType),
...@@ -24,108 +24,108 @@ extern "C" jlong org_jetbrains_skia_Image__1nMakeRaster ...@@ -24,108 +24,108 @@ extern "C" jlong org_jetbrains_skia_Image__1nMakeRaster
void* bytes = env->GetPrimitiveArrayCritical(bytesArr, 0); void* bytes = env->GetPrimitiveArrayCritical(bytesArr, 0);
sk_sp<SkImage> image = SkImage::MakeRasterCopy(SkPixmap(imageInfo, bytes, rowBytes)); sk_sp<SkImage> image = SkImage::MakeRasterCopy(SkPixmap(imageInfo, bytes, rowBytes));
env->ReleasePrimitiveArrayCritical(bytesArr, bytes, 0); env->ReleasePrimitiveArrayCritical(bytesArr, bytes, 0);
return reinterpret_cast<jlong>(image.release()); return reinterpret_cast<KNativePointer>(image.release());
} }
#endif #endif
extern "C" jlong org_jetbrains_skia_Image__1nMakeRasterData SKIKO_EXPORT KNativePointer org_jetbrains_skia_Image__1nMakeRasterData
(jint width, jint height, jint colorType, jint alphaType, jlong colorSpacePtr, jlong dataPtr, jlong rowBytes) { (KInt width, KInt height, KInt colorType, KInt alphaType, KNativePointer colorSpacePtr, KNativePointer dataPtr, KInt rowBytes) {
SkColorSpace* colorSpace = reinterpret_cast<SkColorSpace*>(static_cast<uintptr_t>(colorSpacePtr)); SkColorSpace* colorSpace = reinterpret_cast<SkColorSpace*>((colorSpacePtr));
SkImageInfo imageInfo = SkImageInfo::Make(width, SkImageInfo imageInfo = SkImageInfo::Make(width,
height, height,
static_cast<SkColorType>(colorType), static_cast<SkColorType>(colorType),
static_cast<SkAlphaType>(alphaType), static_cast<SkAlphaType>(alphaType),
sk_ref_sp<SkColorSpace>(colorSpace)); sk_ref_sp<SkColorSpace>(colorSpace));
SkData* data = reinterpret_cast<SkData*>(static_cast<uintptr_t>(dataPtr)); SkData* data = reinterpret_cast<SkData*>((dataPtr));
sk_sp<SkImage> image = SkImage::MakeRasterData(imageInfo, sk_ref_sp(data), rowBytes); sk_sp<SkImage> image = SkImage::MakeRasterData(imageInfo, sk_ref_sp(data), rowBytes);
return reinterpret_cast<jlong>(image.release()); return reinterpret_cast<KNativePointer>(image.release());
} }
extern "C" jlong org_jetbrains_skia_Image__1nMakeFromBitmap SKIKO_EXPORT KNativePointer org_jetbrains_skia_Image__1nMakeFromBitmap
(jlong bitmapPtr) { (KNativePointer bitmapPtr) {
SkBitmap* bitmap = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(bitmapPtr)); SkBitmap* bitmap = reinterpret_cast<SkBitmap*>((bitmapPtr));
sk_sp<SkImage> image = SkImage::MakeFromBitmap(*bitmap); sk_sp<SkImage> image = SkImage::MakeFromBitmap(*bitmap);
return reinterpret_cast<jlong>(image.release()); return reinterpret_cast<KNativePointer>(image.release());
} }
extern "C" jlong org_jetbrains_skia_Image__1nMakeFromPixmap SKIKO_EXPORT KNativePointer org_jetbrains_skia_Image__1nMakeFromPixmap
(jlong pixmapPtr) { (KNativePointer pixmapPtr) {
SkPixmap* pixmap = reinterpret_cast<SkPixmap*>(static_cast<uintptr_t>(pixmapPtr)); SkPixmap* pixmap = reinterpret_cast<SkPixmap*>((pixmapPtr));
sk_sp<SkImage> image = SkImage::MakeFromRaster(*pixmap, nullptr, nullptr); sk_sp<SkImage> image = SkImage::MakeFromRaster(*pixmap, nullptr, nullptr);
return reinterpret_cast<jlong>(image.release()); return reinterpret_cast<KNativePointer>(image.release());
} }
extern "C" jlong org_jetbrains_skia_Image__1nMakeFromEncoded SKIKO_EXPORT KNativePointer org_jetbrains_skia_Image__1nMakeFromEncoded
(jbyteArray encodedArray) { (KByte* encodedArray) {
TODO("implement org_jetbrains_skia_Image__1nMakeFromEncoded"); TODO("implement org_jetbrains_skia_Image__1nMakeFromEncoded");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_Image__1nMakeFromEncoded SKIKO_EXPORT KNativePointer org_jetbrains_skia_Image__1nMakeFromEncoded
(jbyteArray encodedArray) { (KByte* encodedArray) {
jsize encodedLen = env->GetArrayLength(encodedArray); jsize encodedLen = env->GetArrayLength(encodedArray);
jbyte* encoded = env->GetByteArrayElements(encodedArray, 0); KByte* encoded = env->GetByteArrayElements(encodedArray, 0);
sk_sp<SkData> encodedData = SkData::MakeWithCopy(encoded, encodedLen); sk_sp<SkData> encodedData = SkData::MakeWithCopy(encoded, encodedLen);
env->ReleaseByteArrayElements(encodedArray, encoded, 0); env->ReleaseByteArrayElements(encodedArray, encoded, 0);
sk_sp<SkImage> image = SkImage::MakeFromEncoded(encodedData); sk_sp<SkImage> image = SkImage::MakeFromEncoded(encodedData);
return reinterpret_cast<jlong>(image.release()); return reinterpret_cast<KNativePointer>(image.release());
} }
#endif #endif
extern "C" jobject org_jetbrains_skia_Image__1nGetImageInfo SKIKO_EXPORT KInteropPointer org_jetbrains_skia_Image__1nGetImageInfo
(jlong ptr) { (KNativePointer ptr) {
TODO("implement org_jetbrains_skia_Image__1nGetImageInfo"); TODO("implement org_jetbrains_skia_Image__1nGetImageInfo");
} }
#if 0 #if 0
extern "C" jobject org_jetbrains_skia_Image__1nGetImageInfo SKIKO_EXPORT KInteropPointer org_jetbrains_skia_Image__1nGetImageInfo
(jlong ptr) { (KNativePointer ptr) {
SkImage* instance = reinterpret_cast<SkImage*>(static_cast<uintptr_t>(ptr)); SkImage* instance = reinterpret_cast<SkImage*>((ptr));
return skija::ImageInfo::toJava(env, instance->imageInfo()); return skija::ImageInfo::toJava(env, instance->imageInfo());
} }
#endif #endif
extern "C" jlong org_jetbrains_skia_Image__1nEncodeToData SKIKO_EXPORT KNativePointer org_jetbrains_skia_Image__1nEncodeToData
(jlong ptr, jint format, jint quality) { (KNativePointer ptr, KInt format, KInt quality) {
SkImage* instance = reinterpret_cast<SkImage*>(static_cast<uintptr_t>(ptr)); SkImage* instance = reinterpret_cast<SkImage*>((ptr));
SkData* data = instance->encodeToData(static_cast<SkEncodedImageFormat>(format), quality).release(); SkData* data = instance->encodeToData(static_cast<SkEncodedImageFormat>(format), quality).release();
return reinterpret_cast<jlong>(data); return reinterpret_cast<KNativePointer>(data);
} }
extern "C" jlong org_jetbrains_skia_Image__1nMakeShader SKIKO_EXPORT KNativePointer org_jetbrains_skia_Image__1nMakeShader
(jlong ptr, jint tmx, jint tmy, jlong sampling, jfloatArray localMatrixArr) { (KNativePointer ptr, KInt tmx, KInt tmy, KNativePointer sampling, KFloat* localMatrixArr) {
TODO("implement org_jetbrains_skia_Image__1nMakeShader"); TODO("implement org_jetbrains_skia_Image__1nMakeShader");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_Image__1nMakeShader SKIKO_EXPORT KNativePointer org_jetbrains_skia_Image__1nMakeShader
(jlong ptr, jint tmx, jint tmy, jlong sampling, jfloatArray localMatrixArr) { (KNativePointer ptr, KInt tmx, KInt tmy, KNativePointer sampling, KFloat* localMatrixArr) {
SkImage* instance = reinterpret_cast<SkImage*>(static_cast<uintptr_t>(ptr)); SkImage* instance = reinterpret_cast<SkImage*>((ptr));
std::unique_ptr<SkMatrix> localMatrix = skMatrix(env, localMatrixArr); 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()); 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()); return reinterpret_cast<KNativePointer>(shader.release());
} }
#endif #endif
extern "C" jobject org_jetbrains_skia_Image__1nPeekPixels SKIKO_EXPORT KInteropPointer org_jetbrains_skia_Image__1nPeekPixels
(jlong ptr) { (KNativePointer ptr) {
TODO("implement org_jetbrains_skia_Image__1nPeekPixels"); TODO("implement org_jetbrains_skia_Image__1nPeekPixels");
} }
#if 0 #if 0
extern "C" jobject org_jetbrains_skia_Image__1nPeekPixels SKIKO_EXPORT KInteropPointer org_jetbrains_skia_Image__1nPeekPixels
(jlong ptr) { (KNativePointer ptr) {
SkImage* instance = reinterpret_cast<SkImage*>(static_cast<uintptr_t>(ptr)); SkImage* instance = reinterpret_cast<SkImage*>((ptr));
SkPixmap pixmap; SkPixmap pixmap;
if (instance->peekPixels(&pixmap)) if (instance->peekPixels(&pixmap))
return env->NewDirectByteBuffer(pixmap.writable_addr(), pixmap.rowBytes() * pixmap.height()); return env->NewDirectByteBuffer(pixmap.writable_addr(), pixmap.rowBytes() * pixmap.height());
...@@ -135,34 +135,34 @@ extern "C" jobject org_jetbrains_skia_Image__1nPeekPixels ...@@ -135,34 +135,34 @@ extern "C" jobject org_jetbrains_skia_Image__1nPeekPixels
#endif #endif
extern "C" jboolean org_jetbrains_skia_Image__1nPeekPixelsToPixmap SKIKO_EXPORT KBoolean org_jetbrains_skia_Image__1nPeekPixelsToPixmap
(jlong ptr, jlong pixmapPtr) { (KNativePointer ptr, KNativePointer pixmapPtr) {
SkImage* instance = reinterpret_cast<SkImage*>(static_cast<uintptr_t>(ptr)); SkImage* instance = reinterpret_cast<SkImage*>((ptr));
SkPixmap* pixmap = reinterpret_cast<SkPixmap*>(static_cast<uintptr_t>(pixmapPtr)); SkPixmap* pixmap = reinterpret_cast<SkPixmap*>((pixmapPtr));
return instance->peekPixels(pixmap); return instance->peekPixels(pixmap);
} }
extern "C" jboolean org_jetbrains_skia_Image__1nReadPixelsBitmap SKIKO_EXPORT KBoolean org_jetbrains_skia_Image__1nReadPixelsBitmap
(jlong ptr, jlong contextPtr, jlong bitmapPtr, jint srcX, jint srcY, jboolean cache) { (KNativePointer ptr, KNativePointer contextPtr, KNativePointer bitmapPtr, KInt srcX, KInt srcY, KBoolean cache) {
SkImage* instance = reinterpret_cast<SkImage*>(static_cast<uintptr_t>(ptr)); SkImage* instance = reinterpret_cast<SkImage*>((ptr));
GrDirectContext* context = reinterpret_cast<GrDirectContext*>(static_cast<uintptr_t>(contextPtr)); GrDirectContext* context = reinterpret_cast<GrDirectContext*>((contextPtr));
SkBitmap* bitmap = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(bitmapPtr)); SkBitmap* bitmap = reinterpret_cast<SkBitmap*>((bitmapPtr));
auto cachingHint = cache ? SkImage::CachingHint::kAllow_CachingHint : SkImage::CachingHint::kDisallow_CachingHint; 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); return instance->readPixels(context, bitmap->info(), bitmap->getPixels(), bitmap->pixmap().rowBytes(), srcX, srcY, cachingHint);
} }
extern "C" jboolean org_jetbrains_skia_Image__1nReadPixelsPixmap SKIKO_EXPORT KBoolean org_jetbrains_skia_Image__1nReadPixelsPixmap
(jlong ptr, jlong pixmapPtr, jint srcX, jint srcY, jboolean cache) { (KNativePointer ptr, KNativePointer pixmapPtr, KInt srcX, KInt srcY, KBoolean cache) {
SkImage* instance = reinterpret_cast<SkImage*>(static_cast<uintptr_t>(ptr)); SkImage* instance = reinterpret_cast<SkImage*>((ptr));
SkPixmap* pixmap = reinterpret_cast<SkPixmap*>(static_cast<uintptr_t>(pixmapPtr)); SkPixmap* pixmap = reinterpret_cast<SkPixmap*>((pixmapPtr));
auto cachingHint = cache ? SkImage::CachingHint::kAllow_CachingHint : SkImage::CachingHint::kDisallow_CachingHint; auto cachingHint = cache ? SkImage::CachingHint::kAllow_CachingHint : SkImage::CachingHint::kDisallow_CachingHint;
return instance->readPixels(*pixmap, srcX, srcY, cachingHint); return instance->readPixels(*pixmap, srcX, srcY, cachingHint);
} }
extern "C" jboolean org_jetbrains_skia_Image__1nScalePixels SKIKO_EXPORT KBoolean org_jetbrains_skia_Image__1nScalePixels
(jlong ptr, jlong pixmapPtr, jlong samplingOptions, jboolean cache) { (KNativePointer ptr, KNativePointer pixmapPtr, KLong samplingOptions, KBoolean cache) {
SkImage* instance = reinterpret_cast<SkImage*>(static_cast<uintptr_t>(ptr)); SkImage* instance = reinterpret_cast<SkImage*>((ptr));
SkPixmap* pixmap = reinterpret_cast<SkPixmap*>(static_cast<uintptr_t>(pixmapPtr)); SkPixmap* pixmap = reinterpret_cast<SkPixmap*>((pixmapPtr));
auto cachingHint = cache ? SkImage::CachingHint::kAllow_CachingHint : SkImage::CachingHint::kDisallow_CachingHint; auto cachingHint = cache ? SkImage::CachingHint::kAllow_CachingHint : SkImage::CachingHint::kDisallow_CachingHint;
return instance->scalePixels(*pixmap, skija::SamplingMode::unpack(samplingOptions), cachingHint); return instance->scalePixels(*pixmap, skija::SamplingMode::unpack(samplingOptions), cachingHint);
} }
...@@ -10,423 +10,423 @@ ...@@ -10,423 +10,423 @@
#include "common.h" #include "common.h"
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeAlphaThreshold SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeAlphaThreshold
(jlong regionPtr, jfloat innerMin, jfloat outerMax, jlong inputPtr, jobject cropObj) { (KNativePointer regionPtr, KFloat innerMin, KFloat outerMax, KNativePointer inputPtr, KInteropPointer cropObj) {
TODO("implement org_jetbrains_skia_ImageFilter__1nMakeAlphaThreshold"); TODO("implement org_jetbrains_skia_ImageFilter__1nMakeAlphaThreshold");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeAlphaThreshold SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeAlphaThreshold
(jlong regionPtr, jfloat innerMin, jfloat outerMax, jlong inputPtr, jobject cropObj) { (KNativePointer regionPtr, KFloat innerMin, KFloat outerMax, KNativePointer inputPtr, KInteropPointer cropObj) {
SkRegion* region = reinterpret_cast<SkRegion*>(static_cast<uintptr_t>(regionPtr)); SkRegion* region = reinterpret_cast<SkRegion*>((regionPtr));
SkImageFilter* input = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(inputPtr)); SkImageFilter* input = reinterpret_cast<SkImageFilter*>((inputPtr));
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj); std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj);
SkImageFilter* ptr = SkImageFilters::AlphaThreshold(*region, innerMin, outerMax, sk_ref_sp(input), crop.get()).release(); SkImageFilter* ptr = SkImageFilters::AlphaThreshold(*region, innerMin, outerMax, sk_ref_sp(input), crop.get()).release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
#endif #endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeArithmetic SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeArithmetic
(jfloat k1, jfloat k2, jfloat k3, jfloat k4, jboolean enforcePMColor, jlong bgPtr, jlong fgPtr, jobject cropObj) { (KFloat k1, KFloat k2, KFloat k3, KFloat k4, KBoolean enforcePMColor, KNativePointer bgPtr, KNativePointer fgPtr, KInteropPointer cropObj) {
TODO("implement org_jetbrains_skia_ImageFilter__1nMakeArithmetic"); TODO("implement org_jetbrains_skia_ImageFilter__1nMakeArithmetic");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeArithmetic SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeArithmetic
(jfloat k1, jfloat k2, jfloat k3, jfloat k4, jboolean enforcePMColor, jlong bgPtr, jlong fgPtr, jobject cropObj) { (KFloat k1, KFloat k2, KFloat k3, KFloat k4, KBoolean enforcePMColor, KNativePointer bgPtr, KNativePointer fgPtr, KInteropPointer cropObj) {
SkImageFilter* bg = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(bgPtr)); SkImageFilter* bg = reinterpret_cast<SkImageFilter*>((bgPtr));
SkImageFilter* fg = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(fgPtr)); SkImageFilter* fg = reinterpret_cast<SkImageFilter*>((fgPtr));
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj); 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(); 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); return reinterpret_cast<KNativePointer>(ptr);
} }
#endif #endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeBlend SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeBlend
(jint blendModeInt, jlong bgPtr, jlong fgPtr, jobject cropObj) { (KInt blendModeInt, KNativePointer bgPtr, KNativePointer fgPtr, KInteropPointer cropObj) {
TODO("implement org_jetbrains_skia_ImageFilter__1nMakeBlend"); TODO("implement org_jetbrains_skia_ImageFilter__1nMakeBlend");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeBlend SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeBlend
(jint blendModeInt, jlong bgPtr, jlong fgPtr, jobject cropObj) { (KInt blendModeInt, KNativePointer bgPtr, KNativePointer fgPtr, KInteropPointer cropObj) {
SkBlendMode blendMode = static_cast<SkBlendMode>(blendModeInt); SkBlendMode blendMode = static_cast<SkBlendMode>(blendModeInt);
SkImageFilter* bg = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(bgPtr)); SkImageFilter* bg = reinterpret_cast<SkImageFilter*>((bgPtr));
SkImageFilter* fg = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(fgPtr)); SkImageFilter* fg = reinterpret_cast<SkImageFilter*>((fgPtr));
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj); 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(); SkImageFilter* ptr = SkImageFilters::Blend(blendMode, sk_ref_sp(bg), sk_ref_sp(fg), crop.get()).release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
#endif #endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeBlur SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeBlur
(jfloat sigmaX, jfloat sigmaY, jint tileModeInt, jlong inputPtr, jobject cropObj) { (KFloat sigmaX, KFloat sigmaY, KInt tileModeInt, KNativePointer inputPtr, KInteropPointer cropObj) {
TODO("implement org_jetbrains_skia_ImageFilter__1nMakeBlur"); TODO("implement org_jetbrains_skia_ImageFilter__1nMakeBlur");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeBlur SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeBlur
(jfloat sigmaX, jfloat sigmaY, jint tileModeInt, jlong inputPtr, jobject cropObj) { (KFloat sigmaX, KFloat sigmaY, KInt tileModeInt, KNativePointer inputPtr, KInteropPointer cropObj) {
SkTileMode tileMode = static_cast<SkTileMode>(tileModeInt); SkTileMode tileMode = static_cast<SkTileMode>(tileModeInt);
SkImageFilter* input = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(inputPtr)); SkImageFilter* input = reinterpret_cast<SkImageFilter*>((inputPtr));
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj); std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj);
SkImageFilter* ptr = SkImageFilters::Blur(sigmaX, sigmaY, tileMode, sk_ref_sp(input), crop.get()).release(); SkImageFilter* ptr = SkImageFilters::Blur(sigmaX, sigmaY, tileMode, sk_ref_sp(input), crop.get()).release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
#endif #endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeColorFilter SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeColorFilter
(jlong colorFilterPtr, jlong inputPtr, jobject cropObj) { (KNativePointer colorFilterPtr, KNativePointer inputPtr, KInteropPointer cropObj) {
TODO("implement org_jetbrains_skia_ImageFilter__1nMakeColorFilter"); TODO("implement org_jetbrains_skia_ImageFilter__1nMakeColorFilter");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeColorFilter SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeColorFilter
(jlong colorFilterPtr, jlong inputPtr, jobject cropObj) { (KNativePointer colorFilterPtr, KNativePointer inputPtr, KInteropPointer cropObj) {
SkColorFilter* colorFilter = reinterpret_cast<SkColorFilter*>(static_cast<uintptr_t>(colorFilterPtr)); SkColorFilter* colorFilter = reinterpret_cast<SkColorFilter*>((colorFilterPtr));
SkImageFilter* input = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(inputPtr)); SkImageFilter* input = reinterpret_cast<SkImageFilter*>((inputPtr));
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj); 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(); SkImageFilter* ptr = SkImageFilters::ColorFilter(sk_ref_sp(colorFilter), sk_ref_sp(input), crop.get()).release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
#endif #endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeCompose SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeCompose
(jlong outerPtr, jlong innerPtr) { (KNativePointer outerPtr, KNativePointer innerPtr) {
SkImageFilter* outer = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(outerPtr)); SkImageFilter* outer = reinterpret_cast<SkImageFilter*>((outerPtr));
SkImageFilter* inner = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(innerPtr)); SkImageFilter* inner = reinterpret_cast<SkImageFilter*>((innerPtr));
SkImageFilter* ptr = SkImageFilters::Compose(sk_ref_sp(outer), sk_ref_sp(inner)).release(); SkImageFilter* ptr = SkImageFilters::Compose(sk_ref_sp(outer), sk_ref_sp(inner)).release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeDisplacementMap SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeDisplacementMap
(jint xChanInt, jint yChanInt, jfloat scale, jlong displacementPtr, jlong colorPtr, jobject cropObj) { (KInt xChanInt, KInt yChanInt, KFloat scale, KNativePointer displacementPtr, KNativePointer colorPtr, KInteropPointer cropObj) {
TODO("implement org_jetbrains_skia_ImageFilter__1nMakeDisplacementMap"); TODO("implement org_jetbrains_skia_ImageFilter__1nMakeDisplacementMap");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeDisplacementMap SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeDisplacementMap
(jint xChanInt, jint yChanInt, jfloat scale, jlong displacementPtr, jlong colorPtr, jobject cropObj) { (KInt xChanInt, KInt yChanInt, KFloat scale, KNativePointer displacementPtr, KNativePointer colorPtr, KInteropPointer cropObj) {
SkColorChannel xChan = static_cast<SkColorChannel>(xChanInt); SkColorChannel xChan = static_cast<SkColorChannel>(xChanInt);
SkColorChannel yChan = static_cast<SkColorChannel>(yChanInt); SkColorChannel yChan = static_cast<SkColorChannel>(yChanInt);
SkImageFilter* displacement = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(displacementPtr)); SkImageFilter* displacement = reinterpret_cast<SkImageFilter*>((displacementPtr));
SkImageFilter* color = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(colorPtr)); SkImageFilter* color = reinterpret_cast<SkImageFilter*>((colorPtr));
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj); 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(); SkImageFilter* ptr = SkImageFilters::DisplacementMap(xChan, yChan, scale, sk_ref_sp(displacement), sk_ref_sp(color), crop.get()).release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
#endif #endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeDropShadow SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeDropShadow
(jfloat dx, jfloat dy, jfloat sigmaX, jfloat sigmaY, jint color, jlong inputPtr, jobject cropObj) { (KFloat dx, KFloat dy, KFloat sigmaX, KFloat sigmaY, KInt color, KNativePointer inputPtr, KInteropPointer cropObj) {
TODO("implement org_jetbrains_skia_ImageFilter__1nMakeDropShadow"); TODO("implement org_jetbrains_skia_ImageFilter__1nMakeDropShadow");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeDropShadow SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeDropShadow
(jfloat dx, jfloat dy, jfloat sigmaX, jfloat sigmaY, jint color, jlong inputPtr, jobject cropObj) { (KFloat dx, KFloat dy, KFloat sigmaX, KFloat sigmaY, KInt color, KNativePointer inputPtr, KInteropPointer cropObj) {
SkImageFilter* input = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(inputPtr)); SkImageFilter* input = reinterpret_cast<SkImageFilter*>((inputPtr));
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj); 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(); SkImageFilter* ptr = SkImageFilters::DropShadow(dx, dy, sigmaX, sigmaY, color, sk_ref_sp(input), crop.get()).release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
#endif #endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeDropShadowOnly SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeDropShadowOnly
(jfloat dx, jfloat dy, jfloat sigmaX, jfloat sigmaY, jint color, jlong inputPtr, jobject cropObj) { (KFloat dx, KFloat dy, KFloat sigmaX, KFloat sigmaY, KInt color, KNativePointer inputPtr, KInteropPointer cropObj) {
TODO("implement org_jetbrains_skia_ImageFilter__1nMakeDropShadowOnly"); TODO("implement org_jetbrains_skia_ImageFilter__1nMakeDropShadowOnly");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeDropShadowOnly SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeDropShadowOnly
(jfloat dx, jfloat dy, jfloat sigmaX, jfloat sigmaY, jint color, jlong inputPtr, jobject cropObj) { (KFloat dx, KFloat dy, KFloat sigmaX, KFloat sigmaY, KInt color, KNativePointer inputPtr, KInteropPointer cropObj) {
SkImageFilter* input = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(inputPtr)); SkImageFilter* input = reinterpret_cast<SkImageFilter*>((inputPtr));
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj); 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(); SkImageFilter* ptr = SkImageFilters::DropShadowOnly(dx, dy, sigmaX, sigmaY, color, sk_ref_sp(input), crop.get()).release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
#endif #endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeImage SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeImage
(jlong imagePtr, jfloat l0, jfloat t0, jfloat r0, jfloat b0, jfloat l1, jfloat t1, jfloat r1, jfloat b1, jlong samplingMode) { (KNativePointer imagePtr, KFloat l0, KFloat t0, KFloat r0, KFloat b0, KFloat l1, KFloat t1, KFloat r1, KFloat b1, KLong samplingMode) {
SkImage* image = reinterpret_cast<SkImage*>(static_cast<uintptr_t>(imagePtr)); SkImage* image = reinterpret_cast<SkImage*>((imagePtr));
SkImageFilter* ptr = SkImageFilters::Image(sk_ref_sp(image), SkRect{l0, t0, r0, b0}, SkRect{l1, t1, r1, b1}, skija::SamplingMode::unpack(samplingMode)).release(); 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); return reinterpret_cast<KNativePointer>(ptr);
} }
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeMagnifier SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeMagnifier
(jfloat l, jfloat t, jfloat r, jfloat b, jfloat inset, jlong inputPtr, jobject cropObj) { (KFloat l, KFloat t, KFloat r, KFloat b, KFloat inset, KNativePointer inputPtr, KInteropPointer cropObj) {
TODO("implement org_jetbrains_skia_ImageFilter__1nMakeMagnifier"); TODO("implement org_jetbrains_skia_ImageFilter__1nMakeMagnifier");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeMagnifier SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeMagnifier
(jfloat l, jfloat t, jfloat r, jfloat b, jfloat inset, jlong inputPtr, jobject cropObj) { (KFloat l, KFloat t, KFloat r, KFloat b, KFloat inset, KNativePointer inputPtr, KInteropPointer cropObj) {
SkImageFilter* input = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(inputPtr)); SkImageFilter* input = reinterpret_cast<SkImageFilter*>((inputPtr));
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj); 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(); SkImageFilter* ptr = SkImageFilters::Magnifier(SkRect{l, t, r, b}, inset, sk_ref_sp(input), crop.get()).release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
#endif #endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeMatrixConvolution SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeMatrixConvolution
(jint kernelW, jint kernelH, jfloatArray kernelArray, jfloat gain, jfloat bias, jint offsetX, jint offsetY, jint tileModeInt, jboolean convolveAlpha, jlong inputPtr, jobject cropObj) { (KInt kernelW, KInt kernelH, KFloat* kernelArray, KFloat gain, KFloat bias, KInt offsetX, KInt offsetY, KInt tileModeInt, KBoolean convolveAlpha, KNativePointer inputPtr, KInteropPointer cropObj) {
TODO("implement org_jetbrains_skia_ImageFilter__1nMakeMatrixConvolution"); TODO("implement org_jetbrains_skia_ImageFilter__1nMakeMatrixConvolution");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeMatrixConvolution SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeMatrixConvolution
(jint kernelW, jint kernelH, jfloatArray kernelArray, jfloat gain, jfloat bias, jint offsetX, jint offsetY, jint tileModeInt, jboolean convolveAlpha, jlong inputPtr, jobject cropObj) { (KInt kernelW, KInt kernelH, KFloat* kernelArray, KFloat gain, KFloat bias, KInt offsetX, KInt offsetY, KInt tileModeInt, KBoolean convolveAlpha, KNativePointer inputPtr, KInteropPointer cropObj) {
jfloat* kernel = env->GetFloatArrayElements(kernelArray, 0); KFloat* kernel = env->GetFloatArrayElements(kernelArray, 0);
SkTileMode tileMode = static_cast<SkTileMode>(tileModeInt); SkTileMode tileMode = static_cast<SkTileMode>(tileModeInt);
SkImageFilter* input = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(inputPtr)); SkImageFilter* input = reinterpret_cast<SkImageFilter*>((inputPtr));
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj); 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(); 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); env->ReleaseFloatArrayElements(kernelArray, kernel, 0);
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
#endif #endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeMatrixTransform SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeMatrixTransform
(jfloatArray matrixArray, jlong samplingMode, jlong inputPtr) { (KFloat* matrixArray, KNativePointer samplingMode, KNativePointer inputPtr) {
TODO("implement org_jetbrains_skia_ImageFilter__1nMakeMatrixTransform"); TODO("implement org_jetbrains_skia_ImageFilter__1nMakeMatrixTransform");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeMatrixTransform SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeMatrixTransform
(jfloatArray matrixArray, jlong samplingMode, jlong inputPtr) { (KFloat* matrixArray, KNativePointer samplingMode, KNativePointer inputPtr) {
std::unique_ptr<SkMatrix> matrix = skMatrix(env, matrixArray); std::unique_ptr<SkMatrix> matrix = skMatrix(env, matrixArray);
SkImageFilter* input = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(inputPtr)); SkImageFilter* input = reinterpret_cast<SkImageFilter*>((inputPtr));
SkImageFilter* ptr = SkImageFilters::MatrixTransform(*matrix, skija::SamplingMode::unpack(samplingMode), sk_ref_sp(input)).release(); SkImageFilter* ptr = SkImageFilters::MatrixTransform(*matrix, skija::SamplingMode::unpack(samplingMode), sk_ref_sp(input)).release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
#endif #endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeMerge SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeMerge
(jlongArray filtersArray, jobject cropObj) { (KNativePointerArray filtersArray, KInteropPointer cropObj) {
TODO("implement org_jetbrains_skia_ImageFilter__1nMakeMerge"); TODO("implement org_jetbrains_skia_ImageFilter__1nMakeMerge");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeMerge SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeMerge
(jlongArray filtersArray, jobject cropObj) { (KNativePointerArray filtersArray, KInteropPointer cropObj) {
jlong* f = env->GetLongArrayElements(filtersArray, 0); KNativePointer* f = env->GetLongArrayElements(filtersArray, 0);
jsize len = env->GetArrayLength(filtersArray); jsize len = env->GetArrayLength(filtersArray);
std::vector<sk_sp<SkImageFilter>> filters(len); std::vector<sk_sp<SkImageFilter>> filters(len);
for (int i = 0; i < len; ++i) { for (int i = 0; i < len; ++i) {
SkImageFilter* fi = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(f[i])); SkImageFilter* fi = reinterpret_cast<SkImageFilter*>((f[i]));
filters[i] = sk_ref_sp(fi); filters[i] = sk_ref_sp(fi);
} }
env->ReleaseLongArrayElements(filtersArray, f, 0); env->ReleaseLongArrayElements(filtersArray, f, 0);
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj); std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj);
SkImageFilter* ptr = SkImageFilters::Merge(filters.data(), len, crop.get()).release(); SkImageFilter* ptr = SkImageFilters::Merge(filters.data(), len, crop.get()).release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
#endif #endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeOffset SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeOffset
(jfloat dx, jfloat dy, jlong inputPtr, jobject cropObj) { (KFloat dx, KFloat dy, KNativePointer inputPtr, KInteropPointer cropObj) {
TODO("implement org_jetbrains_skia_ImageFilter__1nMakeOffset"); TODO("implement org_jetbrains_skia_ImageFilter__1nMakeOffset");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeOffset SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeOffset
(jfloat dx, jfloat dy, jlong inputPtr, jobject cropObj) { (KFloat dx, KFloat dy, KNativePointer inputPtr, KInteropPointer cropObj) {
SkImageFilter* input = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(inputPtr)); SkImageFilter* input = reinterpret_cast<SkImageFilter*>((inputPtr));
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj); std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj);
SkImageFilter* ptr = SkImageFilters::Offset(dx, dy, sk_ref_sp(input), crop.get()).release(); SkImageFilter* ptr = SkImageFilters::Offset(dx, dy, sk_ref_sp(input), crop.get()).release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
#endif #endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakePaint SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakePaint
(jlong paintPtr, jobject cropObj) { (KNativePointer paintPtr, KInteropPointer cropObj) {
TODO("implement org_jetbrains_skia_ImageFilter__1nMakePaint"); TODO("implement org_jetbrains_skia_ImageFilter__1nMakePaint");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakePaint SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakePaint
(jlong paintPtr, jobject cropObj) { (KNativePointer paintPtr, KInteropPointer cropObj) {
SkPaint* paint = reinterpret_cast<SkPaint*>(static_cast<uintptr_t>(paintPtr)); SkPaint* paint = reinterpret_cast<SkPaint*>((paintPtr));
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj); std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj);
SkImageFilter* ptr = SkImageFilters::Paint(*paint, crop.get()).release(); SkImageFilter* ptr = SkImageFilters::Paint(*paint, crop.get()).release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
#endif #endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakePicture SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakePicture
(jlong picturePtr, jfloat l, jfloat t, jfloat r, jfloat b) { (KNativePointer picturePtr, KFloat l, KFloat t, KFloat r, KFloat b) {
SkPicture* picture = reinterpret_cast<SkPicture*>(static_cast<uintptr_t>(picturePtr)); SkPicture* picture = reinterpret_cast<SkPicture*>((picturePtr));
SkImageFilter* ptr = SkImageFilters::Picture(sk_ref_sp(picture), SkRect{l, t, r, b}).release(); SkImageFilter* ptr = SkImageFilters::Picture(sk_ref_sp(picture), SkRect{l, t, r, b}).release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeTile SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeTile
(jfloat l0, jfloat t0, jfloat r0, jfloat b0, jfloat l1, jfloat t1, jfloat r1, jfloat b1, jlong inputPtr) { (KFloat l0, KFloat t0, KFloat r0, KFloat b0, KFloat l1, KFloat t1, KFloat r1, KFloat b1, KNativePointer inputPtr) {
SkImageFilter* input = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(inputPtr)); SkImageFilter* input = reinterpret_cast<SkImageFilter*>((inputPtr));
SkImageFilter* ptr = SkImageFilters::Tile(SkRect{l0, t0, r0, b0}, SkRect{l1, t1, r1, b1}, sk_ref_sp(input)).release(); SkImageFilter* ptr = SkImageFilters::Tile(SkRect{l0, t0, r0, b0}, SkRect{l1, t1, r1, b1}, sk_ref_sp(input)).release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeDilate SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeDilate
(float rx, jfloat ry, jlong inputPtr, jobject cropObj) { (float rx, KFloat ry, KNativePointer inputPtr, KInteropPointer cropObj) {
TODO("implement org_jetbrains_skia_ImageFilter__1nMakeDilate"); TODO("implement org_jetbrains_skia_ImageFilter__1nMakeDilate");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeDilate SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeDilate
(float rx, jfloat ry, jlong inputPtr, jobject cropObj) { (float rx, KFloat ry, KNativePointer inputPtr, KInteropPointer cropObj) {
SkImageFilter* input = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(inputPtr)); SkImageFilter* input = reinterpret_cast<SkImageFilter*>((inputPtr));
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj); std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj);
SkImageFilter* ptr = SkImageFilters::Dilate(rx, ry, sk_ref_sp(input), crop.get()).release(); SkImageFilter* ptr = SkImageFilters::Dilate(rx, ry, sk_ref_sp(input), crop.get()).release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
#endif #endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeErode SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeErode
(float rx, jfloat ry, jlong inputPtr, jobject cropObj) { (float rx, KFloat ry, KNativePointer inputPtr, KInteropPointer cropObj) {
TODO("implement org_jetbrains_skia_ImageFilter__1nMakeErode"); TODO("implement org_jetbrains_skia_ImageFilter__1nMakeErode");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeErode SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeErode
(float rx, jfloat ry, jlong inputPtr, jobject cropObj) { (float rx, KFloat ry, KNativePointer inputPtr, KInteropPointer cropObj) {
SkImageFilter* input = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(inputPtr)); SkImageFilter* input = reinterpret_cast<SkImageFilter*>((inputPtr));
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj); std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj);
SkImageFilter* ptr = SkImageFilters::Erode(rx, ry, sk_ref_sp(input), crop.get()).release(); SkImageFilter* ptr = SkImageFilters::Erode(rx, ry, sk_ref_sp(input), crop.get()).release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
#endif #endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeDistantLitDiffuse SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeDistantLitDiffuse
(jfloat x, jfloat y, jfloat z, jint lightColor, jfloat surfaceScale, jfloat kd, jlong inputPtr, jobject cropObj) { (KFloat x, KFloat y, KFloat z, KInt lightColor, KFloat surfaceScale, KFloat kd, KNativePointer inputPtr, KInteropPointer cropObj) {
TODO("implement org_jetbrains_skia_ImageFilter__1nMakeDistantLitDiffuse"); TODO("implement org_jetbrains_skia_ImageFilter__1nMakeDistantLitDiffuse");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeDistantLitDiffuse SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeDistantLitDiffuse
(jfloat x, jfloat y, jfloat z, jint lightColor, jfloat surfaceScale, jfloat kd, jlong inputPtr, jobject cropObj) { (KFloat x, KFloat y, KFloat z, KInt lightColor, KFloat surfaceScale, KFloat kd, KNativePointer inputPtr, KInteropPointer cropObj) {
SkImageFilter* input = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(inputPtr)); SkImageFilter* input = reinterpret_cast<SkImageFilter*>((inputPtr));
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj); 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(); SkImageFilter* ptr = SkImageFilters::DistantLitDiffuse(SkPoint3{x, y, z}, lightColor, surfaceScale, kd, sk_ref_sp(input), crop.get()).release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
#endif #endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakePointLitDiffuse SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakePointLitDiffuse
(jfloat x, jfloat y, jfloat z, jint lightColor, jfloat surfaceScale, jfloat kd, jlong inputPtr, jobject cropObj) { (KFloat x, KFloat y, KFloat z, KInt lightColor, KFloat surfaceScale, KFloat kd, KNativePointer inputPtr, KInteropPointer cropObj) {
TODO("implement org_jetbrains_skia_ImageFilter__1nMakePointLitDiffuse"); TODO("implement org_jetbrains_skia_ImageFilter__1nMakePointLitDiffuse");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakePointLitDiffuse SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakePointLitDiffuse
(jfloat x, jfloat y, jfloat z, jint lightColor, jfloat surfaceScale, jfloat kd, jlong inputPtr, jobject cropObj) { (KFloat x, KFloat y, KFloat z, KInt lightColor, KFloat surfaceScale, KFloat kd, KNativePointer inputPtr, KInteropPointer cropObj) {
SkImageFilter* input = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(inputPtr)); SkImageFilter* input = reinterpret_cast<SkImageFilter*>((inputPtr));
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj); 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(); SkImageFilter* ptr = SkImageFilters::PointLitDiffuse(SkPoint3{x, y, z}, lightColor, surfaceScale, kd, sk_ref_sp(input), crop.get()).release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
#endif #endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeSpotLitDiffuse SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeSpotLitDiffuse
(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) { (KFloat x0, KFloat y0, KFloat z0, KFloat x1, KFloat y1, KFloat z1, KFloat falloffExponent, KFloat cutoffAngle, KInt lightColor, KFloat surfaceScale, KFloat kd, KNativePointer inputPtr, KInteropPointer cropObj) {
TODO("implement org_jetbrains_skia_ImageFilter__1nMakeSpotLitDiffuse"); TODO("implement org_jetbrains_skia_ImageFilter__1nMakeSpotLitDiffuse");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeSpotLitDiffuse SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeSpotLitDiffuse
(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) { (KFloat x0, KFloat y0, KFloat z0, KFloat x1, KFloat y1, KFloat z1, KFloat falloffExponent, KFloat cutoffAngle, KInt lightColor, KFloat surfaceScale, KFloat kd, KNativePointer inputPtr, KInteropPointer cropObj) {
SkImageFilter* input = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(inputPtr)); SkImageFilter* input = reinterpret_cast<SkImageFilter*>((inputPtr));
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj); 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(); 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); return reinterpret_cast<KNativePointer>(ptr);
} }
#endif #endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeDistantLitSpecular SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeDistantLitSpecular
(jfloat x, jfloat y, jfloat z, jint lightColor, jfloat surfaceScale, jfloat ks, jfloat shininess, jlong inputPtr, jobject cropObj) { (KFloat x, KFloat y, KFloat z, KInt lightColor, KFloat surfaceScale, KFloat ks, KFloat shininess, KNativePointer inputPtr, KInteropPointer cropObj) {
TODO("implement org_jetbrains_skia_ImageFilter__1nMakeDistantLitSpecular"); TODO("implement org_jetbrains_skia_ImageFilter__1nMakeDistantLitSpecular");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeDistantLitSpecular SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeDistantLitSpecular
(jfloat x, jfloat y, jfloat z, jint lightColor, jfloat surfaceScale, jfloat ks, jfloat shininess, jlong inputPtr, jobject cropObj) { (KFloat x, KFloat y, KFloat z, KInt lightColor, KFloat surfaceScale, KFloat ks, KFloat shininess, KNativePointer inputPtr, KInteropPointer cropObj) {
SkImageFilter* input = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(inputPtr)); SkImageFilter* input = reinterpret_cast<SkImageFilter*>((inputPtr));
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj); 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(); SkImageFilter* ptr = SkImageFilters::DistantLitSpecular(SkPoint3{x, y, z}, lightColor, surfaceScale, ks, shininess, sk_ref_sp(input), crop.get()).release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
#endif #endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakePointLitSpecular SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakePointLitSpecular
(jfloat x, jfloat y, jfloat z, jint lightColor, jfloat surfaceScale, jfloat ks, jfloat shininess, jlong inputPtr, jobject cropObj) { (KFloat x, KFloat y, KFloat z, KInt lightColor, KFloat surfaceScale, KFloat ks, KFloat shininess, KNativePointer inputPtr, KInteropPointer cropObj) {
TODO("implement org_jetbrains_skia_ImageFilter__1nMakePointLitSpecular"); TODO("implement org_jetbrains_skia_ImageFilter__1nMakePointLitSpecular");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakePointLitSpecular SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakePointLitSpecular
(jfloat x, jfloat y, jfloat z, jint lightColor, jfloat surfaceScale, jfloat ks, jfloat shininess, jlong inputPtr, jobject cropObj) { (KFloat x, KFloat y, KFloat z, KInt lightColor, KFloat surfaceScale, KFloat ks, KFloat shininess, KNativePointer inputPtr, KInteropPointer cropObj) {
SkImageFilter* input = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(inputPtr)); SkImageFilter* input = reinterpret_cast<SkImageFilter*>((inputPtr));
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj); 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(); SkImageFilter* ptr = SkImageFilters::PointLitSpecular(SkPoint3{x, y, z}, lightColor, surfaceScale, ks, shininess, sk_ref_sp(input), crop.get()).release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
#endif #endif
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeSpotLitSpecular SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeSpotLitSpecular
(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) { (KFloat x0, KFloat y0, KFloat z0, KFloat x1, KFloat y1, KFloat z1, KFloat falloffExponent, KFloat cutoffAngle, KInt lightColor, KFloat surfaceScale, KFloat ks, KFloat shininess, KNativePointer inputPtr, KInteropPointer cropObj) {
TODO("implement org_jetbrains_skia_ImageFilter__1nMakeSpotLitSpecular"); TODO("implement org_jetbrains_skia_ImageFilter__1nMakeSpotLitSpecular");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_ImageFilter__1nMakeSpotLitSpecular SKIKO_EXPORT KNativePointer org_jetbrains_skia_ImageFilter__1nMakeSpotLitSpecular
(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) { (KFloat x0, KFloat y0, KFloat z0, KFloat x1, KFloat y1, KFloat z1, KFloat falloffExponent, KFloat cutoffAngle, KInt lightColor, KFloat surfaceScale, KFloat ks, KFloat shininess, KNativePointer inputPtr, KInteropPointer cropObj) {
SkImageFilter* input = reinterpret_cast<SkImageFilter*>(static_cast<uintptr_t>(inputPtr)); SkImageFilter* input = reinterpret_cast<SkImageFilter*>((inputPtr));
std::unique_ptr<SkIRect> crop = skija::IRect::toSkIRect(env, cropObj); 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(); 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); return reinterpret_cast<KNativePointer>(ptr);
} }
#endif #endif
...@@ -8,51 +8,51 @@ static void deleteString(SkString* instance) { ...@@ -8,51 +8,51 @@ static void deleteString(SkString* instance) {
delete instance; delete instance;
} }
extern "C" jlong org_jetbrains_skia_ManagedString__1nGetFinalizer SKIKO_EXPORT KNativePointer org_jetbrains_skia_ManagedString__1nGetFinalizer
() { () {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(&deleteString)); return reinterpret_cast<KNativePointer>((&deleteString));
} }
extern "C" jlong org_jetbrains_skia_ManagedString__1nMake SKIKO_EXPORT KNativePointer org_jetbrains_skia_ManagedString__1nMake
(jstring textStr) { (KInteropPointer textStr) {
TODO("implement org_jetbrains_skia_ManagedString__1nMake"); TODO("implement org_jetbrains_skia_ManagedString__1nMake");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_ManagedString__1nMake SKIKO_EXPORT KNativePointer org_jetbrains_skia_ManagedString__1nMake
(jstring textStr) { (KInteropPointer textStr) {
SkString* text = new SkString(skString(env, textStr)); SkString* text = new SkString(skString(env, textStr));
return reinterpret_cast<jlong>(text); return reinterpret_cast<KNativePointer>(text);
} }
#endif #endif
extern "C" jobject org_jetbrains_skia_ManagedString__1nToString SKIKO_EXPORT KInteropPointer org_jetbrains_skia_ManagedString__1nToString
(jlong ptr) { (KNativePointer ptr) {
TODO("implement org_jetbrains_skia_ManagedString__1nToString"); TODO("implement org_jetbrains_skia_ManagedString__1nToString");
} }
#if 0 #if 0
extern "C" jobject org_jetbrains_skia_ManagedString__1nToString SKIKO_EXPORT KInteropPointer org_jetbrains_skia_ManagedString__1nToString
(jlong ptr) { (KNativePointer ptr) {
SkString* instance = reinterpret_cast<SkString*>(static_cast<uintptr_t>(ptr)); SkString* instance = reinterpret_cast<SkString*>((ptr));
return javaString(env, *instance); return javaString(env, *instance);
} }
#endif #endif
extern "C" void org_jetbrains_skia_ManagedString__1nInsert SKIKO_EXPORT void org_jetbrains_skia_ManagedString__1nInsert
(jlong ptr, jint offset, jstring s) { (KNativePointer ptr, KInt offset, KInteropPointer s) {
TODO("implement org_jetbrains_skia_ManagedString__1nInsert"); TODO("implement org_jetbrains_skia_ManagedString__1nInsert");
} }
#if 0 #if 0
extern "C" void org_jetbrains_skia_ManagedString__1nInsert SKIKO_EXPORT void org_jetbrains_skia_ManagedString__1nInsert
(jlong ptr, jint offset, jstring s) { (KNativePointer ptr, KInt offset, KInteropPointer s) {
SkString* instance = reinterpret_cast<SkString*>(static_cast<uintptr_t>(ptr)); SkString* instance = reinterpret_cast<SkString*>((ptr));
skija::UtfIndicesConverter conv(*instance); skija::UtfIndicesConverter conv(*instance);
instance->insert(conv.from16To8(offset), skString(env, s)); instance->insert(conv.from16To8(offset), skString(env, s));
} }
...@@ -60,31 +60,31 @@ extern "C" void org_jetbrains_skia_ManagedString__1nInsert ...@@ -60,31 +60,31 @@ extern "C" void org_jetbrains_skia_ManagedString__1nInsert
extern "C" void org_jetbrains_skia_ManagedString__1nAppend SKIKO_EXPORT void org_jetbrains_skia_ManagedString__1nAppend
(jlong ptr, jstring s) { (KNativePointer ptr, KInteropPointer s) {
TODO("implement org_jetbrains_skia_ManagedString__1nAppend"); TODO("implement org_jetbrains_skia_ManagedString__1nAppend");
} }
#if 0 #if 0
extern "C" void org_jetbrains_skia_ManagedString__1nAppend SKIKO_EXPORT void org_jetbrains_skia_ManagedString__1nAppend
(jlong ptr, jstring s) { (KNativePointer ptr, KInteropPointer s) {
SkString* instance = reinterpret_cast<SkString*>(static_cast<uintptr_t>(ptr)); SkString* instance = reinterpret_cast<SkString*>((ptr));
instance->append(skString(env, s)); instance->append(skString(env, s));
} }
#endif #endif
extern "C" void org_jetbrains_skia_ManagedString__1nRemoveSuffix SKIKO_EXPORT void org_jetbrains_skia_ManagedString__1nRemoveSuffix
(jlong ptr, jint from) { (KNativePointer ptr, KInt from) {
SkString* instance = reinterpret_cast<SkString*>(static_cast<uintptr_t>(ptr)); SkString* instance = reinterpret_cast<SkString*>((ptr));
skija::UtfIndicesConverter conv(*instance); skija::UtfIndicesConverter conv(*instance);
size_t from8 = conv.from16To8(from); size_t from8 = conv.from16To8(from);
instance->remove(from8, instance->size() - from8); instance->remove(from8, instance->size() - from8);
} }
extern "C" void org_jetbrains_skia_ManagedString__1nRemove SKIKO_EXPORT void org_jetbrains_skia_ManagedString__1nRemove
(jlong ptr, jint from, jint len) { (KNativePointer ptr, KInt from, KInt len) {
SkString* instance = reinterpret_cast<SkString*>(static_cast<uintptr_t>(ptr)); SkString* instance = reinterpret_cast<SkString*>((ptr));
skija::UtfIndicesConverter conv(*instance); skija::UtfIndicesConverter conv(*instance);
size_t from8 = conv.from16To8(from); size_t from8 = conv.from16To8(from);
size_t to8 = conv.from16To8(from + len); size_t to8 = conv.from16To8(from + len);
......
...@@ -8,45 +8,45 @@ ...@@ -8,45 +8,45 @@
#include "SkTableMaskFilter.h" #include "SkTableMaskFilter.h"
#include "common.h" #include "common.h"
extern "C" jlong org_jetbrains_skia_MaskFilter__1nMakeBlur SKIKO_EXPORT KInteropPointer org_jetbrains_skia_MaskFilter__1nMakeBlur
(jint blurStyleInt, jfloat sigma, jboolean respectCTM) { (KInt blurStyleInt, KFloat sigma, KBoolean respectCTM) {
SkBlurStyle blurStyle = static_cast<SkBlurStyle>(blurStyleInt); SkBlurStyle blurStyle = static_cast<SkBlurStyle>(blurStyleInt);
SkMaskFilter* ptr = SkMaskFilter::MakeBlur(blurStyle, sigma, respectCTM).release(); SkMaskFilter* ptr = SkMaskFilter::MakeBlur(blurStyle, sigma, respectCTM).release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KInteropPointer>(ptr);
} }
extern "C" jlong org_jetbrains_skia_MaskFilter__1nMakeShader SKIKO_EXPORT KInteropPointer org_jetbrains_skia_MaskFilter__1nMakeShader
(jlong shaderPtr) { (KInteropPointer shaderPtr) {
SkShader* shader = reinterpret_cast<SkShader*>(static_cast<uintptr_t>(shaderPtr)); SkShader* shader = reinterpret_cast<SkShader*>((shaderPtr));
SkMaskFilter* ptr = SkShaderMaskFilter::Make(sk_ref_sp(shader)).release(); SkMaskFilter* ptr = SkShaderMaskFilter::Make(sk_ref_sp(shader)).release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KInteropPointer>(ptr);
} }
extern "C" jlong org_jetbrains_skia_MaskFilter__1nMakeTable SKIKO_EXPORT KInteropPointer org_jetbrains_skia_MaskFilter__1nMakeTable
(jbyteArray tableArray) { (KByte* tableArray) {
TODO("implement org_jetbrains_skia_MaskFilter__1nMakeTable"); TODO("implement org_jetbrains_skia_MaskFilter__1nMakeTable");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_MaskFilter__1nMakeTable SKIKO_EXPORT KInteropPointer org_jetbrains_skia_MaskFilter__1nMakeTable
(jbyteArray tableArray) { (KByte* tableArray) {
jbyte* table = env->GetByteArrayElements(tableArray, 0); KByte* table = env->GetByteArrayElements(tableArray, 0);
SkMaskFilter* ptr = SkTableMaskFilter::Create(reinterpret_cast<uint8_t*>(table)); SkMaskFilter* ptr = SkTableMaskFilter::Create(reinterpret_cast<uint8_t*>(table));
env->ReleaseByteArrayElements(tableArray, table, 0); env->ReleaseByteArrayElements(tableArray, table, 0);
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KInteropPointer>(ptr);
} }
#endif #endif
extern "C" jlong org_jetbrains_skia_MaskFilter__1nMakeGamma SKIKO_EXPORT KInteropPointer org_jetbrains_skia_MaskFilter__1nMakeGamma
(jfloat gamma) { (KFloat gamma) {
SkMaskFilter* ptr = SkTableMaskFilter::CreateGamma(gamma); SkMaskFilter* ptr = SkTableMaskFilter::CreateGamma(gamma);
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KInteropPointer>(ptr);
} }
extern "C" jlong org_jetbrains_skia_MaskFilter__1nMakeClip SKIKO_EXPORT KInteropPointer org_jetbrains_skia_MaskFilter__1nMakeClip
(jbyte min, jbyte max) { (KByte min, KByte max) {
SkMaskFilter* ptr = SkTableMaskFilter::CreateClip(static_cast<uint8_t>(min), static_cast<uint8_t>(max)); SkMaskFilter* ptr = SkTableMaskFilter::CreateClip(static_cast<uint8_t>(min), static_cast<uint8_t>(max));
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KInteropPointer>(ptr);
} }
...@@ -6,30 +6,30 @@ ...@@ -6,30 +6,30 @@
#include "common.h" #include "common.h"
extern "C" jlong org_jetbrains_skia_OutputWStream__1nGetFinalizer SKIKO_EXPORT KNativePointer org_jetbrains_skia_OutputWStream__1nGetFinalizer
() { () {
TODO("implement org_jetbrains_skia_OutputWStream__1nGetFinalizer"); TODO("implement org_jetbrains_skia_OutputWStream__1nGetFinalizer");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_OutputWStream__1nGetFinalizer SKIKO_EXPORT KNativePointer org_jetbrains_skia_OutputWStream__1nGetFinalizer
() { () {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(&deleteOutputWStream)); return reinterpret_cast<KNativePointer>((&deleteOutputWStream));
} }
#endif #endif
extern "C" jlong org_jetbrains_skia_OutputWStream__1nMake SKIKO_EXPORT KNativePointer org_jetbrains_skia_OutputWStream__1nMake
(jobject outputStream) { (KInteropPointer outputStream) {
TODO("implement org_jetbrains_skia_OutputWStream__1nMake"); TODO("implement org_jetbrains_skia_OutputWStream__1nMake");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_OutputWStream__1nMake SKIKO_EXPORT KNativePointer org_jetbrains_skia_OutputWStream__1nMake
(jobject outputStream) { (KInteropPointer outputStream) {
OutputWStream* instance = new OutputWStream(env, outputStream); OutputWStream* instance = new OutputWStream(env, outputStream);
return reinterpret_cast<jlong>(instance); return reinterpret_cast<KNativePointer>(instance);
} }
#endif #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;
}
SKIKO_EXPORT KNativePointer org_jetbrains_skia_Paint__1nGetFinalizer
(){
return reinterpret_cast<KNativePointer>((&deletePaint));
}
SKIKO_EXPORT KNativePointer org_jetbrains_skia_Paint__1nMake
(){
SkPaint* obj = new SkPaint();
obj->setAntiAlias(true);
return reinterpret_cast<KNativePointer>(obj);
}
SKIKO_EXPORT KNativePointer org_jetbrains_skia_Paint__1nMakeClone
(KNativePointer ptr) {
SkPaint* instance = reinterpret_cast<SkPaint*>((ptr));
SkPaint* obj = new SkPaint(*instance);
return reinterpret_cast<KNativePointer>(obj);
}
SKIKO_EXPORT KBoolean org_jetbrains_skia_Paint__1nEquals
(KNativePointer aPtr, KNativePointer bPtr) {
SkPaint* a = reinterpret_cast<SkPaint*>((aPtr));
SkPaint* b = reinterpret_cast<SkPaint*>((bPtr));
return *a == *b;
}
SKIKO_EXPORT void org_jetbrains_skia_Paint__1nReset
(KNativePointer ptr) {
SkPaint* instance = reinterpret_cast<SkPaint*>((ptr));
instance->reset();
}
SKIKO_EXPORT KBoolean org_jetbrains_skia_Paint__1nIsAntiAlias
(KNativePointer ptr) {
SkPaint* instance = reinterpret_cast<SkPaint*>((ptr));
return instance->isAntiAlias();
}
SKIKO_EXPORT void org_jetbrains_skia_Paint__1nSetAntiAlias
(KNativePointer ptr, KBoolean value) {
SkPaint* instance = reinterpret_cast<SkPaint*>((ptr));
instance->setAntiAlias(value);
}
SKIKO_EXPORT KBoolean org_jetbrains_skia_Paint__1nIsDither
(KNativePointer ptr) {
SkPaint* instance = reinterpret_cast<SkPaint*>((ptr));
return instance->isDither();
}
SKIKO_EXPORT void org_jetbrains_skia_Paint__1nSetDither
(KNativePointer ptr, KBoolean value) {
SkPaint* instance = reinterpret_cast<SkPaint*>((ptr));
instance->setDither(value);
}
SKIKO_EXPORT KInt org_jetbrains_skia_Paint__1nGetColor
(KNativePointer ptr) {
SkPaint* instance = reinterpret_cast<SkPaint*>((ptr));
return instance->getColor();
}
SKIKO_EXPORT void org_jetbrains_skia_Paint__1nSetColor
(KNativePointer ptr, KInt color) {
SkPaint* instance = reinterpret_cast<SkPaint*>((ptr));
instance->setColor(color);
}
SKIKO_EXPORT KInteropPointer org_jetbrains_skia_Paint__1nGetColor4f
(KNativePointer ptr) {
TODO("implement org_jetbrains_skia_Paint__1nGetColor4f");
}
#if 0
SKIKO_EXPORT KInteropPointer org_jetbrains_skia_Paint__1nGetColor4f
(KNativePointer ptr) {
SkPaint* instance = reinterpret_cast<SkPaint*>((ptr));
SkColor4f color = instance->getColor4f();
return env->NewObject(skija::Color4f::cls, skija::Color4f::ctor, color.fR, color.fG, color.fB, color.fA);
}
#endif
SKIKO_EXPORT void org_jetbrains_skia_Paint__1nSetColor4f
(KNativePointer ptr, KFloat r, KFloat g, KFloat b, KFloat a, KNativePointer colorSpacePtr) {
SkPaint* instance = reinterpret_cast<SkPaint*>((ptr));
SkColorSpace* colorSpace = reinterpret_cast<SkColorSpace*>((colorSpacePtr));
instance->setColor4f({r, g, b, a}, colorSpace);
}
SKIKO_EXPORT KInt org_jetbrains_skia_Paint__1nGetMode
(KNativePointer ptr) {
SkPaint* instance = reinterpret_cast<SkPaint*>((ptr));
return instance->getStyle();
}
SKIKO_EXPORT void org_jetbrains_skia_Paint__1nSetMode
(KNativePointer ptr, KInt mode) {
SkPaint* instance = reinterpret_cast<SkPaint*>((ptr));
instance->setStyle(static_cast<SkPaint::Style>(mode));
}
SKIKO_EXPORT KFloat org_jetbrains_skia_Paint__1nGetStrokeWidth
(KNativePointer ptr) {
SkPaint* instance = reinterpret_cast<SkPaint*>((ptr));
return instance->getStrokeWidth();
}
SKIKO_EXPORT void org_jetbrains_skia_Paint__1nSetStrokeWidth
(KNativePointer ptr, KFloat width) {
SkPaint* instance = reinterpret_cast<SkPaint*>((ptr));
instance->setStrokeWidth(width);
}
SKIKO_EXPORT KFloat org_jetbrains_skia_Paint__1nGetStrokeMiter
(KNativePointer ptr) {
SkPaint* instance = reinterpret_cast<SkPaint*>((ptr));
return instance->getStrokeMiter();
}
SKIKO_EXPORT void org_jetbrains_skia_Paint__1nSetStrokeMiter
(KNativePointer ptr, KFloat miter) {
SkPaint* instance = reinterpret_cast<SkPaint*>((ptr));
instance->setStrokeMiter(miter);
}
SKIKO_EXPORT KInt org_jetbrains_skia_Paint__1nGetStrokeCap
(KNativePointer ptr) {
SkPaint* instance = reinterpret_cast<SkPaint*>((ptr));
return instance->getStrokeCap();
}
SKIKO_EXPORT void org_jetbrains_skia_Paint__1nSetStrokeCap
(KNativePointer ptr, KInt cap) {
SkPaint* instance = reinterpret_cast<SkPaint*>((ptr));
instance->setStrokeCap(static_cast<SkPaint::Cap>(cap));
}
SKIKO_EXPORT KInt org_jetbrains_skia_Paint__1nGetStrokeJoin
(KNativePointer ptr) {
SkPaint* instance = reinterpret_cast<SkPaint*>((ptr));
return instance->getStrokeJoin();
}
SKIKO_EXPORT void org_jetbrains_skia_Paint__1nSetStrokeJoin
(KNativePointer ptr, KInt join) {
SkPaint* instance = reinterpret_cast<SkPaint*>((ptr));
instance->setStrokeJoin(static_cast<SkPaint::Join>(join));
}
SKIKO_EXPORT KNativePointer org_jetbrains_skia_Paint__1nGetFillPath
(KNativePointer ptr, KNativePointer srcPtr, KFloat resScale) {
SkPaint* instance = reinterpret_cast<SkPaint*>((ptr));
SkPath* src = reinterpret_cast<SkPath*>((srcPtr));
SkPath* dst = new SkPath();
instance->getFillPath(*src, dst, nullptr, resScale);
return reinterpret_cast<KNativePointer>(dst);
}
SKIKO_EXPORT KNativePointer org_jetbrains_skia_Paint__1nGetFillPathCull
(KNativePointer ptr, KNativePointer srcPtr, KFloat left, KFloat top, KFloat right, KFloat bottom, KFloat resScale) {
SkPaint* instance = reinterpret_cast<SkPaint*>((ptr));
SkPath* src = reinterpret_cast<SkPath*>((srcPtr));
SkPath* dst = new SkPath();
SkRect cull {left, top, right, bottom};
instance->getFillPath(*src, dst, &cull, resScale);
return reinterpret_cast<KNativePointer>(dst);
}
SKIKO_EXPORT KNativePointer org_jetbrains_skia_Paint__1nGetMaskFilter
(KNativePointer ptr) {
SkPaint* instance = reinterpret_cast<SkPaint*>((ptr));
return reinterpret_cast<KNativePointer>(instance->refMaskFilter().release());
}
SKIKO_EXPORT void org_jetbrains_skia_Paint__1nSetMaskFilter
(KNativePointer ptr, KNativePointer filterPtr) {
SkPaint* instance = reinterpret_cast<SkPaint*>((ptr));
SkMaskFilter* filter = reinterpret_cast<SkMaskFilter*>((filterPtr));
instance->setMaskFilter(sk_ref_sp<SkMaskFilter>(filter));
}
SKIKO_EXPORT KNativePointer org_jetbrains_skia_Paint__1nGetImageFilter
(KNativePointer ptr) {
SkPaint* instance = reinterpret_cast<SkPaint*>((ptr));
return reinterpret_cast<KNativePointer>(instance->refImageFilter().release());
}
SKIKO_EXPORT void org_jetbrains_skia_Paint__1nSetImageFilter
(KNativePointer ptr, KNativePointer filterPtr) {
SkPaint* instance = reinterpret_cast<SkPaint*>((ptr));
SkImageFilter* filter = reinterpret_cast<SkImageFilter*>((filterPtr));
instance->setImageFilter(sk_ref_sp<SkImageFilter>(filter));
}
SKIKO_EXPORT KInt org_jetbrains_skia_Paint__1nGetBlendMode
(KNativePointer ptr) {
SkPaint* instance = reinterpret_cast<SkPaint*>((ptr));
return static_cast<KInt>(instance->getBlendMode_or(SkBlendMode::kSrcOver));
}
SKIKO_EXPORT void org_jetbrains_skia_Paint__1nSetBlendMode
(KNativePointer ptr, KInt mode) {
SkPaint* instance = reinterpret_cast<SkPaint*>((ptr));
instance->setBlendMode(static_cast<SkBlendMode>(mode));
}
SKIKO_EXPORT KNativePointer org_jetbrains_skia_Paint__1nGetPathEffect
(KNativePointer ptr) {
SkPaint* instance = reinterpret_cast<SkPaint*>((ptr));
return reinterpret_cast<KNativePointer>(instance->refPathEffect().release());
}
SKIKO_EXPORT void org_jetbrains_skia_Paint__1nSetPathEffect
(KNativePointer ptr, KNativePointer pathEffectPtr) {
SkPaint* instance = reinterpret_cast<SkPaint*>((ptr));
SkPathEffect* pathEffect = reinterpret_cast<SkPathEffect*>((pathEffectPtr));
instance->setPathEffect(sk_ref_sp(pathEffect));
}
SKIKO_EXPORT KNativePointer org_jetbrains_skia_Paint__1nGetShader
(KNativePointer ptr) {
SkPaint* instance = reinterpret_cast<SkPaint*>((ptr));
return reinterpret_cast<KNativePointer>(instance->refShader().release());
}
SKIKO_EXPORT void org_jetbrains_skia_Paint__1nSetShader
(KNativePointer ptr, KNativePointer shaderPtr) {
SkPaint* instance = reinterpret_cast<SkPaint*>((ptr));
SkShader* shader = reinterpret_cast<SkShader*>((shaderPtr));
instance->setShader(sk_ref_sp<SkShader>(shader));
}
SKIKO_EXPORT KNativePointer org_jetbrains_skia_Paint__1nGetColorFilter
(KNativePointer ptr) {
SkPaint* instance = reinterpret_cast<SkPaint*>((ptr));
return reinterpret_cast<KNativePointer>(instance->refColorFilter().release());
}
SKIKO_EXPORT void org_jetbrains_skia_Paint__1nSetColorFilter
(KNativePointer ptr, KNativePointer colorFilterPtr) {
SkPaint* instance = reinterpret_cast<SkPaint*>((ptr));
SkColorFilter* colorFilter = reinterpret_cast<SkColorFilter*>((colorFilterPtr));
instance->setColorFilter(sk_ref_sp<SkColorFilter>(colorFilter));
}
SKIKO_EXPORT KBoolean org_jetbrains_skia_Paint__1nHasNothingToDraw
(KNativePointer ptr) {
SkPaint* instance = reinterpret_cast<SkPaint*>((ptr));
return instance->nothingToDraw();
}
...@@ -8,32 +8,32 @@ ...@@ -8,32 +8,32 @@
#include "common.h" #include "common.h"
extern "C" void org_jetbrains_skia_PaintFilterCanvas__1nAttachToJava SKIKO_EXPORT void org_jetbrains_skia_PaintFilterCanvas__1nAttachToJava
(jlong canvasPtr, jboolean unrollDrawable) { (KNativePointer canvasPtr, KBoolean unrollDrawable) {
TODO("implement org_jetbrains_skia_PaintFilterCanvas__1nAttachToJava"); TODO("implement org_jetbrains_skia_PaintFilterCanvas__1nAttachToJava");
} }
#if 0 #if 0
extern "C" void org_jetbrains_skia_PaintFilterCanvas__1nAttachToJava SKIKO_EXPORT void org_jetbrains_skia_PaintFilterCanvas__1nAttachToJava
(jlong canvasPtr, jboolean unrollDrawable) { (KNativePointer canvasPtr, KBoolean unrollDrawable) {
SkijaPaintFilterCanvas* canvas = reinterpret_cast<SkijaPaintFilterCanvas*>(static_cast<uintptr_t>(canvasPtr)); SkijaPaintFilterCanvas* canvas = reinterpret_cast<SkijaPaintFilterCanvas*>((canvasPtr));
canvas->jobj = skija::PaintFilterCanvas::attach(env, jobj); canvas->jobj = skija::PaintFilterCanvas::attach(env, jobj);
} }
#endif #endif
extern "C" jlong org_jetbrains_skia_PaintFilterCanvas__1nMake SKIKO_EXPORT KNativePointer org_jetbrains_skia_PaintFilterCanvas__1nMake
(jlong canvasPtr, jboolean unrollDrawable) { (KNativePointer canvasPtr, KBoolean unrollDrawable) {
TODO("implement org_jetbrains_skia_PaintFilterCanvas__1nMake"); TODO("implement org_jetbrains_skia_PaintFilterCanvas__1nMake");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_PaintFilterCanvas__1nMake SKIKO_EXPORT KNativePointer org_jetbrains_skia_PaintFilterCanvas__1nMake
(jlong canvasPtr, jboolean unrollDrawable) { (KNativePointer canvasPtr, KBoolean unrollDrawable) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr)); SkCanvas* canvas = reinterpret_cast<SkCanvas*>((canvasPtr));
SkijaPaintFilterCanvas* filterCanvas = new SkijaPaintFilterCanvas(canvas, unrollDrawable); SkijaPaintFilterCanvas* filterCanvas = new SkijaPaintFilterCanvas(canvas, unrollDrawable);
return reinterpret_cast<jlong>(filterCanvas); return reinterpret_cast<KNativePointer>(filterCanvas);
} }
#endif #endif
...@@ -10,89 +10,77 @@ ...@@ -10,89 +10,77 @@
#include "SkDiscretePathEffect.h" #include "SkDiscretePathEffect.h"
#include "common.h" #include "common.h"
extern "C" jlong org_jetbrains_skia_PathEffect__1nMakeSum SKIKO_EXPORT KNativePointer org_jetbrains_skia_PathEffect__1nMakeSum
(jlong firstPtr, jlong secondPtr) { (KNativePointer firstPtr, KNativePointer secondPtr) {
SkPathEffect* first = reinterpret_cast<SkPathEffect*>(static_cast<uintptr_t>(firstPtr)); SkPathEffect* first = reinterpret_cast<SkPathEffect*>((firstPtr));
SkPathEffect* second = reinterpret_cast<SkPathEffect*>(static_cast<uintptr_t>(secondPtr)); SkPathEffect* second = reinterpret_cast<SkPathEffect*>((secondPtr));
SkPathEffect* ptr = SkPathEffect::MakeSum(sk_ref_sp(first), sk_ref_sp(second)).release(); SkPathEffect* ptr = SkPathEffect::MakeSum(sk_ref_sp(first), sk_ref_sp(second)).release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
extern "C" jlong org_jetbrains_skia_PathEffect__1nMakeCompose SKIKO_EXPORT KNativePointer org_jetbrains_skia_PathEffect__1nMakeCompose
(jlong outerPtr, jlong innerPtr) { (KNativePointer outerPtr, KNativePointer innerPtr) {
SkPathEffect* outer = reinterpret_cast<SkPathEffect*>(static_cast<uintptr_t>(outerPtr)); SkPathEffect* outer = reinterpret_cast<SkPathEffect*>((outerPtr));
SkPathEffect* inner = reinterpret_cast<SkPathEffect*>(static_cast<uintptr_t>(innerPtr)); SkPathEffect* inner = reinterpret_cast<SkPathEffect*>((innerPtr));
SkPathEffect* ptr = SkPathEffect::MakeCompose(sk_ref_sp(outer), sk_ref_sp(inner)).release(); SkPathEffect* ptr = SkPathEffect::MakeCompose(sk_ref_sp(outer), sk_ref_sp(inner)).release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
extern "C" jlong org_jetbrains_skia_PathEffect__1nMakePath1D SKIKO_EXPORT KNativePointer org_jetbrains_skia_PathEffect__1nMakePath1D
(jlong pathPtr, jfloat advance, jfloat phase, jint styleInt) { (KNativePointer pathPtr, KFloat advance, KFloat phase, KInt styleInt) {
SkPath* path = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(pathPtr)); SkPath* path = reinterpret_cast<SkPath*>((pathPtr));
SkPath1DPathEffect::Style style = static_cast<SkPath1DPathEffect::Style>(styleInt); SkPath1DPathEffect::Style style = static_cast<SkPath1DPathEffect::Style>(styleInt);
SkPathEffect* ptr = SkPath1DPathEffect::Make(*path, advance, phase, style).release(); SkPathEffect* ptr = SkPath1DPathEffect::Make(*path, advance, phase, style).release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
extern "C" jlong org_jetbrains_skia_PathEffect__1nMakePath2D SKIKO_EXPORT KNativePointer org_jetbrains_skia_PathEffect__1nMakePath2D
(jfloatArray matrixArr, jlong pathPtr) { (KFloat* matrixArr, KNativePointer pathPtr) {
TODO("implement org_jetbrains_skia_PathEffect__1nMakePath2D"); TODO("implement org_jetbrains_skia_PathEffect__1nMakePath2D");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_PathEffect__1nMakePath2D SKIKO_EXPORT KNativePointer org_jetbrains_skia_PathEffect__1nMakePath2D
(jfloatArray matrixArr, jlong pathPtr) { (KFloat* matrixArr, KNativePointer pathPtr) {
std::unique_ptr<SkMatrix> m = skMatrix(env, matrixArr); std::unique_ptr<SkMatrix> m = skMatrix(env, matrixArr);
SkPath* path = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(pathPtr)); SkPath* path = reinterpret_cast<SkPath*>((pathPtr));
SkPathEffect* ptr = SkPath2DPathEffect::Make(*m, *path).release(); SkPathEffect* ptr = SkPath2DPathEffect::Make(*m, *path).release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
#endif #endif
extern "C" jlong org_jetbrains_skia_PathEffect__1nMakeLine2D SKIKO_EXPORT KNativePointer org_jetbrains_skia_PathEffect__1nMakeLine2D
(jfloat width, jfloatArray matrixArr) { (KFloat width, KFloat* matrixArr) {
TODO("implement org_jetbrains_skia_PathEffect__1nMakeLine2D"); TODO("implement org_jetbrains_skia_PathEffect__1nMakeLine2D");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_PathEffect__1nMakeLine2D SKIKO_EXPORT KNativePointer org_jetbrains_skia_PathEffect__1nMakeLine2D
(jfloat width, jfloatArray matrixArr) { (KFloat width, KFloat* matrixArr) {
std::unique_ptr<SkMatrix> m = skMatrix(env, matrixArr); std::unique_ptr<SkMatrix> m = skMatrix(env, matrixArr);
SkPathEffect* ptr = SkLine2DPathEffect::Make(width, *m).release(); SkPathEffect* ptr = SkLine2DPathEffect::Make(width, *m).release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
#endif #endif
extern "C" jlong org_jetbrains_skia_PathEffect__1nMakeCorner SKIKO_EXPORT KNativePointer org_jetbrains_skia_PathEffect__1nMakeCorner
(jfloat radius) { (KFloat radius) {
SkPathEffect* ptr = SkCornerPathEffect::Make(radius).release(); SkPathEffect* ptr = SkCornerPathEffect::Make(radius).release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
extern "C" jlong org_jetbrains_skia_PathEffect__1nMakeDash SKIKO_EXPORT KNativePointer org_jetbrains_skia_PathEffect__1nMakeDash
(jfloatArray intervalsArray, jfloat phase) { (KFloat* intervalsArray, KFloat phase) {
TODO("implement org_jetbrains_skia_PathEffect__1nMakeDash"); TODO("implement org_jetbrains_skia_PathEffect__1nMakeDash");
} }
#if 0 SKIKO_EXPORT KNativePointer org_jetbrains_skia_PathEffect__1nMakeDiscrete
extern "C" jlong org_jetbrains_skia_PathEffect__1nMakeDash (KFloat segLength, KFloat dev, KInt seed) {
(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
(jfloat segLength, jfloat dev, jint seed) {
SkPathEffect* ptr = SkDiscretePathEffect::Make(segLength, dev, static_cast<uint32_t>(seed)).release(); SkPathEffect* ptr = SkDiscretePathEffect::Make(segLength, dev, static_cast<uint32_t>(seed)).release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
...@@ -8,44 +8,44 @@ static void deletePathMeasure(SkPathMeasure* instance) { ...@@ -8,44 +8,44 @@ static void deletePathMeasure(SkPathMeasure* instance) {
delete instance; delete instance;
} }
extern "C" jlong org_jetbrains_skia_PathMeasure__1nGetFinalizer() { SKIKO_EXPORT KNativePointer org_jetbrains_skia_PathMeasure__1nGetFinalizer() {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(&deletePathMeasure)); return reinterpret_cast<KNativePointer>((&deletePathMeasure));
} }
extern "C" jlong org_jetbrains_skia_PathMeasure__1nMake SKIKO_EXPORT KNativePointer org_jetbrains_skia_PathMeasure__1nMake
() { () {
return reinterpret_cast<jlong>(new SkPathMeasure()); return reinterpret_cast<KNativePointer>(new SkPathMeasure());
} }
extern "C" jlong org_jetbrains_skia_PathMeasure__1nMakePath SKIKO_EXPORT KNativePointer org_jetbrains_skia_PathMeasure__1nMakePath
(jlong pathPtr, jboolean forceClosed, jfloat resScale) { (KNativePointer pathPtr, KBoolean forceClosed, KFloat resScale) {
SkPath* path = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(pathPtr)); SkPath* path = reinterpret_cast<SkPath*>((pathPtr));
return reinterpret_cast<jlong>(new SkPathMeasure(*path, forceClosed, resScale)); return reinterpret_cast<KNativePointer>(new SkPathMeasure(*path, forceClosed, resScale));
} }
extern "C" void org_jetbrains_skia_PathMeasure__1nSetPath SKIKO_EXPORT void org_jetbrains_skia_PathMeasure__1nSetPath
(jlong ptr, jlong pathPtr, jboolean forceClosed) { (KNativePointer ptr, KNativePointer pathPtr, KBoolean forceClosed) {
SkPathMeasure* instance = reinterpret_cast<SkPathMeasure*>(static_cast<uintptr_t>(ptr)); SkPathMeasure* instance = reinterpret_cast<SkPathMeasure*>((ptr));
SkPath* path = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(pathPtr)); SkPath* path = reinterpret_cast<SkPath*>((pathPtr));
instance->setPath(path, forceClosed); instance->setPath(path, forceClosed);
} }
extern "C" jfloat org_jetbrains_skia_PathMeasure__1nGetLength SKIKO_EXPORT KFloat org_jetbrains_skia_PathMeasure__1nGetLength
(jlong ptr) { (KNativePointer ptr) {
SkPathMeasure* instance = reinterpret_cast<SkPathMeasure*>(static_cast<uintptr_t>(ptr)); SkPathMeasure* instance = reinterpret_cast<SkPathMeasure*>((ptr));
return instance->getLength(); return instance->getLength();
} }
extern "C" jobject org_jetbrains_skia_PathMeasure__1nGetPosition SKIKO_EXPORT KInteropPointer org_jetbrains_skia_PathMeasure__1nGetPosition
(jlong ptr, jfloat distance) { (KNativePointer ptr, KFloat distance) {
TODO("implement org_jetbrains_skia_PathMeasure__1nGetPosition"); TODO("implement org_jetbrains_skia_PathMeasure__1nGetPosition");
} }
#if 0 #if 0
extern "C" jobject org_jetbrains_skia_PathMeasure__1nGetPosition SKIKO_EXPORT KInteropPointer org_jetbrains_skia_PathMeasure__1nGetPosition
(jlong ptr, jfloat distance) { (KNativePointer ptr, KFloat distance) {
SkPathMeasure* instance = reinterpret_cast<SkPathMeasure*>(static_cast<uintptr_t>(ptr)); SkPathMeasure* instance = reinterpret_cast<SkPathMeasure*>((ptr));
SkPoint position; SkPoint position;
if (instance->getPosTan(distance, &position, nullptr)) if (instance->getPosTan(distance, &position, nullptr))
return skija::Point::fromSkPoint(env, position); return skija::Point::fromSkPoint(env, position);
...@@ -56,15 +56,15 @@ extern "C" jobject org_jetbrains_skia_PathMeasure__1nGetPosition ...@@ -56,15 +56,15 @@ extern "C" jobject org_jetbrains_skia_PathMeasure__1nGetPosition
extern "C" jobject org_jetbrains_skia_PathMeasure__1nGetTangent SKIKO_EXPORT KInteropPointer org_jetbrains_skia_PathMeasure__1nGetTangent
(jlong ptr, jfloat distance) { (KNativePointer ptr, KFloat distance) {
TODO("implement org_jetbrains_skia_PathMeasure__1nGetTangent"); TODO("implement org_jetbrains_skia_PathMeasure__1nGetTangent");
} }
#if 0 #if 0
extern "C" jobject org_jetbrains_skia_PathMeasure__1nGetTangent SKIKO_EXPORT KInteropPointer org_jetbrains_skia_PathMeasure__1nGetTangent
(jlong ptr, jfloat distance) { (KNativePointer ptr, KFloat distance) {
SkPathMeasure* instance = reinterpret_cast<SkPathMeasure*>(static_cast<uintptr_t>(ptr)); SkPathMeasure* instance = reinterpret_cast<SkPathMeasure*>((ptr));
SkVector tangent; SkVector tangent;
if (instance->getPosTan(distance, nullptr, &tangent)) if (instance->getPosTan(distance, nullptr, &tangent))
return skija::Point::fromSkPoint(env, tangent); return skija::Point::fromSkPoint(env, tangent);
...@@ -75,15 +75,15 @@ extern "C" jobject org_jetbrains_skia_PathMeasure__1nGetTangent ...@@ -75,15 +75,15 @@ extern "C" jobject org_jetbrains_skia_PathMeasure__1nGetTangent
extern "C" jobject org_jetbrains_skia_PathMeasure__1nGetRSXform SKIKO_EXPORT KInteropPointer org_jetbrains_skia_PathMeasure__1nGetRSXform
(jlong ptr, jfloat distance) { (KNativePointer ptr, KFloat distance) {
TODO("implement org_jetbrains_skia_PathMeasure__1nGetRSXform"); TODO("implement org_jetbrains_skia_PathMeasure__1nGetRSXform");
} }
#if 0 #if 0
extern "C" jobject org_jetbrains_skia_PathMeasure__1nGetRSXform SKIKO_EXPORT KInteropPointer org_jetbrains_skia_PathMeasure__1nGetRSXform
(jlong ptr, jfloat distance) { (KNativePointer ptr, KFloat distance) {
SkPathMeasure* instance = reinterpret_cast<SkPathMeasure*>(static_cast<uintptr_t>(ptr)); SkPathMeasure* instance = reinterpret_cast<SkPathMeasure*>((ptr));
SkPoint position; SkPoint position;
SkVector tangent; SkVector tangent;
if (instance->getPosTan(distance, &position, &tangent)) if (instance->getPosTan(distance, &position, &tangent))
...@@ -95,15 +95,15 @@ extern "C" jobject org_jetbrains_skia_PathMeasure__1nGetRSXform ...@@ -95,15 +95,15 @@ extern "C" jobject org_jetbrains_skia_PathMeasure__1nGetRSXform
extern "C" jobject org_jetbrains_skia_PathMeasure__1nGetMatrix SKIKO_EXPORT KInteropPointer org_jetbrains_skia_PathMeasure__1nGetMatrix
(jlong ptr, jfloat distance, jboolean getPosition, jboolean getTangent) { (KNativePointer ptr, KFloat distance, KBoolean getPosition, KBoolean getTangent) {
TODO("implement org_jetbrains_skia_PathMeasure__1nGetMatrix"); TODO("implement org_jetbrains_skia_PathMeasure__1nGetMatrix");
} }
#if 0 #if 0
extern "C" jobject org_jetbrains_skia_PathMeasure__1nGetMatrix SKIKO_EXPORT KInteropPointer org_jetbrains_skia_PathMeasure__1nGetMatrix
(jlong ptr, jfloat distance, jboolean getPosition, jboolean getTangent) { (KNativePointer ptr, KFloat distance, KBoolean getPosition, KBoolean getTangent) {
SkPathMeasure* instance = reinterpret_cast<SkPathMeasure*>(static_cast<uintptr_t>(ptr)); SkPathMeasure* instance = reinterpret_cast<SkPathMeasure*>((ptr));
SkMatrix matrix; SkMatrix matrix;
int flags = 0; int flags = 0;
...@@ -122,21 +122,21 @@ extern "C" jobject org_jetbrains_skia_PathMeasure__1nGetMatrix ...@@ -122,21 +122,21 @@ extern "C" jobject org_jetbrains_skia_PathMeasure__1nGetMatrix
#endif #endif
extern "C" jboolean org_jetbrains_skia_PathMeasure__1nGetSegment SKIKO_EXPORT KBoolean org_jetbrains_skia_PathMeasure__1nGetSegment
(jlong ptr, jfloat startD, jfloat endD, jlong dstPtr, jboolean startWithMoveTo) { (KNativePointer ptr, KFloat startD, KFloat endD, KNativePointer dstPtr, KBoolean startWithMoveTo) {
SkPathMeasure* instance = reinterpret_cast<SkPathMeasure*>(static_cast<uintptr_t>(ptr)); SkPathMeasure* instance = reinterpret_cast<SkPathMeasure*>((ptr));
SkPath* dst = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(dstPtr)); SkPath* dst = reinterpret_cast<SkPath*>((dstPtr));
return instance->getSegment(startD, endD, dst, startWithMoveTo); return instance->getSegment(startD, endD, dst, startWithMoveTo);
} }
extern "C" jboolean org_jetbrains_skia_PathMeasure__1nIsClosed SKIKO_EXPORT KBoolean org_jetbrains_skia_PathMeasure__1nIsClosed
(jlong ptr) { (KNativePointer ptr) {
SkPathMeasure* instance = reinterpret_cast<SkPathMeasure*>(static_cast<uintptr_t>(ptr)); SkPathMeasure* instance = reinterpret_cast<SkPathMeasure*>((ptr));
return instance->isClosed(); return instance->isClosed();
} }
extern "C" jboolean org_jetbrains_skia_PathMeasure__1nNextContour SKIKO_EXPORT KBoolean org_jetbrains_skia_PathMeasure__1nNextContour
(jlong ptr) { (KNativePointer ptr) {
SkPathMeasure* instance = reinterpret_cast<SkPathMeasure*>(static_cast<uintptr_t>(ptr)); SkPathMeasure* instance = reinterpret_cast<SkPathMeasure*>((ptr));
return instance->nextContour(); return instance->nextContour();
} }
...@@ -4,11 +4,11 @@ ...@@ -4,11 +4,11 @@
#include "SkPath.h" #include "SkPath.h"
#include "common.h" #include "common.h"
extern "C" jlong org_jetbrains_skia_PathSegmentIterator__1nMake SKIKO_EXPORT KNativePointer org_jetbrains_skia_PathSegmentIterator__1nMake
(jlong pathPtr, jboolean forceClose) { (KNativePointer pathPtr, KBoolean forceClose) {
SkPath* path = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(pathPtr)); SkPath* path = reinterpret_cast<SkPath*>((pathPtr));
SkPath::Iter* iter = new SkPath::Iter(*path, forceClose); SkPath::Iter* iter = new SkPath::Iter(*path, forceClose);
return reinterpret_cast<jlong>(iter); return reinterpret_cast<KNativePointer>(iter);
} }
static void deletePathSegmentIterator(SkPath::Iter* iter) { static void deletePathSegmentIterator(SkPath::Iter* iter) {
...@@ -16,31 +16,31 @@ static void deletePathSegmentIterator(SkPath::Iter* iter) { ...@@ -16,31 +16,31 @@ static void deletePathSegmentIterator(SkPath::Iter* iter) {
delete iter; delete iter;
} }
extern "C" jlong org_jetbrains_skia_PathSegmentIterator__1nGetFinalizer SKIKO_EXPORT KNativePointer org_jetbrains_skia_PathSegmentIterator__1nGetFinalizer
() { () {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(&deletePathSegmentIterator)); return reinterpret_cast<KNativePointer>((&deletePathSegmentIterator));
} }
extern "C" jobject org_jetbrains_skia_PathSegmentIterator__1nNext SKIKO_EXPORT KInteropPointer org_jetbrains_skia_PathSegmentIterator__1nNext
(jlong ptr) { (KNativePointer ptr) {
TODO("implement org_jetbrains_skia_PathSegmentIterator__1nNext"); TODO("implement org_jetbrains_skia_PathSegmentIterator__1nNext");
} }
#if 0 #if 0
extern "C" jobject org_jetbrains_skia_PathSegmentIterator__1nNext SKIKO_EXPORT KInteropPointer org_jetbrains_skia_PathSegmentIterator__1nNext
(jlong ptr) { (KNativePointer ptr) {
SkPath::Iter* instance = reinterpret_cast<SkPath::Iter*>(static_cast<uintptr_t>(ptr)); SkPath::Iter* instance = reinterpret_cast<SkPath::Iter*>((ptr));
SkPoint pts[4]; SkPoint pts[4];
SkPath::Verb verb = instance->next(pts); SkPath::Verb verb = instance->next(pts);
jobject segment; KInteropPointer segment;
switch (verb) { switch (verb) {
case SkPath::Verb::kDone_Verb: case SkPath::Verb::kDone_Verb:
segment = env->NewObject(skija::PathSegment::cls, skija::PathSegment::ctorDone); segment = env->NewObject(skija::PathSegment::cls, skija::PathSegment::ctorDone);
break; break;
case SkPath::Verb::kMove_Verb: case SkPath::Verb::kMove_Verb:
case SkPath::Verb::kClose_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()); segment = env->NewObject(skija::PathSegment::cls, skija::PathSegment::ctorMoveClose, static_cast<KInt>(verb), pts[0].fX, pts[0].fY, instance->isClosedContour());
break; break;
case SkPath::Verb::kLine_Verb: 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()); 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());
......
...@@ -7,24 +7,24 @@ ...@@ -7,24 +7,24 @@
#include "SkShader.h" #include "SkShader.h"
#include "common.h" #include "common.h"
extern "C" jlong org_jetbrains_skia_Picture__1nMakeFromData SKIKO_EXPORT KNativePointer org_jetbrains_skia_Picture__1nMakeFromData
(jlong dataPtr) { (KNativePointer dataPtr) {
SkData* data = reinterpret_cast<SkData*>(static_cast<uintptr_t>(dataPtr)); SkData* data = reinterpret_cast<SkData*>((dataPtr));
SkPicture* instance = SkPicture::MakeFromData(data).release(); SkPicture* instance = SkPicture::MakeFromData(data).release();
return reinterpret_cast<jlong>(instance); return reinterpret_cast<KNativePointer>(instance);
} }
extern "C" void org_jetbrains_skia_Picture__1nPlayback SKIKO_EXPORT void org_jetbrains_skia_Picture__1nPlayback
(jlong ptr, jlong canvasPtr, jobject abort) { (KNativePointer ptr, KNativePointer canvasPtr, KInteropPointer abort) {
TODO("implement org_jetbrains_skia_Picture__1nPlayback"); TODO("implement org_jetbrains_skia_Picture__1nPlayback");
} }
#if 0 #if 0
extern "C" void org_jetbrains_skia_Picture__1nPlayback SKIKO_EXPORT void org_jetbrains_skia_Picture__1nPlayback
(jlong ptr, jlong canvasPtr, jobject abort) { (KNativePointer ptr, KNativePointer canvasPtr, KInteropPointer abort) {
SkPicture* instance = reinterpret_cast<SkPicture*>(static_cast<uintptr_t>(ptr)); SkPicture* instance = reinterpret_cast<SkPicture*>((ptr));
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr)); SkCanvas* canvas = reinterpret_cast<SkCanvas*>((canvasPtr));
if (abort == nullptr) { if (abort == nullptr) {
instance->playback(canvas, nullptr); instance->playback(canvas, nullptr);
} else { } else {
...@@ -36,69 +36,69 @@ extern "C" void org_jetbrains_skia_Picture__1nPlayback ...@@ -36,69 +36,69 @@ extern "C" void org_jetbrains_skia_Picture__1nPlayback
extern "C" jobject org_jetbrains_skia_Picture__1nGetCullRect SKIKO_EXPORT KInteropPointer org_jetbrains_skia_Picture__1nGetCullRect
(jlong ptr) { (KNativePointer ptr) {
TODO("implement org_jetbrains_skia_Picture__1nGetCullRect"); TODO("implement org_jetbrains_skia_Picture__1nGetCullRect");
} }
#if 0 #if 0
extern "C" jobject org_jetbrains_skia_Picture__1nGetCullRect SKIKO_EXPORT KInteropPointer org_jetbrains_skia_Picture__1nGetCullRect
(jlong ptr) { (KNativePointer ptr) {
SkPicture* instance = reinterpret_cast<SkPicture*>(static_cast<uintptr_t>(ptr)); SkPicture* instance = reinterpret_cast<SkPicture*>((ptr));
return skija::Rect::fromSkRect(env, instance->cullRect()); return skija::Rect::fromSkRect(env, instance->cullRect());
} }
#endif #endif
extern "C" jint org_jetbrains_skia_Picture__1nGetUniqueId SKIKO_EXPORT KInt org_jetbrains_skia_Picture__1nGetUniqueId
(jlong ptr) { (KNativePointer ptr) {
SkPicture* instance = reinterpret_cast<SkPicture*>(static_cast<uintptr_t>(ptr)); SkPicture* instance = reinterpret_cast<SkPicture*>((ptr));
return instance->uniqueID(); return instance->uniqueID();
} }
extern "C" jlong org_jetbrains_skia_Picture__1nSerializeToData SKIKO_EXPORT KNativePointer org_jetbrains_skia_Picture__1nSerializeToData
(jlong ptr) { (KNativePointer ptr) {
SkPicture* instance = reinterpret_cast<SkPicture*>(static_cast<uintptr_t>(ptr)); SkPicture* instance = reinterpret_cast<SkPicture*>((ptr));
SkData* data = instance->serialize().release(); SkData* data = instance->serialize().release();
return reinterpret_cast<jlong>(data); return reinterpret_cast<KNativePointer>(data);
} }
extern "C" jlong org_jetbrains_skia_Picture__1nMakePlaceholder SKIKO_EXPORT KNativePointer org_jetbrains_skia_Picture__1nMakePlaceholder
(jfloat left, jfloat top, jfloat right, jfloat bottom) { (KFloat left, KFloat top, KFloat right, KFloat bottom) {
SkRect cull = SkRect::MakeLTRB(left, top, right, bottom); SkRect cull = SkRect::MakeLTRB(left, top, right, bottom);
SkPicture* instance = SkPicture::MakePlaceholder(cull).release(); SkPicture* instance = SkPicture::MakePlaceholder(cull).release();
return reinterpret_cast<jlong>(instance); return reinterpret_cast<KNativePointer>(instance);
} }
extern "C" jint org_jetbrains_skia_Picture__1nGetApproximateOpCount SKIKO_EXPORT KInt org_jetbrains_skia_Picture__1nGetApproximateOpCount
(jlong ptr) { (KNativePointer ptr) {
SkPicture* instance = reinterpret_cast<SkPicture*>(static_cast<uintptr_t>(ptr)); SkPicture* instance = reinterpret_cast<SkPicture*>((ptr));
return instance->approximateOpCount(); return instance->approximateOpCount();
} }
extern "C" jlong org_jetbrains_skia_Picture__1nGetApproximateBytesUsed SKIKO_EXPORT KLong org_jetbrains_skia_Picture__1nGetApproximateBytesUsed
(jlong ptr) { (KNativePointer ptr) {
SkPicture* instance = reinterpret_cast<SkPicture*>(static_cast<uintptr_t>(ptr)); SkPicture* instance = reinterpret_cast<SkPicture*>((ptr));
return instance->approximateBytesUsed(); return instance->approximateBytesUsed();
} }
extern "C" jlong org_jetbrains_skia_Picture__1nMakeShader SKIKO_EXPORT KNativePointer org_jetbrains_skia_Picture__1nMakeShader
(jlong ptr, jint tmxValue, jint tmyValue, jint filterModeValue, jfloatArray localMatrixArr, jobject tileRectObj) { (KNativePointer ptr, KInt tmxValue, KInt tmyValue, KInt filterModeValue, KFloat* localMatrixArr, KInteropPointer tileRectObj) {
TODO("implement org_jetbrains_skia_Picture__1nMakeShader"); TODO("implement org_jetbrains_skia_Picture__1nMakeShader");
} }
#if 0 #if 0
extern "C" jlong org_jetbrains_skia_Picture__1nMakeShader SKIKO_EXPORT KNativePointer org_jetbrains_skia_Picture__1nMakeShader
(jlong ptr, jint tmxValue, jint tmyValue, jint filterModeValue, jfloatArray localMatrixArr, jobject tileRectObj) { (KNativePointer ptr, KInt tmxValue, KInt tmyValue, KInt filterModeValue, KFloat* localMatrixArr, KInteropPointer tileRectObj) {
SkPicture* instance = reinterpret_cast<SkPicture*>(static_cast<uintptr_t>(ptr)); SkPicture* instance = reinterpret_cast<SkPicture*>((ptr));
SkTileMode tmx = static_cast<SkTileMode>(tmxValue); SkTileMode tmx = static_cast<SkTileMode>(tmxValue);
SkTileMode tmy = static_cast<SkTileMode>(tmyValue); SkTileMode tmy = static_cast<SkTileMode>(tmyValue);
SkFilterMode filterMode = static_cast<SkFilterMode>(filterModeValue); SkFilterMode filterMode = static_cast<SkFilterMode>(filterModeValue);
std::unique_ptr<SkMatrix> localMatrix = skMatrix(env, localMatrixArr); std::unique_ptr<SkMatrix> localMatrix = skMatrix(env, localMatrixArr);
std::unique_ptr<SkRect> tileRect = skija::Rect::toSkRect(env, tileRectObj); std::unique_ptr<SkRect> tileRect = skija::Rect::toSkRect(env, tileRectObj);
SkShader* shader = instance->makeShader(tmx, tmy, filterMode, localMatrix.get(), tileRect.get()).release(); SkShader* shader = instance->makeShader(tmx, tmy, filterMode, localMatrix.get(), tileRect.get()).release();
return reinterpret_cast<jlong>(shader); return reinterpret_cast<KNativePointer>(shader);
} }
#endif #endif
...@@ -11,48 +11,48 @@ static void deletePictureRecorder(SkPictureRecorder* pr) { ...@@ -11,48 +11,48 @@ static void deletePictureRecorder(SkPictureRecorder* pr) {
delete pr; delete pr;
} }
extern "C" jlong org_jetbrains_skia_PictureRecorder__1nMake SKIKO_EXPORT KNativePointer org_jetbrains_skia_PictureRecorder__1nMake
() { () {
SkPictureRecorder* instance = new SkPictureRecorder(); SkPictureRecorder* instance = new SkPictureRecorder();
return reinterpret_cast<jlong>(instance); return reinterpret_cast<KNativePointer>(instance);
} }
extern "C" jlong org_jetbrains_skia_PictureRecorder__1nGetFinalizer SKIKO_EXPORT KNativePointer org_jetbrains_skia_PictureRecorder__1nGetFinalizer
() { () {
return static_cast<jlong>(reinterpret_cast<uintptr_t>(&deletePictureRecorder)); return reinterpret_cast<KNativePointer>((&deletePictureRecorder));
} }
extern "C" jlong org_jetbrains_skia_PictureRecorder__1nBeginRecording SKIKO_EXPORT KNativePointer org_jetbrains_skia_PictureRecorder__1nBeginRecording
(jlong ptr, jfloat left, jfloat top, jfloat right, jfloat bottom) { (KNativePointer ptr, KFloat left, KFloat top, KFloat right, KFloat bottom) {
SkPictureRecorder* instance = reinterpret_cast<SkPictureRecorder*>(static_cast<uintptr_t>(ptr)); SkPictureRecorder* instance = reinterpret_cast<SkPictureRecorder*>((ptr));
SkCanvas* canvas = instance->beginRecording(SkRect::MakeLTRB(left, top, right, bottom), nullptr); SkCanvas* canvas = instance->beginRecording(SkRect::MakeLTRB(left, top, right, bottom), nullptr);
return reinterpret_cast<jlong>(canvas); return reinterpret_cast<KNativePointer>(canvas);
} }
extern "C" jlong org_jetbrains_skia_PictureRecorder__1nGetRecordingCanvas SKIKO_EXPORT KNativePointer org_jetbrains_skia_PictureRecorder__1nGetRecordingCanvas
(jlong ptr) { (KNativePointer ptr) {
SkPictureRecorder* instance = reinterpret_cast<SkPictureRecorder*>(static_cast<uintptr_t>(ptr)); SkPictureRecorder* instance = reinterpret_cast<SkPictureRecorder*>((ptr));
SkCanvas* canvas = instance->getRecordingCanvas(); SkCanvas* canvas = instance->getRecordingCanvas();
return reinterpret_cast<jlong>(canvas); return reinterpret_cast<KNativePointer>(canvas);
} }
extern "C" jlong org_jetbrains_skia_PictureRecorder__1nFinishRecordingAsPicture SKIKO_EXPORT KNativePointer org_jetbrains_skia_PictureRecorder__1nFinishRecordingAsPicture
(jlong ptr) { (KNativePointer ptr) {
SkPictureRecorder* instance = reinterpret_cast<SkPictureRecorder*>(static_cast<uintptr_t>(ptr)); SkPictureRecorder* instance = reinterpret_cast<SkPictureRecorder*>((ptr));
SkPicture* picture = instance->finishRecordingAsPicture().release(); SkPicture* picture = instance->finishRecordingAsPicture().release();
return reinterpret_cast<jlong>(picture); return reinterpret_cast<KNativePointer>(picture);
} }
extern "C" jlong org_jetbrains_skia_PictureRecorder__1nFinishRecordingAsPictureWithCull SKIKO_EXPORT KNativePointer org_jetbrains_skia_PictureRecorder__1nFinishRecordingAsPictureWithCull
(jlong ptr, jfloat left, jfloat top, jfloat right, jfloat bottom) { (KNativePointer ptr, KFloat left, KFloat top, KFloat right, KFloat bottom) {
SkPictureRecorder* instance = reinterpret_cast<SkPictureRecorder*>(static_cast<uintptr_t>(ptr)); SkPictureRecorder* instance = reinterpret_cast<SkPictureRecorder*>((ptr));
SkPicture* picture = instance->finishRecordingAsPictureWithCull(SkRect::MakeLTRB(left, top, right, bottom)).release(); SkPicture* picture = instance->finishRecordingAsPictureWithCull(SkRect::MakeLTRB(left, top, right, bottom)).release();
return reinterpret_cast<jlong>(picture); return reinterpret_cast<KNativePointer>(picture);
} }
extern "C" jlong org_jetbrains_skia_PictureRecorder__1nFinishRecordingAsDrawable SKIKO_EXPORT KNativePointer org_jetbrains_skia_PictureRecorder__1nFinishRecordingAsDrawable
(jlong ptr) { (KNativePointer ptr) {
SkPictureRecorder* instance = reinterpret_cast<SkPictureRecorder*>(static_cast<uintptr_t>(ptr)); SkPictureRecorder* instance = reinterpret_cast<SkPictureRecorder*>((ptr));
SkDrawable* drawable = instance->finishRecordingAsDrawable().release(); SkDrawable* drawable = instance->finishRecordingAsDrawable().release();
return reinterpret_cast<jlong>(drawable); return reinterpret_cast<KNativePointer>(drawable);
} }
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -4,23 +4,23 @@ ...@@ -4,23 +4,23 @@
#include "SkShadowUtils.h" #include "SkShadowUtils.h"
#include "common.h" #include "common.h"
extern "C" void org_jetbrains_skia_ShadowUtils__1nDrawShadow SKIKO_EXPORT void org_jetbrains_skia_ShadowUtils__1nDrawShadow
(jlong canvasPtr, jlong pathPtr, jfloat zPlaneX, jfloat zPlaneY, jfloat zPlaneZ, (KNativePointer canvasPtr, KNativePointer pathPtr, KFloat zPlaneX, KFloat zPlaneY, KFloat zPlaneZ,
jfloat lightPosX, jfloat lightPosY, jfloat lightPosZ, jfloat lightRadius, jint ambientColor, jint spotColor, jint flags) { KFloat lightPosX, KFloat lightPosY, KFloat lightPosZ, KFloat lightRadius, KInt ambientColor, KInt spotColor, KInt flags) {
SkCanvas* canvas = reinterpret_cast<SkCanvas*>(static_cast<uintptr_t>(canvasPtr)); SkCanvas* canvas = reinterpret_cast<SkCanvas*>((canvasPtr));
SkPath* path = reinterpret_cast<SkPath*>(static_cast<uintptr_t>(pathPtr)); SkPath* path = reinterpret_cast<SkPath*>((pathPtr));
SkShadowUtils::DrawShadow(canvas, *path, {zPlaneX, zPlaneY, zPlaneZ}, {lightPosX, lightPosY, lightPosZ}, lightRadius, ambientColor, spotColor, flags); SkShadowUtils::DrawShadow(canvas, *path, {zPlaneX, zPlaneY, zPlaneZ}, {lightPosX, lightPosY, lightPosZ}, lightRadius, ambientColor, spotColor, flags);
} }
extern "C" int org_jetbrains_skia_ShadowUtils__1nComputeTonalAmbientColor SKIKO_EXPORT int org_jetbrains_skia_ShadowUtils__1nComputeTonalAmbientColor
(jint ambientColor, jint spotColor) { (KInt ambientColor, KInt spotColor) {
SkColor outAmbientColor, outSpotColor; SkColor outAmbientColor, outSpotColor;
SkShadowUtils::ComputeTonalColors(ambientColor, spotColor, &outAmbientColor, &outSpotColor); SkShadowUtils::ComputeTonalColors(ambientColor, spotColor, &outAmbientColor, &outSpotColor);
return outAmbientColor; return outAmbientColor;
} }
extern "C" int org_jetbrains_skia_ShadowUtils__1nComputeTonalSpotColor SKIKO_EXPORT int org_jetbrains_skia_ShadowUtils__1nComputeTonalSpotColor
(jint ambientColor, jint spotColor) { (KInt ambientColor, KInt spotColor) {
SkColor outAmbientColor, outSpotColor; SkColor outAmbientColor, outSpotColor;
SkShadowUtils::ComputeTonalColors(ambientColor, spotColor, &outAmbientColor, &outSpotColor); SkShadowUtils::ComputeTonalColors(ambientColor, spotColor, &outAmbientColor, &outSpotColor);
return outSpotColor; return outSpotColor;
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment