Unverified Commit 9fcf9c10 authored by Shagen Ogandzhanian's avatar Shagen Ogandzhanian Committed by GitHub

Use NativePointer instead of Long as a cross-platfrom counterpart of Long (#175)

parent c56a9bf6
...@@ -3,10 +3,11 @@ package org.jetbrains.skia ...@@ -3,10 +3,11 @@ package org.jetbrains.skia
import org.jetbrains.skia.impl.Library.Companion.staticLoad import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Managed import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class BackendRenderTarget internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) { class BackendRenderTarget internal constructor(ptr: NativePointer) : Managed(ptr, _FinalizerHolder.PTR) {
companion object { companion object {
fun makeGL( fun makeGL(
width: Int, width: Int,
...@@ -20,7 +21,7 @@ class BackendRenderTarget internal constructor(ptr: Long) : Managed(ptr, _Finali ...@@ -20,7 +21,7 @@ class BackendRenderTarget internal constructor(ptr: Long) : Managed(ptr, _Finali
return BackendRenderTarget(_nMakeGL(width, height, sampleCnt, stencilBits, fbId, fbFormat)) return BackendRenderTarget(_nMakeGL(width, height, sampleCnt, stencilBits, fbId, fbFormat))
} }
fun makeMetal(width: Int, height: Int, texturePtr: Long): BackendRenderTarget { fun makeMetal(width: Int, height: Int, texturePtr: NativePointer): BackendRenderTarget {
Stats.onNativeCall() Stats.onNativeCall()
return BackendRenderTarget(_nMakeMetal(width, height, texturePtr)) return BackendRenderTarget(_nMakeMetal(width, height, texturePtr))
} }
...@@ -41,7 +42,7 @@ class BackendRenderTarget internal constructor(ptr: Long) : Managed(ptr, _Finali ...@@ -41,7 +42,7 @@ class BackendRenderTarget internal constructor(ptr: Long) : Managed(ptr, _Finali
fun makeDirect3D( fun makeDirect3D(
width: Int, width: Int,
height: Int, height: Int,
texturePtr: Long, texturePtr: NativePointer,
format: Int, format: Int,
sampleCnt: Int, sampleCnt: Int,
levelCnt: Int levelCnt: Int
...@@ -52,23 +53,23 @@ class BackendRenderTarget internal constructor(ptr: Long) : Managed(ptr, _Finali ...@@ -52,23 +53,23 @@ class BackendRenderTarget internal constructor(ptr: Long) : Managed(ptr, _Finali
@JvmStatic @JvmStatic
@ExternalSymbolName("BackendRenderTarget_nGetFinalizer") @ExternalSymbolName("BackendRenderTarget_nGetFinalizer")
external fun _nGetFinalizer(): Long external fun _nGetFinalizer(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("BackendRenderTarget_nMakeGL") @ExternalSymbolName("BackendRenderTarget_nMakeGL")
external fun _nMakeGL(width: Int, height: Int, sampleCnt: Int, stencilBits: Int, fbId: Int, fbFormat: Int): Long external fun _nMakeGL(width: Int, height: Int, sampleCnt: Int, stencilBits: Int, fbId: Int, fbFormat: Int): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("BackendRenderTarget_nMakeMetal") @ExternalSymbolName("BackendRenderTarget_nMakeMetal")
external fun _nMakeMetal(width: Int, height: Int, texturePtr: Long): Long external fun _nMakeMetal(width: Int, height: Int, texturePtr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("BackendRenderTarget_nMakeDirect3D") @ExternalSymbolName("BackendRenderTarget_nMakeDirect3D")
external fun _nMakeDirect3D( external fun _nMakeDirect3D(
width: Int, width: Int,
height: Int, height: Int,
texturePtr: Long, texturePtr: NativePointer,
format: Int, format: Int,
sampleCnt: Int, sampleCnt: Int,
levelCnt: Int levelCnt: Int
): Long ): NativePointer
init { init {
staticLoad() staticLoad()
......
...@@ -5,10 +5,11 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad ...@@ -5,10 +5,11 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Managed import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class Bitmap internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR), IHasImageInfo { class Bitmap internal constructor(ptr: NativePointer) : Managed(ptr, _FinalizerHolder.PTR), IHasImageInfo {
companion object { companion object {
fun makeFromImage(image: Image): Bitmap { fun makeFromImage(image: Image): Bitmap {
val bitmap = Bitmap() val bitmap = Bitmap()
...@@ -21,149 +22,149 @@ class Bitmap internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR ...@@ -21,149 +22,149 @@ class Bitmap internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetFinalizer") @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetFinalizer")
external fun _nGetFinalizer(): Long external fun _nGetFinalizer(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nMake") @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nMake")
external fun _nMake(): Long external fun _nMake(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nMakeClone") @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nMakeClone")
external fun _nMakeClone(ptr: Long): Long external fun _nMakeClone(ptr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nSwap") @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nSwap")
external fun _nSwap(ptr: Long, otherPtr: Long) external fun _nSwap(ptr: NativePointer, otherPtr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetPixmap") @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetPixmap")
external fun _nGetPixmap(ptr: Long): Long external fun _nGetPixmap(ptr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetImageInfo") @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetImageInfo")
external fun _nGetImageInfo(ptr: Long): ImageInfo? external fun _nGetImageInfo(ptr: NativePointer): ImageInfo?
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetRowBytesAsPixels") @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetRowBytesAsPixels")
external fun _nGetRowBytesAsPixels(ptr: Long): Int external fun _nGetRowBytesAsPixels(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nIsNull") @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nIsNull")
external fun _nIsNull(ptr: Long): Boolean external fun _nIsNull(ptr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetRowBytes") @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetRowBytes")
external fun _nGetRowBytes(ptr: Long): Long external fun _nGetRowBytes(ptr: NativePointer): Long
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nSetAlphaType") @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nSetAlphaType")
external fun _nSetAlphaType(ptr: Long, alphaType: Int): Boolean external fun _nSetAlphaType(ptr: NativePointer, alphaType: Int): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nComputeByteSize") @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nComputeByteSize")
external fun _nComputeByteSize(ptr: Long): Long external fun _nComputeByteSize(ptr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nIsImmutable") @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nIsImmutable")
external fun _nIsImmutable(ptr: Long): Boolean external fun _nIsImmutable(ptr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nSetImmutable") @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nSetImmutable")
external fun _nSetImmutable(ptr: Long) external fun _nSetImmutable(ptr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nIsVolatile") @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nIsVolatile")
external fun _nIsVolatile(ptr: Long): Boolean external fun _nIsVolatile(ptr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nSetVolatile") @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nSetVolatile")
external fun _nSetVolatile(ptr: Long, value: Boolean) external fun _nSetVolatile(ptr: NativePointer, value: Boolean)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nReset") @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nReset")
external fun _nReset(ptr: Long) external fun _nReset(ptr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nComputeIsOpaque") @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nComputeIsOpaque")
external fun _nComputeIsOpaque(ptr: Long): Boolean external fun _nComputeIsOpaque(ptr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nSetImageInfo") @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nSetImageInfo")
external fun _nSetImageInfo( external fun _nSetImageInfo(
ptr: Long, ptr: NativePointer,
width: Int, width: Int,
height: Int, height: Int,
colorType: Int, colorType: Int,
alphaType: Int, alphaType: Int,
colorSpacePtr: Long, colorSpacePtr: NativePointer,
rowBytes: Long rowBytes: Long
): Boolean ): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nAllocPixelsFlags") @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nAllocPixelsFlags")
external fun _nAllocPixelsFlags( external fun _nAllocPixelsFlags(
ptr: Long, ptr: NativePointer,
width: Int, width: Int,
height: Int, height: Int,
colorType: Int, colorType: Int,
alphaType: Int, alphaType: Int,
colorSpacePtr: Long, colorSpacePtr: NativePointer,
flags: Int flags: Int
): Boolean ): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nAllocPixelsRowBytes") @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nAllocPixelsRowBytes")
external fun _nAllocPixelsRowBytes( external fun _nAllocPixelsRowBytes(
ptr: Long, ptr: NativePointer,
width: Int, width: Int,
height: Int, height: Int,
colorType: Int, colorType: Int,
alphaType: Int, alphaType: Int,
colorSpacePtr: Long, colorSpacePtr: NativePointer,
rowBytes: Long rowBytes: Long
): Boolean ): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nInstallPixels") @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nInstallPixels")
external fun _nInstallPixels( external fun _nInstallPixels(
ptr: Long, ptr: NativePointer,
width: Int, width: Int,
height: Int, height: Int,
colorType: Int, colorType: Int,
alphaType: Int, alphaType: Int,
colorSpacePtr: Long, colorSpacePtr: NativePointer,
pixels: ByteArray?, pixels: ByteArray?,
rowBytes: Long rowBytes: Long
): Boolean ): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nAllocPixels") @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nAllocPixels")
external fun _nAllocPixels(ptr: Long): Boolean external fun _nAllocPixels(ptr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetPixelRef") @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetPixelRef")
external fun _nGetPixelRef(ptr: Long): Long external fun _nGetPixelRef(ptr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetPixelRefOrigin") @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetPixelRefOrigin")
external fun _nGetPixelRefOrigin(ptr: Long): Long external fun _nGetPixelRefOrigin(ptr: NativePointer): Long
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nSetPixelRef") @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nSetPixelRef")
external fun _nSetPixelRef(ptr: Long, pixelRefPtr: Long, dx: Int, dy: Int) external fun _nSetPixelRef(ptr: NativePointer, pixelRefPtr: NativePointer, dx: Int, dy: Int)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nIsReadyToDraw") @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nIsReadyToDraw")
external fun _nIsReadyToDraw(ptr: Long): Boolean external fun _nIsReadyToDraw(ptr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetGenerationId") @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetGenerationId")
external fun _nGetGenerationId(ptr: Long): Int external fun _nGetGenerationId(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nNotifyPixelsChanged") @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nNotifyPixelsChanged")
external fun _nNotifyPixelsChanged(ptr: Long) external fun _nNotifyPixelsChanged(ptr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nEraseColor") @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nEraseColor")
external fun _nEraseColor(ptr: Long, color: Int) external fun _nEraseColor(ptr: NativePointer, color: Int)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nErase") @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nErase")
external fun _nErase(ptr: Long, color: Int, left: Int, top: Int, right: Int, bottom: Int) external fun _nErase(ptr: NativePointer, color: Int, left: Int, top: Int, right: Int, bottom: Int)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetColor") @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetColor")
external fun _nGetColor(ptr: Long, x: Int, y: Int): Int external fun _nGetColor(ptr: NativePointer, x: Int, y: Int): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetAlphaf") @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetAlphaf")
external fun _nGetAlphaf(ptr: Long, x: Int, y: Int): Float external fun _nGetAlphaf(ptr: NativePointer, x: Int, y: Int): Float
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nExtractSubset") @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nExtractSubset")
external fun _nExtractSubset(ptr: Long, dstPtr: Long, left: Int, top: Int, right: Int, bottom: Int): Boolean external fun _nExtractSubset(ptr: NativePointer, dstPtr: NativePointer, left: Int, top: Int, right: Int, bottom: Int): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nReadPixels") @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nReadPixels")
external fun _nReadPixels( external fun _nReadPixels(
ptr: Long, ptr: NativePointer,
width: Int, width: Int,
height: Int, height: Int,
colorType: Int, colorType: Int,
alphaType: Int, alphaType: Int,
colorSpacePtr: Long, colorSpacePtr: NativePointer,
dstRowBytes: Long, dstRowBytes: Long,
srcX: Int, srcX: Int,
srcY: Int srcY: Int
...@@ -171,13 +172,13 @@ class Bitmap internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR ...@@ -171,13 +172,13 @@ class Bitmap internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nExtractAlpha") @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nExtractAlpha")
external fun _nExtractAlpha(ptr: Long, dstPtr: Long, paintPtr: Long): IPoint? external fun _nExtractAlpha(ptr: NativePointer, dstPtr: NativePointer, paintPtr: NativePointer): IPoint?
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nPeekPixels") @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nPeekPixels")
external fun _nPeekPixels(ptr: Long): ByteBuffer? external fun _nPeekPixels(ptr: NativePointer): ByteBuffer?
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nMakeShader") @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nMakeShader")
external fun _nMakeShader(ptr: Long, tmx: Int, tmy: Int, samplingMode: Long, localMatrix: FloatArray?): Long external fun _nMakeShader(ptr: NativePointer, tmx: Int, tmy: Int, samplingMode: Long, localMatrix: FloatArray?): NativePointer
init { init {
staticLoad() staticLoad()
...@@ -354,7 +355,7 @@ class Bitmap internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR ...@@ -354,7 +355,7 @@ class Bitmap internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR
* *
* @return size in bytes of image buffer * @return size in bytes of image buffer
*/ */
fun computeByteSize(): Long { fun computeByteSize(): NativePointer {
return try { return try {
Stats.onNativeCall() Stats.onNativeCall()
_nComputeByteSize(_ptr) _nComputeByteSize(_ptr)
...@@ -772,7 +773,7 @@ class Bitmap internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR ...@@ -772,7 +773,7 @@ class Bitmap internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR
get() = try { get() = try {
Stats.onNativeCall() Stats.onNativeCall()
val res = _nGetPixelRef(_ptr) val res = _nGetPixelRef(_ptr)
if (res == 0L) null else PixelRef(res) if (res == NullPointer) null else PixelRef(res)
} finally { } finally {
reachabilityBarrier(this) reachabilityBarrier(this)
} }
...@@ -798,7 +799,7 @@ class Bitmap internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR ...@@ -798,7 +799,7 @@ class Bitmap internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR
get() = try { get() = try {
Stats.onNativeCall() Stats.onNativeCall()
val res = _nGetPixelRefOrigin(_ptr) val res = _nGetPixelRefOrigin(_ptr)
IPoint((res and -0x1).toInt(), (res ushr 32).toInt()) toIPoint(res)
} finally { } finally {
reachabilityBarrier(this) reachabilityBarrier(this)
} }
......
...@@ -6,6 +6,8 @@ import org.jetbrains.skia.impl.Managed ...@@ -6,6 +6,8 @@ import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
/** /**
...@@ -192,7 +194,7 @@ import kotlin.jvm.JvmStatic ...@@ -192,7 +194,7 @@ import kotlin.jvm.JvmStatic
* with punctuation or other non-word characters. * with punctuation or other non-word characters.
</blockquote> * </blockquote> *
*/ */
class BreakIterator internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) { class BreakIterator internal constructor(ptr: NativePointer) : Managed(ptr, _FinalizerHolder.PTR) {
companion object { companion object {
/** /**
* DONE is returned by previous() and next() after all valid * DONE is returned by previous() and next() after all valid
...@@ -294,46 +296,46 @@ class BreakIterator internal constructor(ptr: Long) : Managed(ptr, _FinalizerHol ...@@ -294,46 +296,46 @@ class BreakIterator internal constructor(ptr: Long) : Managed(ptr, _FinalizerHol
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nGetFinalizer") @ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nGetFinalizer")
external fun _nGetFinalizer(): Long external fun _nGetFinalizer(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nMake") @ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nMake")
external fun _nMake(type: Int, locale: String?): Long external fun _nMake(type: Int, locale: String?): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nClone") @ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nClone")
external fun _nClone(ptr: Long): Long external fun _nClone(ptr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nCurrent") @ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nCurrent")
external fun _nCurrent(ptr: Long): Int external fun _nCurrent(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nNext") @ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nNext")
external fun _nNext(ptr: Long): Int external fun _nNext(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nPrevious") @ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nPrevious")
external fun _nPrevious(ptr: Long): Int external fun _nPrevious(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nFirst") @ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nFirst")
external fun _nFirst(ptr: Long): Int external fun _nFirst(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nLast") @ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nLast")
external fun _nLast(ptr: Long): Int external fun _nLast(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nPreceding") @ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nPreceding")
external fun _nPreceding(ptr: Long, offset: Int): Int external fun _nPreceding(ptr: NativePointer, offset: Int): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nFollowing") @ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nFollowing")
external fun _nFollowing(ptr: Long, offset: Int): Int external fun _nFollowing(ptr: NativePointer, offset: Int): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nIsBoundary") @ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nIsBoundary")
external fun _nIsBoundary(ptr: Long, offset: Int): Boolean external fun _nIsBoundary(ptr: NativePointer, offset: Int): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nGetRuleStatus") @ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nGetRuleStatus")
external fun _nGetRuleStatus(ptr: Long): Int external fun _nGetRuleStatus(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nGetRuleStatuses") @ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nGetRuleStatuses")
external fun _nGetRuleStatuses(ptr: Long): IntArray external fun _nGetRuleStatuses(ptr: NativePointer): IntArray
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nSetText") @ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nSetText")
external fun _nSetText(ptr: Long, textPtr: Long) external fun _nSetText(ptr: NativePointer, textPtr: NativePointer)
init { init {
staticLoad() staticLoad()
......
...@@ -8,30 +8,32 @@ import org.jetbrains.skia.impl.Stats ...@@ -8,30 +8,32 @@ import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.impl.use import org.jetbrains.skia.impl.use
import org.jetbrains.skia.ExternalSymbolName import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val _owner: Any) : open class Canvas internal constructor(ptr: NativePointer, managed: Boolean, internal val _owner: Any) :
Managed(ptr, _FinalizerHolder.PTR, managed) { Managed(ptr, _FinalizerHolder.PTR, managed) {
companion object { companion object {
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nGetFinalizer") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nGetFinalizer")
external fun _nGetFinalizer(): Long external fun _nGetFinalizer(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nMakeFromBitmap") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nMakeFromBitmap")
external fun _nMakeFromBitmap(bitmapPtr: Long, flags: Int, pixelGeometry: Int): Long external fun _nMakeFromBitmap(bitmapPtr: NativePointer, flags: Int, pixelGeometry: Int): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawPoint") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawPoint")
external fun _nDrawPoint(ptr: Long, x: Float, y: Float, paintPtr: Long) external fun _nDrawPoint(ptr: NativePointer, x: Float, y: Float, paintPtr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawPoints") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawPoints")
external fun _nDrawPoints(ptr: Long, mode: Int, coords: FloatArray?, paintPtr: Long) external fun _nDrawPoints(ptr: NativePointer, mode: Int, coords: FloatArray?, paintPtr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawLine") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawLine")
external fun _nDrawLine(ptr: Long, x0: Float, y0: Float, x1: Float, y1: Float, paintPtr: Long) external fun _nDrawLine(ptr: NativePointer, x0: Float, y0: Float, x1: Float, y1: Float, paintPtr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawArc") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawArc")
external fun _nDrawArc( external fun _nDrawArc(
ptr: Long, ptr: NativePointer,
left: Float, left: Float,
top: Float, top: Float,
right: Float, right: Float,
...@@ -39,31 +41,31 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val ...@@ -39,31 +41,31 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val
startAngle: Float, startAngle: Float,
sweepAngle: Float, sweepAngle: Float,
includeCenter: Boolean, includeCenter: Boolean,
paintPtr: Long paintPtr: NativePointer
) )
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawRect") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawRect")
external fun _nDrawRect(ptr: Long, left: Float, top: Float, right: Float, bottom: Float, paintPtr: Long) external fun _nDrawRect(ptr: NativePointer, left: Float, top: Float, right: Float, bottom: Float, paintPtr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawOval") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawOval")
external fun _nDrawOval(ptr: Long, left: Float, top: Float, right: Float, bottom: Float, paint: Long) external fun _nDrawOval(ptr: NativePointer, left: Float, top: Float, right: Float, bottom: Float, paint: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawRRect") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawRRect")
external fun _nDrawRRect( external fun _nDrawRRect(
ptr: Long, ptr: NativePointer,
left: Float, left: Float,
top: Float, top: Float,
right: Float, right: Float,
bottom: Float, bottom: Float,
radii: FloatArray?, radii: FloatArray?,
paintPtr: Long paintPtr: NativePointer
) )
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawDRRect") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawDRRect")
external fun _nDrawDRRect( external fun _nDrawDRRect(
ptr: Long, ptr: NativePointer,
ol: Float, ol: Float,
ot: Float, ot: Float,
or: Float, or: Float,
...@@ -74,17 +76,17 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val ...@@ -74,17 +76,17 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val
ir: Float, ir: Float,
ib: Float, ib: Float,
iradii: FloatArray?, iradii: FloatArray?,
paintPtr: Long paintPtr: NativePointer
) )
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawPath") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawPath")
external fun _nDrawPath(ptr: Long, nativePath: Long, paintPtr: Long) external fun _nDrawPath(ptr: NativePointer, nativePath: NativePointer, paintPtr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawImageRect") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawImageRect")
external fun _nDrawImageRect( external fun _nDrawImageRect(
ptr: Long, ptr: NativePointer,
nativeImage: Long, nativeImage: NativePointer,
sl: Float, sl: Float,
st: Float, st: Float,
sr: Float, sr: Float,
...@@ -94,15 +96,15 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val ...@@ -94,15 +96,15 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val
dr: Float, dr: Float,
db: Float, db: Float,
samplingMode: Long, samplingMode: Long,
paintPtr: Long, paintPtr: NativePointer,
strict: Boolean strict: Boolean
) )
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawImageNine") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawImageNine")
external fun _nDrawImageNine( external fun _nDrawImageNine(
ptr: Long, ptr: NativePointer,
nativeImage: Long, nativeImage: NativePointer,
cl: Int, cl: Int,
ct: Int, ct: Int,
cr: Int, cr: Int,
...@@ -112,67 +114,67 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val ...@@ -112,67 +114,67 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val
dr: Float, dr: Float,
db: Float, db: Float,
filterMode: Int, filterMode: Int,
paintPtr: Long paintPtr: NativePointer
) )
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawRegion") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawRegion")
external fun _nDrawRegion(ptr: Long, nativeRegion: Long, paintPtr: Long) external fun _nDrawRegion(ptr: NativePointer, nativeRegion: NativePointer, paintPtr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawString") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawString")
external fun _nDrawString(ptr: Long, string: String?, x: Float, y: Float, font: Long, paint: Long) external fun _nDrawString(ptr: NativePointer, string: String?, x: Float, y: Float, font: NativePointer, paint: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawTextBlob") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawTextBlob")
external fun _nDrawTextBlob(ptr: Long, blob: Long, x: Float, y: Float, paint: Long) external fun _nDrawTextBlob(ptr: NativePointer, blob: NativePointer, x: Float, y: Float, paint: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawPicture") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawPicture")
external fun _nDrawPicture(ptr: Long, picturePtr: Long, matrix: FloatArray?, paintPtr: Long) external fun _nDrawPicture(ptr: NativePointer, picturePtr: NativePointer, matrix: FloatArray?, paintPtr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawVertices") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawVertices")
external fun _nDrawVertices( external fun _nDrawVertices(
ptr: Long, ptr: NativePointer,
verticesMode: Int, verticesMode: Int,
cubics: FloatArray?, cubics: FloatArray?,
colors: IntArray?, colors: IntArray?,
texCoords: FloatArray?, texCoords: FloatArray?,
indices: ShortArray?, indices: ShortArray?,
blendMode: Int, blendMode: Int,
paintPtr: Long paintPtr: NativePointer
) )
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawPatch") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawPatch")
external fun _nDrawPatch( external fun _nDrawPatch(
ptr: Long, ptr: NativePointer,
cubics: FloatArray?, cubics: FloatArray?,
colors: IntArray?, colors: IntArray?,
texCoords: FloatArray?, texCoords: FloatArray?,
blendMode: Int, blendMode: Int,
paintPtr: Long paintPtr: NativePointer
) )
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawDrawable") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawDrawable")
external fun _nDrawDrawable(ptr: Long, drawablePrt: Long, matrix: FloatArray?) external fun _nDrawDrawable(ptr: NativePointer, drawablePrt: NativePointer, matrix: FloatArray?)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nClear") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nClear")
external fun _nClear(ptr: Long, color: Int) external fun _nClear(ptr: NativePointer, color: Int)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawPaint") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawPaint")
external fun _nDrawPaint(ptr: Long, paintPtr: Long) external fun _nDrawPaint(ptr: NativePointer, paintPtr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nSetMatrix") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nSetMatrix")
external fun _nSetMatrix(ptr: Long, matrix: FloatArray?) external fun _nSetMatrix(ptr: NativePointer, matrix: FloatArray?)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nGetLocalToDevice") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nGetLocalToDevice")
external fun _nGetLocalToDevice(ptr: Long): FloatArray external fun _nGetLocalToDevice(ptr: NativePointer): FloatArray
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nResetMatrix") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nResetMatrix")
external fun _nResetMatrix(ptr: Long) external fun _nResetMatrix(ptr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nClipRect") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nClipRect")
external fun _nClipRect( external fun _nClipRect(
ptr: Long, ptr: NativePointer,
left: Float, left: Float,
top: Float, top: Float,
right: Float, right: Float,
...@@ -184,7 +186,7 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val ...@@ -184,7 +186,7 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nClipRRect") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nClipRRect")
external fun _nClipRRect( external fun _nClipRRect(
ptr: Long, ptr: NativePointer,
left: Float, left: Float,
top: Float, top: Float,
right: Float, right: Float,
...@@ -196,48 +198,48 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val ...@@ -196,48 +198,48 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nClipPath") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nClipPath")
external fun _nClipPath(ptr: Long, nativePath: Long, mode: Int, antiAlias: Boolean) external fun _nClipPath(ptr: NativePointer, nativePath: NativePointer, mode: Int, antiAlias: Boolean)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nClipRegion") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nClipRegion")
external fun _nClipRegion(ptr: Long, nativeRegion: Long, mode: Int) external fun _nClipRegion(ptr: NativePointer, nativeRegion: NativePointer, mode: Int)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nConcat") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nConcat")
external fun _nConcat(ptr: Long, matrix: FloatArray?) external fun _nConcat(ptr: NativePointer, matrix: FloatArray?)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nConcat44") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nConcat44")
external fun _nConcat44(ptr: Long, matrix: FloatArray?) external fun _nConcat44(ptr: NativePointer, matrix: FloatArray?)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nReadPixels") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nReadPixels")
external fun _nReadPixels(ptr: Long, bitmapPtr: Long, srcX: Int, srcY: Int): Boolean external fun _nReadPixels(ptr: NativePointer, bitmapPtr: NativePointer, srcX: Int, srcY: Int): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nWritePixels") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nWritePixels")
external fun _nWritePixels(ptr: Long, bitmapPtr: Long, x: Int, y: Int): Boolean external fun _nWritePixels(ptr: NativePointer, bitmapPtr: NativePointer, x: Int, y: Int): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nSave") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nSave")
external fun _nSave(ptr: Long): Int external fun _nSave(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nSaveLayer") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nSaveLayer")
external fun _nSaveLayer(ptr: Long, paintPtr: Long): Int external fun _nSaveLayer(ptr: NativePointer, paintPtr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nSaveLayerRect") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nSaveLayerRect")
external fun _nSaveLayerRect( external fun _nSaveLayerRect(
ptr: Long, ptr: NativePointer,
left: Float, left: Float,
top: Float, top: Float,
right: Float, right: Float,
bottom: Float, bottom: Float,
paintPtr: Long paintPtr: NativePointer
): Int ): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nGetSaveCount") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nGetSaveCount")
external fun _nGetSaveCount(ptr: Long): Int external fun _nGetSaveCount(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nRestore") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nRestore")
external fun _nRestore(ptr: Long) external fun _nRestore(ptr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nRestoreToCount") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nRestoreToCount")
external fun _nRestoreToCount(ptr: Long, saveCount: Int) external fun _nRestoreToCount(ptr: NativePointer, saveCount: Int)
init { init {
staticLoad() staticLoad()
......
...@@ -5,10 +5,11 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad ...@@ -5,10 +5,11 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Managed import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class Codec internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR), IHasImageInfo { class Codec internal constructor(ptr: NativePointer) : Managed(ptr, _FinalizerHolder.PTR), IHasImageInfo {
companion object { companion object {
/** /**
* If this data represents an encoded image that we know how to decode, * If this data represents an encoded image that we know how to decode,
...@@ -19,7 +20,7 @@ class Codec internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) ...@@ -19,7 +20,7 @@ class Codec internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR)
Stats.onNativeCall() Stats.onNativeCall()
val ptr = val ptr =
_nMakeFromData(getPtr(data)) _nMakeFromData(getPtr(data))
require(ptr != 0L) { "Unsupported format" } require(ptr != NullPointer) { "Unsupported format" }
Codec(ptr) Codec(ptr)
} finally { } finally {
reachabilityBarrier(data) reachabilityBarrier(data)
...@@ -42,37 +43,37 @@ class Codec internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) ...@@ -42,37 +43,37 @@ class Codec internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Codec__1nGetFinalizer") @ExternalSymbolName("org_jetbrains_skia_Codec__1nGetFinalizer")
external fun _nGetFinalizer(): Long external fun _nGetFinalizer(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Codec__1nMakeFromData") @ExternalSymbolName("org_jetbrains_skia_Codec__1nMakeFromData")
external fun _nMakeFromData(dataPtr: Long): Long external fun _nMakeFromData(dataPtr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Codec__1nGetImageInfo") @ExternalSymbolName("org_jetbrains_skia_Codec__1nGetImageInfo")
external fun _nGetImageInfo(ptr: Long): ImageInfo? external fun _nGetImageInfo(ptr: NativePointer): ImageInfo?
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Codec__1nGetSize") @ExternalSymbolName("org_jetbrains_skia_Codec__1nGetSize")
external fun _nGetSize(ptr: Long): Long external fun _nGetSize(ptr: NativePointer): Long
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Codec__1nGetEncodedOrigin") @ExternalSymbolName("org_jetbrains_skia_Codec__1nGetEncodedOrigin")
external fun _nGetEncodedOrigin(ptr: Long): Int external fun _nGetEncodedOrigin(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Codec__1nGetEncodedImageFormat") @ExternalSymbolName("org_jetbrains_skia_Codec__1nGetEncodedImageFormat")
external fun _nGetEncodedImageFormat(ptr: Long): Int external fun _nGetEncodedImageFormat(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Codec__1nReadPixels") @ExternalSymbolName("org_jetbrains_skia_Codec__1nReadPixels")
external fun _nReadPixels(ptr: Long, bitmapPtr: Long, frame: Int, priorFrame: Int): Int external fun _nReadPixels(ptr: NativePointer, bitmapPtr: NativePointer, frame: Int, priorFrame: Int): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Codec__1nGetFrameCount") @ExternalSymbolName("org_jetbrains_skia_Codec__1nGetFrameCount")
external fun _nGetFrameCount(ptr: Long): Int external fun _nGetFrameCount(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Codec__1nGetFrameInfo") @ExternalSymbolName("org_jetbrains_skia_Codec__1nGetFrameInfo")
external fun _nGetFrameInfo(ptr: Long, frame: Int): AnimationFrameInfo external fun _nGetFrameInfo(ptr: NativePointer, frame: Int): AnimationFrameInfo
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Codec__1nGetFramesInfo") @ExternalSymbolName("org_jetbrains_skia_Codec__1nGetFramesInfo")
external fun _nGetFramesInfo(ptr: Long): Array<AnimationFrameInfo> external fun _nGetFramesInfo(ptr: NativePointer): Array<AnimationFrameInfo>
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Codec__1nGetRepetitionCount") @ExternalSymbolName("org_jetbrains_skia_Codec__1nGetRepetitionCount")
external fun _nGetRepetitionCount(ptr: Long): Int external fun _nGetRepetitionCount(ptr: NativePointer): Int
init { init {
staticLoad() staticLoad()
...@@ -94,7 +95,7 @@ class Codec internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) ...@@ -94,7 +95,7 @@ class Codec internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR)
val size: IPoint val size: IPoint
get() = try { get() = try {
Stats.onNativeCall() Stats.onNativeCall()
IPoint._makeFromLong(_nGetSize(_ptr)) toIPoint(_nGetSize(_ptr))
} finally { } finally {
reachabilityBarrier(this) reachabilityBarrier(this)
} }
......
...@@ -6,6 +6,8 @@ import org.jetbrains.skia.impl.RefCnt ...@@ -6,6 +6,8 @@ import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class ColorFilter : RefCnt { class ColorFilter : RefCnt {
...@@ -83,43 +85,43 @@ class ColorFilter : RefCnt { ...@@ -83,43 +85,43 @@ class ColorFilter : RefCnt {
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nMakeComposed") @ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nMakeComposed")
external fun _nMakeComposed(outer: Long, inner: Long): Long external fun _nMakeComposed(outer: NativePointer, inner: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nMakeBlend") @ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nMakeBlend")
external fun _nMakeBlend(color: Int, blendMode: Int): Long external fun _nMakeBlend(color: Int, blendMode: Int): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nMakeMatrix") @ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nMakeMatrix")
external fun _nMakeMatrix(rowMajor: FloatArray?): Long external fun _nMakeMatrix(rowMajor: FloatArray?): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nMakeHSLAMatrix") @ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nMakeHSLAMatrix")
external fun _nMakeHSLAMatrix(rowMajor: FloatArray?): Long external fun _nMakeHSLAMatrix(rowMajor: FloatArray?): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nGetLinearToSRGBGamma") @ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nGetLinearToSRGBGamma")
external fun _nGetLinearToSRGBGamma(): Long external fun _nGetLinearToSRGBGamma(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nGetSRGBToLinearGamma") @ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nGetSRGBToLinearGamma")
external fun _nGetSRGBToLinearGamma(): Long external fun _nGetSRGBToLinearGamma(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nMakeLerp") @ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nMakeLerp")
external fun _nMakeLerp(t: Float, dstPtr: Long, srcPtr: Long): Long external fun _nMakeLerp(t: Float, dstPtr: NativePointer, srcPtr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nMakeLighting") @ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nMakeLighting")
external fun _nMakeLighting(colorMul: Int, colorAdd: Int): Long external fun _nMakeLighting(colorMul: Int, colorAdd: Int): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nMakeHighContrast") @ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nMakeHighContrast")
external fun _nMakeHighContrast(grayscale: Boolean, inversionMode: Int, contrast: Float): Long external fun _nMakeHighContrast(grayscale: Boolean, inversionMode: Int, contrast: Float): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nMakeTable") @ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nMakeTable")
external fun _nMakeTable(table: ByteArray?): Long external fun _nMakeTable(table: ByteArray?): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nMakeTableARGB") @ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nMakeTableARGB")
external fun _nMakeTableARGB(a: ByteArray?, r: ByteArray?, g: ByteArray?, b: ByteArray?): Long external fun _nMakeTableARGB(a: ByteArray?, r: ByteArray?, g: ByteArray?, b: ByteArray?): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nMakeOverdraw") @ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nMakeOverdraw")
external fun _nMakeOverdraw(c0: Int, c1: Int, c2: Int, c3: Int, c4: Int, c5: Int): Long external fun _nMakeOverdraw(c0: Int, c1: Int, c2: Int, c3: Int, c4: Int, c5: Int): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nGetLuma") @ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nGetLuma")
external fun _nGetLuma(): Long external fun _nGetLuma(): NativePointer
init { init {
staticLoad() staticLoad()
...@@ -129,7 +131,7 @@ class ColorFilter : RefCnt { ...@@ -129,7 +131,7 @@ class ColorFilter : RefCnt {
val luma = ColorFilter(_nGetLuma(), false) val luma = ColorFilter(_nGetLuma(), false)
} }
internal constructor(ptr: Long) : super(ptr) internal constructor(ptr: NativePointer) : super(ptr)
internal constructor(ptr: Long, allowClose: Boolean) : super(ptr, allowClose) internal constructor(ptr: NativePointer, allowClose: Boolean) : super(ptr, allowClose)
} }
\ No newline at end of file
...@@ -6,34 +6,36 @@ import org.jetbrains.skia.impl.Managed ...@@ -6,34 +6,36 @@ import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class ColorSpace : Managed { class ColorSpace : Managed {
companion object { companion object {
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorSpace__1nGetFinalizer") @ExternalSymbolName("org_jetbrains_skia_ColorSpace__1nGetFinalizer")
external fun _nGetFinalizer(): Long external fun _nGetFinalizer(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorSpace__1nMakeSRGB") @ExternalSymbolName("org_jetbrains_skia_ColorSpace__1nMakeSRGB")
external fun _nMakeSRGB(): Long external fun _nMakeSRGB(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorSpace__1nMakeDisplayP3") @ExternalSymbolName("org_jetbrains_skia_ColorSpace__1nMakeDisplayP3")
external fun _nMakeDisplayP3(): Long external fun _nMakeDisplayP3(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorSpace__1nMakeSRGBLinear") @ExternalSymbolName("org_jetbrains_skia_ColorSpace__1nMakeSRGBLinear")
external fun _nMakeSRGBLinear(): Long external fun _nMakeSRGBLinear(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorSpace__1nConvert") @ExternalSymbolName("org_jetbrains_skia_ColorSpace__1nConvert")
external fun _nConvert(fromPtr: Long, toPtr: Long, r: Float, g: Float, b: Float, a: Float): FloatArray external fun _nConvert(fromPtr: NativePointer, toPtr: NativePointer, r: Float, g: Float, b: Float, a: Float): FloatArray
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorSpace__1nIsGammaCloseToSRGB") @ExternalSymbolName("org_jetbrains_skia_ColorSpace__1nIsGammaCloseToSRGB")
external fun _nIsGammaCloseToSRGB(ptr: Long): Boolean external fun _nIsGammaCloseToSRGB(ptr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorSpace__1nIsGammaLinear") @ExternalSymbolName("org_jetbrains_skia_ColorSpace__1nIsGammaLinear")
external fun _nIsGammaLinear(ptr: Long): Boolean external fun _nIsGammaLinear(ptr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorSpace__1nIsSRGB") @ExternalSymbolName("org_jetbrains_skia_ColorSpace__1nIsSRGB")
external fun _nIsSRGB(ptr: Long): Boolean external fun _nIsSRGB(ptr: NativePointer): Boolean
init { init {
staticLoad() staticLoad()
...@@ -65,9 +67,9 @@ class ColorSpace : Managed { ...@@ -65,9 +67,9 @@ class ColorSpace : Managed {
} }
} }
internal constructor(ptr: Long) : super(ptr, _FinalizerHolder.PTR, true) internal constructor(ptr: NativePointer) : super(ptr, _FinalizerHolder.PTR, true)
internal constructor(ptr: Long, managed: Boolean) : super(ptr, _FinalizerHolder.PTR, managed) internal constructor(ptr: NativePointer, managed: Boolean) : super(ptr, _FinalizerHolder.PTR, managed)
/** /**
* @return true if the color space gamma is near enough to be approximated as sRGB * @return true if the color space gamma is near enough to be approximated as sRGB
......
package org.jetbrains.skia package org.jetbrains.skia
import org.jetbrains.skia.impl.NativePointer
/** /**
* *
* Specify B and C (each between 0...1) to create a shader that applies the corresponding * Specify B and C (each between 0...1) to create a shader that applies the corresponding
...@@ -23,9 +25,7 @@ package org.jetbrains.skia ...@@ -23,9 +25,7 @@ package org.jetbrains.skia
*/ */
class CubicResampler(internal val b: Float, internal val c: Float) : SamplingMode { class CubicResampler(internal val b: Float, internal val c: Float) : SamplingMode {
override fun _pack(): Long { override fun _pack(): Long = ((b.toBits().toULong() shl 32) or c.toBits().toULong()).toLong()
return ((b.toBits().toULong() shl 32) or c.toBits().toULong()).toLong()
}
override fun equals(o: Any?): Boolean { override fun equals(o: Any?): Boolean {
if (o === this) return true if (o === this) return true
......
...@@ -4,16 +4,18 @@ package org.jetbrains.skia ...@@ -4,16 +4,18 @@ package org.jetbrains.skia
import org.jetbrains.skia.impl.Library.Companion.staticLoad import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Managed import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Native import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.getPtr
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
/** /**
* Data holds an immutable data buffer. * Data holds an immutable data buffer.
*/ */
class Data internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) { class Data internal constructor(ptr: NativePointer) : Managed(ptr, _FinalizerHolder.PTR) {
companion object { companion object {
fun makeFromBytes(bytes: ByteArray, offset: Long = 0, length: Long = bytes.size.toLong()): Data { fun makeFromBytes(bytes: ByteArray, offset: Long = 0L, length: Long = bytes.size.toLong()): Data {
Stats.onNativeCall() Stats.onNativeCall()
return Data(_nMakeFromBytes(bytes, offset, length)) return Data(_nMakeFromBytes(bytes, offset, length))
} }
...@@ -38,31 +40,31 @@ class Data internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) ...@@ -38,31 +40,31 @@ class Data internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Data__1nGetFinalizer") @ExternalSymbolName("org_jetbrains_skia_Data__1nGetFinalizer")
external fun _nGetFinalizer(): Long external fun _nGetFinalizer(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Data__1nSize") @ExternalSymbolName("org_jetbrains_skia_Data__1nSize")
external fun _nSize(ptr: Long): Long external fun _nSize(ptr: NativePointer): Long
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Data__1nBytes") @ExternalSymbolName("org_jetbrains_skia_Data__1nBytes")
external fun _nBytes(ptr: Long, offset: Long, length: Long): ByteArray external fun _nBytes(ptr: NativePointer, offset: Long, length: Long): ByteArray
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Data__1nEquals") @ExternalSymbolName("org_jetbrains_skia_Data__1nEquals")
external fun _nEquals(ptr: Long, otherPtr: Long): Boolean external fun _nEquals(ptr: NativePointer, otherPtr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Data__1nToByteBuffer") @ExternalSymbolName("org_jetbrains_skia_Data__1nToByteBuffer")
external fun _nToByteBuffer(ptr: Long): ByteBuffer external fun _nToByteBuffer(ptr: NativePointer): ByteBuffer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Data__1nMakeFromBytes") @ExternalSymbolName("org_jetbrains_skia_Data__1nMakeFromBytes")
external fun _nMakeFromBytes(bytes: ByteArray?, offset: Long, length: Long): Long external fun _nMakeFromBytes(bytes: ByteArray?, offset: Long, length: Long): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Data__1nMakeFromFileName") @ExternalSymbolName("org_jetbrains_skia_Data__1nMakeFromFileName")
external fun _nMakeFromFileName(path: String?): Long external fun _nMakeFromFileName(path: String?): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Data__1nMakeSubset") @ExternalSymbolName("org_jetbrains_skia_Data__1nMakeSubset")
external fun _nMakeSubset(ptr: Long, offset: Long, length: Long): Long external fun _nMakeSubset(ptr: NativePointer, offset: Long, length: Long): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Data__1nMakeEmpty") @ExternalSymbolName("org_jetbrains_skia_Data__1nMakeEmpty")
external fun _nMakeEmpty(): Long external fun _nMakeEmpty(): NativePointer
init { init {
staticLoad() staticLoad()
......
...@@ -6,16 +6,17 @@ import org.jetbrains.skia.impl.RefCnt ...@@ -6,16 +6,17 @@ import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class DirectContext internal constructor(ptr: Long) : RefCnt(ptr) { class DirectContext internal constructor(ptr: NativePointer) : RefCnt(ptr) {
companion object { companion object {
fun makeGL(): DirectContext { fun makeGL(): DirectContext {
Stats.onNativeCall() Stats.onNativeCall()
return DirectContext(_nMakeGL()) return DirectContext(_nMakeGL())
} }
fun makeMetal(devicePtr: Long, queuePtr: Long): DirectContext { fun makeMetal(devicePtr: NativePointer, queuePtr: NativePointer): DirectContext {
Stats.onNativeCall() Stats.onNativeCall()
return DirectContext(_nMakeMetal(devicePtr, queuePtr)) return DirectContext(_nMakeMetal(devicePtr, queuePtr))
} }
...@@ -33,32 +34,32 @@ class DirectContext internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -33,32 +34,32 @@ class DirectContext internal constructor(ptr: Long) : RefCnt(ptr) {
* is created with provided device in devicePtr with * is created with provided device in devicePtr with
* type D3D12_COMMAND_LIST_TYPE_DIRECT; must be not zero * type D3D12_COMMAND_LIST_TYPE_DIRECT; must be not zero
*/ */
fun makeDirect3D(adapterPtr: Long, devicePtr: Long, queuePtr: Long): DirectContext { fun makeDirect3D(adapterPtr: NativePointer, devicePtr: NativePointer, queuePtr: NativePointer): DirectContext {
Stats.onNativeCall() Stats.onNativeCall()
return DirectContext(_nMakeDirect3D(adapterPtr, devicePtr, queuePtr)) return DirectContext(_nMakeDirect3D(adapterPtr, devicePtr, queuePtr))
} }
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_DirectContext__1nMakeGL") @ExternalSymbolName("org_jetbrains_skia_DirectContext__1nMakeGL")
external fun _nMakeGL(): Long external fun _nMakeGL(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_DirectContext__1nMakeMetal") @ExternalSymbolName("org_jetbrains_skia_DirectContext__1nMakeMetal")
external fun _nMakeMetal(devicePtr: Long, queuePtr: Long): Long external fun _nMakeMetal(devicePtr: NativePointer, queuePtr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_DirectContext__1nMakeDirect3D") @ExternalSymbolName("org_jetbrains_skia_DirectContext__1nMakeDirect3D")
external fun _nMakeDirect3D(adapterPtr: Long, devicePtr: Long, queuePtr: Long): Long external fun _nMakeDirect3D(adapterPtr: NativePointer, devicePtr: NativePointer, queuePtr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_DirectContext__1nFlush") @ExternalSymbolName("org_jetbrains_skia_DirectContext__1nFlush")
external fun _nFlush(ptr: Long): Long external fun _nFlush(ptr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_DirectContext__1nSubmit") @ExternalSymbolName("org_jetbrains_skia_DirectContext__1nSubmit")
external fun _nSubmit(ptr: Long, syncCpu: Boolean): Long external fun _nSubmit(ptr: NativePointer, syncCpu: Boolean): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_DirectContext__1nReset") @ExternalSymbolName("org_jetbrains_skia_DirectContext__1nReset")
external fun _nReset(ptr: Long, flags: Int) external fun _nReset(ptr: NativePointer, flags: Int)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_DirectContext__1nAbandon") @ExternalSymbolName("org_jetbrains_skia_DirectContext__1nAbandon")
external fun _nAbandon(ptr: Long) external fun _nAbandon(ptr: NativePointer)
init { init {
staticLoad() staticLoad()
......
...@@ -6,6 +6,8 @@ import org.jetbrains.skia.impl.RefCnt ...@@ -6,6 +6,8 @@ import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
/** /**
...@@ -21,19 +23,19 @@ abstract class Drawable : RefCnt(_nMake()) { ...@@ -21,19 +23,19 @@ abstract class Drawable : RefCnt(_nMake()) {
companion object { companion object {
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Drawable__1nMake") @ExternalSymbolName("org_jetbrains_skia_Drawable__1nMake")
external fun _nMake(): Long external fun _nMake(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Drawable__1nDraw") @ExternalSymbolName("org_jetbrains_skia_Drawable__1nDraw")
external fun _nDraw(ptr: Long, canvasPtr: Long, matrix: FloatArray?) external fun _nDraw(ptr: NativePointer, canvasPtr: NativePointer, matrix: FloatArray?)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Drawable__1nMakePictureSnapshot") @ExternalSymbolName("org_jetbrains_skia_Drawable__1nMakePictureSnapshot")
external fun _nMakePictureSnapshot(ptr: Long): Long external fun _nMakePictureSnapshot(ptr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Drawable__1nGetGenerationId") @ExternalSymbolName("org_jetbrains_skia_Drawable__1nGetGenerationId")
external fun _nGetGenerationId(ptr: Long): Int external fun _nGetGenerationId(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Drawable__1nNotifyDrawingChanged") @ExternalSymbolName("org_jetbrains_skia_Drawable__1nNotifyDrawingChanged")
external fun _nNotifyDrawingChanged(ptr: Long) external fun _nNotifyDrawingChanged(ptr: NativePointer)
init { init {
staticLoad() staticLoad()
...@@ -130,12 +132,12 @@ abstract class Drawable : RefCnt(_nMake()) { ...@@ -130,12 +132,12 @@ abstract class Drawable : RefCnt(_nMake()) {
abstract fun onDraw(canvas: Canvas?) abstract fun onDraw(canvas: Canvas?)
abstract fun onGetBounds(): Rect abstract fun onGetBounds(): Rect
fun _onDraw(canvasPtr: Long) { fun _onDraw(canvasPtr: NativePointer) {
onDraw(Canvas(canvasPtr, false, this)) onDraw(Canvas(canvasPtr, false, this))
} }
@ExternalSymbolName("org_jetbrains_skia_Drawable__1nInit") @ExternalSymbolName("org_jetbrains_skia_Drawable__1nInit")
external fun _nInit(ptr: Long) external fun _nInit(ptr: NativePointer)
init { init {
Stats.onNativeCall() Stats.onNativeCall()
......
package org.jetbrains.skia package org.jetbrains.skia
import org.jetbrains.skia.impl.NativePointer
class FilterMipmap constructor( class FilterMipmap constructor(
internal val filterMode: FilterMode, internal val filterMode: FilterMode,
internal val mipmapMode: MipmapMode = MipmapMode.NONE internal val mipmapMode: MipmapMode = MipmapMode.NONE
) : SamplingMode { ) : SamplingMode {
override fun _pack(): Long { override fun _pack() = filterMode.ordinal.toLong() shl 32 or mipmapMode.ordinal.toLong()
return filterMode.ordinal.toLong() shl 32 or mipmapMode.ordinal.toLong()
}
override fun equals(o: Any?): Boolean { override fun equals(o: Any?): Boolean {
if (o === this) return true if (o === this) return true
......
...@@ -6,163 +6,164 @@ import org.jetbrains.skia.impl.Managed ...@@ -6,163 +6,164 @@ import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Native import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class Font : Managed { class Font : Managed {
companion object { companion object {
internal fun makeClone(ptr: Long): Font { internal fun makeClone(ptr: NativePointer): Font {
Stats.onNativeCall() Stats.onNativeCall()
return Font(_nMakeClone(ptr)) return Font(_nMakeClone(ptr))
} }
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetFinalizer") @ExternalSymbolName("org_jetbrains_skia_Font__1nGetFinalizer")
external fun _nGetFinalizer(): Long external fun _nGetFinalizer(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nMakeDefault") @ExternalSymbolName("org_jetbrains_skia_Font__1nMakeDefault")
external fun _nMakeDefault(): Long external fun _nMakeDefault(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nMakeTypeface") @ExternalSymbolName("org_jetbrains_skia_Font__1nMakeTypeface")
external fun _nMakeTypeface(typefacePtr: Long): Long external fun _nMakeTypeface(typefacePtr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nMakeTypefaceSize") @ExternalSymbolName("org_jetbrains_skia_Font__1nMakeTypefaceSize")
external fun _nMakeTypefaceSize(typefacePtr: Long, size: Float): Long external fun _nMakeTypefaceSize(typefacePtr: NativePointer, size: Float): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nMakeTypefaceSizeScaleSkew") @ExternalSymbolName("org_jetbrains_skia_Font__1nMakeTypefaceSizeScaleSkew")
external fun _nMakeTypefaceSizeScaleSkew(typefacePtr: Long, size: Float, scaleX: Float, skewX: Float): Long external fun _nMakeTypefaceSizeScaleSkew(typefacePtr: NativePointer, size: Float, scaleX: Float, skewX: Float): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nMakeClone") @ExternalSymbolName("org_jetbrains_skia_Font__1nMakeClone")
external fun _nMakeClone(ptr: Long): Long external fun _nMakeClone(ptr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nEquals") @ExternalSymbolName("org_jetbrains_skia_Font__1nEquals")
external fun _nEquals(ptr: Long, otherPtr: Long): Boolean external fun _nEquals(ptr: NativePointer, otherPtr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nIsAutoHintingForced") @ExternalSymbolName("org_jetbrains_skia_Font__1nIsAutoHintingForced")
external fun _nIsAutoHintingForced(ptr: Long): Boolean external fun _nIsAutoHintingForced(ptr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nAreBitmapsEmbedded") @ExternalSymbolName("org_jetbrains_skia_Font__1nAreBitmapsEmbedded")
external fun _nAreBitmapsEmbedded(ptr: Long): Boolean external fun _nAreBitmapsEmbedded(ptr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nIsSubpixel") @ExternalSymbolName("org_jetbrains_skia_Font__1nIsSubpixel")
external fun _nIsSubpixel(ptr: Long): Boolean external fun _nIsSubpixel(ptr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nAreMetricsLinear") @ExternalSymbolName("org_jetbrains_skia_Font__1nAreMetricsLinear")
external fun _nAreMetricsLinear(ptr: Long): Boolean external fun _nAreMetricsLinear(ptr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nIsEmboldened") @ExternalSymbolName("org_jetbrains_skia_Font__1nIsEmboldened")
external fun _nIsEmboldened(ptr: Long): Boolean external fun _nIsEmboldened(ptr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nIsBaselineSnapped") @ExternalSymbolName("org_jetbrains_skia_Font__1nIsBaselineSnapped")
external fun _nIsBaselineSnapped(ptr: Long): Boolean external fun _nIsBaselineSnapped(ptr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nSetAutoHintingForced") @ExternalSymbolName("org_jetbrains_skia_Font__1nSetAutoHintingForced")
external fun _nSetAutoHintingForced(ptr: Long, value: Boolean) external fun _nSetAutoHintingForced(ptr: NativePointer, value: Boolean)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nSetBitmapsEmbedded") @ExternalSymbolName("org_jetbrains_skia_Font__1nSetBitmapsEmbedded")
external fun _nSetBitmapsEmbedded(ptr: Long, value: Boolean) external fun _nSetBitmapsEmbedded(ptr: NativePointer, value: Boolean)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nSetSubpixel") @ExternalSymbolName("org_jetbrains_skia_Font__1nSetSubpixel")
external fun _nSetSubpixel(ptr: Long, value: Boolean) external fun _nSetSubpixel(ptr: NativePointer, value: Boolean)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nSetMetricsLinear") @ExternalSymbolName("org_jetbrains_skia_Font__1nSetMetricsLinear")
external fun _nSetMetricsLinear(ptr: Long, value: Boolean) external fun _nSetMetricsLinear(ptr: NativePointer, value: Boolean)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nSetEmboldened") @ExternalSymbolName("org_jetbrains_skia_Font__1nSetEmboldened")
external fun _nSetEmboldened(ptr: Long, value: Boolean) external fun _nSetEmboldened(ptr: NativePointer, value: Boolean)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nSetBaselineSnapped") @ExternalSymbolName("org_jetbrains_skia_Font__1nSetBaselineSnapped")
external fun _nSetBaselineSnapped(ptr: Long, value: Boolean) external fun _nSetBaselineSnapped(ptr: NativePointer, value: Boolean)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetEdging") @ExternalSymbolName("org_jetbrains_skia_Font__1nGetEdging")
external fun _nGetEdging(ptr: Long): Int external fun _nGetEdging(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nSetEdging") @ExternalSymbolName("org_jetbrains_skia_Font__1nSetEdging")
external fun _nSetEdging(ptr: Long, value: Int) external fun _nSetEdging(ptr: NativePointer, value: Int)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetHinting") @ExternalSymbolName("org_jetbrains_skia_Font__1nGetHinting")
external fun _nGetHinting(ptr: Long): Int external fun _nGetHinting(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nSetHinting") @ExternalSymbolName("org_jetbrains_skia_Font__1nSetHinting")
external fun _nSetHinting(ptr: Long, value: Int) external fun _nSetHinting(ptr: NativePointer, value: Int)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetTypeface") @ExternalSymbolName("org_jetbrains_skia_Font__1nGetTypeface")
external fun _nGetTypeface(ptr: Long): Long external fun _nGetTypeface(ptr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetTypefaceOrDefault") @ExternalSymbolName("org_jetbrains_skia_Font__1nGetTypefaceOrDefault")
external fun _nGetTypefaceOrDefault(ptr: Long): Long external fun _nGetTypefaceOrDefault(ptr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetSize") @ExternalSymbolName("org_jetbrains_skia_Font__1nGetSize")
external fun _nGetSize(ptr: Long): Float external fun _nGetSize(ptr: NativePointer): Float
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetScaleX") @ExternalSymbolName("org_jetbrains_skia_Font__1nGetScaleX")
external fun _nGetScaleX(ptr: Long): Float external fun _nGetScaleX(ptr: NativePointer): Float
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetSkewX") @ExternalSymbolName("org_jetbrains_skia_Font__1nGetSkewX")
external fun _nGetSkewX(ptr: Long): Float external fun _nGetSkewX(ptr: NativePointer): Float
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nSetTypeface") @ExternalSymbolName("org_jetbrains_skia_Font__1nSetTypeface")
external fun _nSetTypeface(ptr: Long, typefacePtr: Long) external fun _nSetTypeface(ptr: NativePointer, typefacePtr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nSetSize") @ExternalSymbolName("org_jetbrains_skia_Font__1nSetSize")
external fun _nSetSize(ptr: Long, value: Float) external fun _nSetSize(ptr: NativePointer, value: Float)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nSetScaleX") @ExternalSymbolName("org_jetbrains_skia_Font__1nSetScaleX")
external fun _nSetScaleX(ptr: Long, value: Float) external fun _nSetScaleX(ptr: NativePointer, value: Float)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nSetSkewX") @ExternalSymbolName("org_jetbrains_skia_Font__1nSetSkewX")
external fun _nSetSkewX(ptr: Long, value: Float) external fun _nSetSkewX(ptr: NativePointer, value: Float)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetStringGlyphs") @ExternalSymbolName("org_jetbrains_skia_Font__1nGetStringGlyphs")
external fun _nGetStringGlyphs(ptr: Long, str: String?): ShortArray? external fun _nGetStringGlyphs(ptr: NativePointer, str: String?): ShortArray?
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetUTF32Glyph") @ExternalSymbolName("org_jetbrains_skia_Font__1nGetUTF32Glyph")
external fun _nGetUTF32Glyph(ptr: Long, uni: Int): Short external fun _nGetUTF32Glyph(ptr: NativePointer, uni: Int): Short
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetUTF32Glyphs") @ExternalSymbolName("org_jetbrains_skia_Font__1nGetUTF32Glyphs")
external fun _nGetUTF32Glyphs(ptr: Long, uni: IntArray?): ShortArray external fun _nGetUTF32Glyphs(ptr: NativePointer, uni: IntArray?): ShortArray
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetStringGlyphsCount") @ExternalSymbolName("org_jetbrains_skia_Font__1nGetStringGlyphsCount")
external fun _nGetStringGlyphsCount(ptr: Long, str: String?): Int external fun _nGetStringGlyphsCount(ptr: NativePointer, str: String?): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nMeasureText") @ExternalSymbolName("org_jetbrains_skia_Font__1nMeasureText")
external fun _nMeasureText(ptr: Long, str: String?, paintPtr: Long): Rect external fun _nMeasureText(ptr: NativePointer, str: String?, paintPtr: NativePointer): Rect
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nMeasureTextWidth") @ExternalSymbolName("org_jetbrains_skia_Font__1nMeasureTextWidth")
external fun _nMeasureTextWidth(ptr: Long, str: String?, paintPtr: Long): Float external fun _nMeasureTextWidth(ptr: NativePointer, str: String?, paintPtr: NativePointer): Float
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetWidths") @ExternalSymbolName("org_jetbrains_skia_Font__1nGetWidths")
external fun _nGetWidths(ptr: Long, glyphs: ShortArray?): FloatArray external fun _nGetWidths(ptr: NativePointer, glyphs: ShortArray?): FloatArray
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetBounds") @ExternalSymbolName("org_jetbrains_skia_Font__1nGetBounds")
external fun _nGetBounds(ptr: Long, glyphs: ShortArray?, paintPtr: Long): Array<Rect> external fun _nGetBounds(ptr: NativePointer, glyphs: ShortArray?, paintPtr: NativePointer): Array<Rect>
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetPositions") @ExternalSymbolName("org_jetbrains_skia_Font__1nGetPositions")
external fun _nGetPositions(ptr: Long, glyphs: ShortArray?, x: Float, y: Float): Array<Point> external fun _nGetPositions(ptr: NativePointer, glyphs: ShortArray?, x: Float, y: Float): Array<Point>
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetXPositions") @ExternalSymbolName("org_jetbrains_skia_Font__1nGetXPositions")
external fun _nGetXPositions(ptr: Long, glyphs: ShortArray?, x: Float): FloatArray external fun _nGetXPositions(ptr: NativePointer, glyphs: ShortArray?, x: Float): FloatArray
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetPath") @ExternalSymbolName("org_jetbrains_skia_Font__1nGetPath")
external fun _nGetPath(ptr: Long, glyph: Short): Long external fun _nGetPath(ptr: NativePointer, glyph: Short): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetPaths") @ExternalSymbolName("org_jetbrains_skia_Font__1nGetPaths")
external fun _nGetPaths(ptr: Long, glyphs: ShortArray?): Array<Path> external fun _nGetPaths(ptr: NativePointer, glyphs: ShortArray?): Array<Path>
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetMetrics") @ExternalSymbolName("org_jetbrains_skia_Font__1nGetMetrics")
external fun _nGetMetrics(ptr: Long): FontMetrics external fun _nGetMetrics(ptr: NativePointer): FontMetrics
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetSpacing") @ExternalSymbolName("org_jetbrains_skia_Font__1nGetSpacing")
external fun _nGetSpacing(ptr: Long): Float external fun _nGetSpacing(ptr: NativePointer): Float
init { init {
staticLoad() staticLoad()
} }
} }
internal constructor(ptr: Long) : super(ptr, _FinalizerHolder.PTR) internal constructor(ptr: NativePointer) : super(ptr, _FinalizerHolder.PTR)
internal constructor(ptr: Long, managed: Boolean) : super(ptr, _FinalizerHolder.PTR, managed) internal constructor(ptr: NativePointer, managed: Boolean) : super(ptr, _FinalizerHolder.PTR, managed)
/** /**
* Returns Font initialized with default values * Returns Font initialized with default values
...@@ -430,7 +431,7 @@ class Font : Managed { ...@@ -430,7 +431,7 @@ class Font : Managed {
get() = try { get() = try {
Stats.onNativeCall() Stats.onNativeCall()
val ptr = _nGetTypeface(_ptr) val ptr = _nGetTypeface(_ptr)
if (ptr == 0L) null else Typeface(ptr) if (ptr == NullPointer) null else Typeface(ptr)
} finally { } finally {
reachabilityBarrier(this) reachabilityBarrier(this)
} }
...@@ -696,7 +697,7 @@ class Font : Managed { ...@@ -696,7 +697,7 @@ class Font : Managed {
return try { return try {
Stats.onNativeCall() Stats.onNativeCall()
val ptr = _nGetPath(_ptr, glyph) val ptr = _nGetPath(_ptr, glyph)
if (ptr == 0L) null else Path(ptr) if (ptr == NullPointer) null else Path(ptr)
} finally { } finally {
reachabilityBarrier(this) reachabilityBarrier(this)
} }
......
...@@ -5,41 +5,42 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad ...@@ -5,41 +5,42 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.RefCnt import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
open class FontMgr : RefCnt { open class FontMgr : RefCnt {
companion object { companion object {
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontMgr__1nGetFamiliesCount") @ExternalSymbolName("org_jetbrains_skia_FontMgr__1nGetFamiliesCount")
external fun _nGetFamiliesCount(ptr: Long): Int external fun _nGetFamiliesCount(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontMgr__1nGetFamilyName") @ExternalSymbolName("org_jetbrains_skia_FontMgr__1nGetFamilyName")
external fun _nGetFamilyName(ptr: Long, index: Int): String external fun _nGetFamilyName(ptr: NativePointer, index: Int): String
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontMgr__1nMakeStyleSet") @ExternalSymbolName("org_jetbrains_skia_FontMgr__1nMakeStyleSet")
external fun _nMakeStyleSet(ptr: Long, index: Int): Long external fun _nMakeStyleSet(ptr: NativePointer, index: Int): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontMgr__1nMatchFamily") @ExternalSymbolName("org_jetbrains_skia_FontMgr__1nMatchFamily")
external fun _nMatchFamily(ptr: Long, familyName: String?): Long external fun _nMatchFamily(ptr: NativePointer, familyName: String?): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontMgr__1nMatchFamilyStyle") @ExternalSymbolName("org_jetbrains_skia_FontMgr__1nMatchFamilyStyle")
external fun _nMatchFamilyStyle(ptr: Long, familyName: String?, fontStyle: Int): Long external fun _nMatchFamilyStyle(ptr: NativePointer, familyName: String?, fontStyle: Int): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontMgr__1nMatchFamilyStyleCharacter") @ExternalSymbolName("org_jetbrains_skia_FontMgr__1nMatchFamilyStyleCharacter")
external fun _nMatchFamilyStyleCharacter( external fun _nMatchFamilyStyleCharacter(
ptr: Long, ptr: NativePointer,
familyName: String?, familyName: String?,
fontStyle: Int, fontStyle: Int,
bcp47: Array<String?>?, bcp47: Array<String?>?,
character: Int character: Int
): Long ): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontMgr__1nMakeFromData") @ExternalSymbolName("org_jetbrains_skia_FontMgr__1nMakeFromData")
external fun _nMakeFromData(ptr: Long, dataPtr: Long, ttcIndex: Int): Long external fun _nMakeFromData(ptr: NativePointer, dataPtr: NativePointer, ttcIndex: Int): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontMgr__1nDefault") @ExternalSymbolName("org_jetbrains_skia_FontMgr__1nDefault")
external fun _nDefault(): Long external fun _nDefault(): NativePointer
init { init {
staticLoad() staticLoad()
...@@ -69,7 +70,7 @@ open class FontMgr : RefCnt { ...@@ -69,7 +70,7 @@ open class FontMgr : RefCnt {
return try { return try {
Stats.onNativeCall() Stats.onNativeCall()
val ptr = _nMakeStyleSet(_ptr, index) val ptr = _nMakeStyleSet(_ptr, index)
if (ptr == 0L) null else FontStyleSet(ptr) if (ptr == NullPointer) null else FontStyleSet(ptr)
} finally { } finally {
reachabilityBarrier(this) reachabilityBarrier(this)
} }
...@@ -111,7 +112,7 @@ open class FontMgr : RefCnt { ...@@ -111,7 +112,7 @@ open class FontMgr : RefCnt {
return try { return try {
Stats.onNativeCall() Stats.onNativeCall()
val ptr = _nMatchFamilyStyle(_ptr, familyName, style._value) val ptr = _nMatchFamilyStyle(_ptr, familyName, style._value)
if (ptr == 0L) null else Typeface(ptr) if (ptr == NullPointer) null else Typeface(ptr)
} finally { } finally {
reachabilityBarrier(this) reachabilityBarrier(this)
} }
...@@ -149,7 +150,7 @@ open class FontMgr : RefCnt { ...@@ -149,7 +150,7 @@ open class FontMgr : RefCnt {
return try { return try {
Stats.onNativeCall() Stats.onNativeCall()
val ptr = _nMatchFamilyStyleCharacter(_ptr, familyName, style._value, bcp47, character) val ptr = _nMatchFamilyStyleCharacter(_ptr, familyName, style._value, bcp47, character)
if (ptr == 0L) null else Typeface(ptr) if (ptr == NullPointer) null else Typeface(ptr)
} finally { } finally {
reachabilityBarrier(this) reachabilityBarrier(this)
} }
...@@ -178,14 +179,14 @@ open class FontMgr : RefCnt { ...@@ -178,14 +179,14 @@ open class FontMgr : RefCnt {
Stats.onNativeCall() Stats.onNativeCall()
val ptr = val ptr =
_nMakeFromData(_ptr, getPtr(data), ttcIndex) _nMakeFromData(_ptr, getPtr(data), ttcIndex)
if (ptr == 0L) null else Typeface(ptr) if (ptr == NullPointer) null else Typeface(ptr)
} finally { } finally {
reachabilityBarrier(this) reachabilityBarrier(this)
reachabilityBarrier(data) reachabilityBarrier(data)
} }
} }
internal constructor(ptr: Long) : super(ptr) internal constructor(ptr: NativePointer) : super(ptr)
internal constructor(ptr: Long, allowClose: Boolean) : super(ptr, allowClose) internal constructor(ptr: NativePointer, allowClose: Boolean) : super(ptr, allowClose)
} }
\ No newline at end of file
...@@ -5,10 +5,10 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad ...@@ -5,10 +5,10 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.RefCnt import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName import org.jetbrains.skia.impl.NativePointer
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class FontStyleSet internal constructor(ptr: Long) : RefCnt(ptr) { class FontStyleSet internal constructor(ptr: NativePointer) : RefCnt(ptr) {
companion object { companion object {
fun makeEmpty(): FontStyleSet { fun makeEmpty(): FontStyleSet {
Stats.onNativeCall() Stats.onNativeCall()
...@@ -17,22 +17,22 @@ class FontStyleSet internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -17,22 +17,22 @@ class FontStyleSet internal constructor(ptr: Long) : RefCnt(ptr) {
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontStyleSet__1nMakeEmpty") @ExternalSymbolName("org_jetbrains_skia_FontStyleSet__1nMakeEmpty")
external fun _nMakeEmpty(): Long external fun _nMakeEmpty(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontStyleSet__1nCount") @ExternalSymbolName("org_jetbrains_skia_FontStyleSet__1nCount")
external fun _nCount(ptr: Long): Int external fun _nCount(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontStyleSet__1nGetStyle") @ExternalSymbolName("org_jetbrains_skia_FontStyleSet__1nGetStyle")
external fun _nGetStyle(ptr: Long, index: Int): Int external fun _nGetStyle(ptr: NativePointer, index: Int): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontStyleSet__1nGetStyleName") @ExternalSymbolName("org_jetbrains_skia_FontStyleSet__1nGetStyleName")
external fun _nGetStyleName(ptr: Long, index: Int): String external fun _nGetStyleName(ptr: NativePointer, index: Int): String
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontStyleSet__1nGetTypeface") @ExternalSymbolName("org_jetbrains_skia_FontStyleSet__1nGetTypeface")
external fun _nGetTypeface(ptr: Long, index: Int): Long external fun _nGetTypeface(ptr: NativePointer, index: Int): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontStyleSet__1nMatchStyle") @ExternalSymbolName("org_jetbrains_skia_FontStyleSet__1nMatchStyle")
external fun _nMatchStyle(ptr: Long, style: Int): Long external fun _nMatchStyle(ptr: NativePointer, style: Int): NativePointer
init { init {
staticLoad() staticLoad()
...@@ -70,7 +70,7 @@ class FontStyleSet internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -70,7 +70,7 @@ class FontStyleSet internal constructor(ptr: Long) : RefCnt(ptr) {
return try { return try {
Stats.onNativeCall() Stats.onNativeCall()
val ptr = _nGetTypeface(_ptr, index) val ptr = _nGetTypeface(_ptr, index)
if (ptr == 0L) null else Typeface(ptr) if (ptr == NullPointer) null else Typeface(ptr)
} finally { } finally {
reachabilityBarrier(this) reachabilityBarrier(this)
} }
...@@ -80,7 +80,7 @@ class FontStyleSet internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -80,7 +80,7 @@ class FontStyleSet internal constructor(ptr: Long) : RefCnt(ptr) {
return try { return try {
Stats.onNativeCall() Stats.onNativeCall()
val ptr = _nMatchStyle(_ptr, style._value) val ptr = _nMatchStyle(_ptr, style._value)
if (ptr == 0L) null else Typeface(ptr) if (ptr == NullPointer) null else Typeface(ptr)
} finally { } finally {
reachabilityBarrier(this) reachabilityBarrier(this)
} }
......
package org.jetbrains.skia package org.jetbrains.skia
import org.jetbrains.skia.impl.NativePointer
class IPoint(val x: Int, val y: Int) { class IPoint(val x: Int, val y: Int) {
fun offset(dx: Int, dy: Int): IPoint { fun offset(dx: Int, dy: Int): IPoint {
...@@ -19,7 +21,7 @@ class IPoint(val x: Int, val y: Int) { ...@@ -19,7 +21,7 @@ class IPoint(val x: Int, val y: Int) {
val other = o val other = o
if (!other.canEqual(this as Any)) return false if (!other.canEqual(this as Any)) return false
if (x != other.x) return false if (x != other.x) return false
return if (y != other.y) false else true return y == other.y
} }
protected fun canEqual(other: Any?): Boolean { protected fun canEqual(other: Any?): Boolean {
...@@ -40,8 +42,7 @@ class IPoint(val x: Int, val y: Int) { ...@@ -40,8 +42,7 @@ class IPoint(val x: Int, val y: Int) {
companion object { companion object {
val ZERO = IPoint(0, 0) val ZERO = IPoint(0, 0)
internal fun _makeFromLong(l: Long): IPoint {
return IPoint((l ushr 32).toInt(), (l and -1).toInt())
}
} }
} }
fun toIPoint(p: Long): IPoint = IPoint((p ushr 32).toInt(), (p and -1).toInt())
package org.jetbrains.skia package org.jetbrains.skia
import org.jetbrains.skia.impl.NativePointer
class IRange(val start: Int, val end: Int) { class IRange(val start: Int, val end: Int) {
...@@ -25,12 +27,6 @@ class IRange(val start: Int, val end: Int) { ...@@ -25,12 +27,6 @@ class IRange(val start: Int, val end: Int) {
} }
override fun toString(): String { override fun toString(): String {
return "IRange(_start=" + start + ", _end=" + end + ")" return "IRange(_start=$start, _end=$end)"
}
companion object {
internal fun _makeFromLong(l: Long): IRange {
return IRange((l ushr 32).toInt(), (l and -1).toInt())
}
} }
} }
\ No newline at end of file
...@@ -5,10 +5,11 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad ...@@ -5,10 +5,11 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.RefCnt import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo { class Image internal constructor(ptr: NativePointer) : RefCnt(ptr), IHasImageInfo {
companion object { companion object {
/** /**
* *
...@@ -31,7 +32,7 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo { ...@@ -31,7 +32,7 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo {
* *
* @see [https://fiddle.skia.org/c/@Image_MakeRasterCopy](https://fiddle.skia.org/c/@Image_MakeRasterCopy) * @see [https://fiddle.skia.org/c/@Image_MakeRasterCopy](https://fiddle.skia.org/c/@Image_MakeRasterCopy)
*/ */
fun makeRaster(imageInfo: ImageInfo, bytes: ByteArray, rowBytes: Long): Image { fun makeRaster(imageInfo: ImageInfo, bytes: ByteArray, rowBytes: NativePointer): Image {
return try { return try {
Stats.onNativeCall() Stats.onNativeCall()
val ptr = _nMakeRaster( val ptr = _nMakeRaster(
...@@ -43,7 +44,7 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo { ...@@ -43,7 +44,7 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo {
bytes, bytes,
rowBytes rowBytes
) )
if (ptr == 0L) throw RuntimeException("Failed to makeRaster $imageInfo $bytes $rowBytes") if (ptr == NullPointer) throw RuntimeException("Failed to makeRaster $imageInfo $bytes $rowBytes")
Image(ptr) Image(ptr)
} finally { } finally {
reachabilityBarrier(imageInfo.colorInfo.colorSpace) reachabilityBarrier(imageInfo.colorInfo.colorSpace)
...@@ -69,7 +70,7 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo { ...@@ -69,7 +70,7 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo {
* @param rowBytes how many bytes in a row * @param rowBytes how many bytes in a row
* @return Image * @return Image
*/ */
fun makeRaster(imageInfo: ImageInfo, data: Data, rowBytes: Long): Image { fun makeRaster(imageInfo: ImageInfo, data: Data, rowBytes: NativePointer): Image {
return try { return try {
Stats.onNativeCall() Stats.onNativeCall()
val ptr = _nMakeRasterData( val ptr = _nMakeRasterData(
...@@ -81,7 +82,7 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo { ...@@ -81,7 +82,7 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo {
getPtr(data), getPtr(data),
rowBytes rowBytes
) )
if (ptr == 0L) throw RuntimeException("Failed to makeRaster $imageInfo $data $rowBytes") if (ptr == NullPointer) throw RuntimeException("Failed to makeRaster $imageInfo $data $rowBytes")
Image(ptr) Image(ptr)
} finally { } finally {
reachabilityBarrier(imageInfo.colorInfo.colorSpace) reachabilityBarrier(imageInfo.colorInfo.colorSpace)
...@@ -112,11 +113,10 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo { ...@@ -112,11 +113,10 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo {
*/ */
fun makeFromBitmap(bitmap: Bitmap): Image { fun makeFromBitmap(bitmap: Bitmap): Image {
return try { return try {
require(bitmap != null) { "Can’t makeFromBitmap with bitmap == null" }
Stats.onNativeCall() Stats.onNativeCall()
val ptr = val ptr =
_nMakeFromBitmap(getPtr(bitmap)) _nMakeFromBitmap(getPtr(bitmap))
if (ptr == 0L) throw RuntimeException("Failed to Image::makeFromBitmap $bitmap") if (ptr == NullPointer) throw RuntimeException("Failed to Image::makeFromBitmap $bitmap")
Image(ptr) Image(ptr)
} finally { } finally {
reachabilityBarrier(bitmap) reachabilityBarrier(bitmap)
...@@ -125,11 +125,10 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo { ...@@ -125,11 +125,10 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo {
fun makeFromPixmap(pixmap: Pixmap): Image { fun makeFromPixmap(pixmap: Pixmap): Image {
return try { return try {
require(pixmap != null) { "Can’t makeFromPixmap with pixmap == null" }
Stats.onNativeCall() Stats.onNativeCall()
val ptr = val ptr =
_nMakeFromPixmap(getPtr(pixmap)) _nMakeFromPixmap(getPtr(pixmap))
if (ptr == 0L) throw RuntimeException("Failed to Image::makeFromRaster $pixmap") if (ptr == NullPointer) throw RuntimeException("Failed to Image::makeFromRaster $pixmap")
Image(ptr) Image(ptr)
} finally { } finally {
reachabilityBarrier(pixmap) reachabilityBarrier(pixmap)
...@@ -139,7 +138,7 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo { ...@@ -139,7 +138,7 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo {
fun makeFromEncoded(bytes: ByteArray?): Image { fun makeFromEncoded(bytes: ByteArray?): Image {
Stats.onNativeCall() Stats.onNativeCall()
val ptr = _nMakeFromEncoded(bytes) val ptr = _nMakeFromEncoded(bytes)
require(ptr != 0L) { "Failed to Image::makeFromEncoded" } require(ptr != NullPointer) { "Failed to Image::makeFromEncoded" }
return Image(ptr) return Image(ptr)
} }
...@@ -150,10 +149,10 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo { ...@@ -150,10 +149,10 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo {
height: Int, height: Int,
colorType: Int, colorType: Int,
alphaType: Int, alphaType: Int,
colorSpacePtr: Long, colorSpacePtr: NativePointer,
pixels: ByteArray?, pixels: ByteArray?,
rowBytes: Long rowBytes: NativePointer
): Long ): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Image__1nMakeRasterData") @ExternalSymbolName("org_jetbrains_skia_Image__1nMakeRasterData")
...@@ -162,44 +161,44 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo { ...@@ -162,44 +161,44 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo {
height: Int, height: Int,
colorType: Int, colorType: Int,
alphaType: Int, alphaType: Int,
colorSpacePtr: Long, colorSpacePtr: NativePointer,
dataPtr: Long, dataPtr: NativePointer,
rowBytes: Long rowBytes: NativePointer
): Long ): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Image__1nMakeFromBitmap") @ExternalSymbolName("org_jetbrains_skia_Image__1nMakeFromBitmap")
external fun _nMakeFromBitmap(bitmapPtr: Long): Long external fun _nMakeFromBitmap(bitmapPtr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Image__1nMakeFromPixmap") @ExternalSymbolName("org_jetbrains_skia_Image__1nMakeFromPixmap")
external fun _nMakeFromPixmap(pixmapPtr: Long): Long external fun _nMakeFromPixmap(pixmapPtr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Image__1nMakeFromEncoded") @ExternalSymbolName("org_jetbrains_skia_Image__1nMakeFromEncoded")
external fun _nMakeFromEncoded(bytes: ByteArray?): Long external fun _nMakeFromEncoded(bytes: ByteArray?): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Image__1nGetImageInfo") @ExternalSymbolName("org_jetbrains_skia_Image__1nGetImageInfo")
external fun _nGetImageInfo(ptr: Long): ImageInfo? external fun _nGetImageInfo(ptr: NativePointer): ImageInfo?
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Image__1nEncodeToData") @ExternalSymbolName("org_jetbrains_skia_Image__1nEncodeToData")
external fun _nEncodeToData(ptr: Long, format: Int, quality: Int): Long external fun _nEncodeToData(ptr: NativePointer, format: Int, quality: Int): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Image__1nMakeShader") @ExternalSymbolName("org_jetbrains_skia_Image__1nMakeShader")
external fun _nMakeShader(ptr: Long, tmx: Int, tmy: Int, samplingMode: Long, localMatrix: FloatArray?): Long external fun _nMakeShader(ptr: NativePointer, tmx: Int, tmy: Int, samplingMode: Long, localMatrix: FloatArray?): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Image__1nPeekPixels") @ExternalSymbolName("org_jetbrains_skia_Image__1nPeekPixels")
external fun _nPeekPixels(ptr: Long): ByteBuffer? external fun _nPeekPixels(ptr: NativePointer): ByteBuffer?
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Image__1nPeekPixelsToPixmap") @ExternalSymbolName("org_jetbrains_skia_Image__1nPeekPixelsToPixmap")
external fun _nPeekPixelsToPixmap(ptr: Long, pixmapPtr: Long): Boolean external fun _nPeekPixelsToPixmap(ptr: NativePointer, pixmapPtr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Image__1nScalePixels") @ExternalSymbolName("org_jetbrains_skia_Image__1nScalePixels")
external fun _nScalePixels(ptr: Long, pixmapPtr: Long, samplingOptions: Long, cache: Boolean): Boolean external fun _nScalePixels(ptr: NativePointer, pixmapPtr: NativePointer, samplingOptions: Long, cache: Boolean): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Image__1nReadPixelsBitmap") @ExternalSymbolName("org_jetbrains_skia_Image__1nReadPixelsBitmap")
external fun _nReadPixelsBitmap( external fun _nReadPixelsBitmap(
ptr: Long, ptr: NativePointer,
contextPtr: Long, contextPtr: NativePointer,
bitmapPtr: Long, bitmapPtr: NativePointer,
srcX: Int, srcX: Int,
srcY: Int, srcY: Int,
cache: Boolean cache: Boolean
...@@ -207,7 +206,7 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo { ...@@ -207,7 +206,7 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo {
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Image__1nReadPixelsPixmap") @ExternalSymbolName("org_jetbrains_skia_Image__1nReadPixelsPixmap")
external fun _nReadPixelsPixmap(ptr: Long, pixmapPtr: Long, srcX: Int, srcY: Int, cache: Boolean): Boolean external fun _nReadPixelsPixmap(ptr: NativePointer, pixmapPtr: NativePointer, srcX: Int, srcY: Int, cache: Boolean): Boolean
init { init {
staticLoad() staticLoad()
...@@ -270,7 +269,7 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo { ...@@ -270,7 +269,7 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo {
return try { return try {
Stats.onNativeCall() Stats.onNativeCall()
val ptr = _nEncodeToData(_ptr, format.ordinal, quality) val ptr = _nEncodeToData(_ptr, format.ordinal, quality)
if (ptr == 0L) null else org.jetbrains.skia.Data(ptr) if (ptr == NullPointer) null else org.jetbrains.skia.Data(ptr)
} finally { } finally {
reachabilityBarrier(this) reachabilityBarrier(this)
} }
...@@ -295,9 +294,6 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo { ...@@ -295,9 +294,6 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo {
localMatrix: Matrix33? = null localMatrix: Matrix33? = null
): Shader { ): Shader {
return try { return try {
require(tmx != null) { "Can’t Bitmap.makeShader with tmx == null" }
require(tmy != null) { "Can’t Bitmap.makeShader with tmy == null" }
require(sampling != null) { "Can’t Bitmap.makeShader with sampling == null" }
Stats.onNativeCall() Stats.onNativeCall()
Shader( Shader(
_nMakeShader( _nMakeShader(
...@@ -392,7 +388,6 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo { ...@@ -392,7 +388,6 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo {
*/ */
fun readPixels(context: DirectContext?, dst: Bitmap, srcX: Int, srcY: Int, cache: Boolean): Boolean { fun readPixels(context: DirectContext?, dst: Bitmap, srcX: Int, srcY: Int, cache: Boolean): Boolean {
return try { return try {
require(dst != null) { "Can’t readPixels with dst == null" }
_nReadPixelsBitmap( _nReadPixelsBitmap(
_ptr, _ptr,
getPtr(context), getPtr(context),
...@@ -410,7 +405,6 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo { ...@@ -410,7 +405,6 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo {
fun readPixels(dst: Pixmap, srcX: Int, srcY: Int, cache: Boolean): Boolean { fun readPixels(dst: Pixmap, srcX: Int, srcY: Int, cache: Boolean): Boolean {
return try { return try {
require(dst != null) { "Can’t readPixels with dst == null" }
_nReadPixelsPixmap( _nReadPixelsPixmap(
_ptr, _ptr,
getPtr(dst), getPtr(dst),
...@@ -426,7 +420,6 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo { ...@@ -426,7 +420,6 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo {
fun scalePixels(dst: Pixmap, samplingMode: SamplingMode, cache: Boolean): Boolean { fun scalePixels(dst: Pixmap, samplingMode: SamplingMode, cache: Boolean): Boolean {
return try { return try {
require(dst != null) { "Can’t scalePixels with dst == null" }
_nScalePixels( _nScalePixels(
_ptr, _ptr,
getPtr(dst), getPtr(dst),
......
...@@ -7,9 +7,11 @@ import org.jetbrains.skia.impl.Native ...@@ -7,9 +7,11 @@ import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) { class ImageFilter internal constructor(ptr: NativePointer) : RefCnt(ptr) {
companion object { companion object {
fun makeAlphaThreshold( fun makeAlphaThreshold(
r: Region?, r: Region?,
...@@ -316,8 +318,7 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -316,8 +318,7 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
fun makeMerge(filters: Array<ImageFilter?>, crop: IRect?): ImageFilter { fun makeMerge(filters: Array<ImageFilter?>, crop: IRect?): ImageFilter {
return try { return try {
Stats.onNativeCall() Stats.onNativeCall()
val filterPtrs = LongArray(filters.size) val filterPtrs = filters.map { getPtr(it) }.toTypedArray()
filterPtrs.forEachIndexed { i: Int, _: Long -> getPtr(filters[i]) }
ImageFilter(_nMakeMerge(filterPtrs, crop)) ImageFilter(_nMakeMerge(filterPtrs, crop))
} finally { } finally {
reachabilityBarrier(filters) reachabilityBarrier(filters)
...@@ -611,12 +612,12 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -611,12 +612,12 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeAlphaThreshold") @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeAlphaThreshold")
external fun _nMakeAlphaThreshold( external fun _nMakeAlphaThreshold(
regionPtr: Long, regionPtr: NativePointer,
innerMin: Float, innerMin: Float,
outerMax: Float, outerMax: Float,
input: Long, input: NativePointer,
crop: IRect? crop: IRect?
): Long ): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeArithmetic") @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeArithmetic")
...@@ -626,33 +627,33 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -626,33 +627,33 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
k3: Float, k3: Float,
k4: Float, k4: Float,
enforcePMColor: Boolean, enforcePMColor: Boolean,
bg: Long, bg: NativePointer,
fg: Long, fg: NativePointer,
crop: IRect? crop: IRect?
): Long ): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeBlend") @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeBlend")
external fun _nMakeBlend(blendMode: Int, bg: Long, fg: Long, crop: IRect?): Long external fun _nMakeBlend(blendMode: Int, bg: NativePointer, fg: NativePointer, crop: IRect?): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeBlur") @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeBlur")
external fun _nMakeBlur(sigmaX: Float, sigmaY: Float, tileMode: Int, input: Long, crop: IRect?): Long external fun _nMakeBlur(sigmaX: Float, sigmaY: Float, tileMode: Int, input: NativePointer, crop: IRect?): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeColorFilter") @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeColorFilter")
external fun _nMakeColorFilter(colorFilterPtr: Long, input: Long, crop: IRect?): Long external fun _nMakeColorFilter(colorFilterPtr: NativePointer, input: NativePointer, crop: IRect?): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeCompose") @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeCompose")
external fun _nMakeCompose(outer: Long, inner: Long): Long external fun _nMakeCompose(outer: NativePointer, inner: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeDisplacementMap") @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeDisplacementMap")
external fun _nMakeDisplacementMap( external fun _nMakeDisplacementMap(
xChan: Int, xChan: Int,
yChan: Int, yChan: Int,
scale: Float, scale: Float,
displacement: Long, displacement: NativePointer,
color: Long, color: NativePointer,
crop: IRect? crop: IRect?
): Long ): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeDropShadow") @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeDropShadow")
...@@ -662,9 +663,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -662,9 +663,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
sigmaX: Float, sigmaX: Float,
sigmaY: Float, sigmaY: Float,
color: Int, color: Int,
input: Long, input: NativePointer,
crop: IRect? crop: IRect?
): Long ): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeDropShadowOnly") @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeDropShadowOnly")
...@@ -674,14 +675,14 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -674,14 +675,14 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
sigmaX: Float, sigmaX: Float,
sigmaY: Float, sigmaY: Float,
color: Int, color: Int,
input: Long, input: NativePointer,
crop: IRect? crop: IRect?
): Long ): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeImage") @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeImage")
external fun _nMakeImage( external fun _nMakeImage(
image: Long, image: NativePointer,
l0: Float, l0: Float,
t0: Float, t0: Float,
r0: Float, r0: Float,
...@@ -691,7 +692,7 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -691,7 +692,7 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
r1: Float, r1: Float,
b1: Float, b1: Float,
samplingMode: Long samplingMode: Long
): Long ): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeMagnifier") @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeMagnifier")
...@@ -701,9 +702,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -701,9 +702,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
r: Float, r: Float,
b: Float, b: Float,
inset: Float, inset: Float,
input: Long, input: NativePointer,
crop: IRect? crop: IRect?
): Long ): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeMatrixConvolution") @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeMatrixConvolution")
...@@ -717,25 +718,25 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -717,25 +718,25 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
offsetY: Int, offsetY: Int,
tileMode: Int, tileMode: Int,
convolveAlpha: Boolean, convolveAlpha: Boolean,
input: Long, input: NativePointer,
crop: IRect? crop: IRect?
): Long ): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeMatrixTransform") @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeMatrixTransform")
external fun _nMakeMatrixTransform(matrix: FloatArray?, samplingMode: Long, input: Long): Long external fun _nMakeMatrixTransform(matrix: FloatArray?, samplingMode: Long, input: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeMerge") @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeMerge")
external fun _nMakeMerge(filters: LongArray?, crop: IRect?): Long external fun _nMakeMerge(filters: Array<NativePointer>?, crop: IRect?): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeOffset") @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeOffset")
external fun _nMakeOffset(dx: Float, dy: Float, input: Long, crop: IRect?): Long external fun _nMakeOffset(dx: Float, dy: Float, input: NativePointer, crop: IRect?): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakePaint") @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakePaint")
external fun _nMakePaint(paint: Long, crop: IRect?): Long external fun _nMakePaint(paint: NativePointer, crop: IRect?): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakePicture") @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakePicture")
external fun _nMakePicture(picture: Long, l: Float, t: Float, r: Float, b: Float): Long external fun _nMakePicture(picture: NativePointer, l: Float, t: Float, r: Float, b: Float): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeTile") @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeTile")
external fun _nMakeTile( external fun _nMakeTile(
...@@ -747,15 +748,15 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -747,15 +748,15 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
t1: Float, t1: Float,
r1: Float, r1: Float,
b1: Float, b1: Float,
input: Long input: NativePointer
): Long ): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeDilate") @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeDilate")
external fun _nMakeDilate(rx: Float, ry: Float, input: Long, crop: IRect?): Long external fun _nMakeDilate(rx: Float, ry: Float, input: NativePointer, crop: IRect?): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeErode") @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeErode")
external fun _nMakeErode(rx: Float, ry: Float, input: Long, crop: IRect?): Long external fun _nMakeErode(rx: Float, ry: Float, input: NativePointer, crop: IRect?): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeDistantLitDiffuse") @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeDistantLitDiffuse")
external fun _nMakeDistantLitDiffuse( external fun _nMakeDistantLitDiffuse(
...@@ -765,9 +766,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -765,9 +766,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
lightColor: Int, lightColor: Int,
surfaceScale: Float, surfaceScale: Float,
kd: Float, kd: Float,
input: Long, input: NativePointer,
crop: IRect? crop: IRect?
): Long ): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakePointLitDiffuse") @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakePointLitDiffuse")
...@@ -778,9 +779,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -778,9 +779,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
lightColor: Int, lightColor: Int,
surfaceScale: Float, surfaceScale: Float,
kd: Float, kd: Float,
input: Long, input: NativePointer,
crop: IRect? crop: IRect?
): Long ): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeSpotLitDiffuse") @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeSpotLitDiffuse")
...@@ -796,9 +797,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -796,9 +797,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
lightColor: Int, lightColor: Int,
surfaceScale: Float, surfaceScale: Float,
kd: Float, kd: Float,
input: Long, input: NativePointer,
crop: IRect? crop: IRect?
): Long ): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeDistantLitSpecular") @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeDistantLitSpecular")
...@@ -810,9 +811,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -810,9 +811,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
surfaceScale: Float, surfaceScale: Float,
ks: Float, ks: Float,
shininess: Float, shininess: Float,
input: Long, input: NativePointer,
crop: IRect? crop: IRect?
): Long ): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakePointLitSpecular") @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakePointLitSpecular")
...@@ -824,9 +825,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -824,9 +825,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
surfaceScale: Float, surfaceScale: Float,
ks: Float, ks: Float,
shininess: Float, shininess: Float,
input: Long, input: NativePointer,
crop: IRect? crop: IRect?
): Long ): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeSpotLitSpecular") @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeSpotLitSpecular")
...@@ -843,9 +844,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -843,9 +844,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
surfaceScale: Float, surfaceScale: Float,
ks: Float, ks: Float,
shininess: Float, shininess: Float,
input: Long, input: NativePointer,
crop: IRect? crop: IRect?
): Long ): NativePointer
init { init {
staticLoad() staticLoad()
......
package org.jetbrains.skia package org.jetbrains.skia
import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.NativePointer
/** /**
* *
* Describes pixel dimensions and encoding. Bitmap, Image, Pixmap, and Surface * Describes pixel dimensions and encoding. Bitmap, Image, Pixmap, and Surface
...@@ -32,14 +35,21 @@ class ImageInfo(val colorInfo: ColorInfo, val width: Int, val height: Int) { ...@@ -32,14 +35,21 @@ class ImageInfo(val colorInfo: ColorInfo, val width: Int, val height: Int) {
) : this(ColorInfo(colorType, alphaType, colorSpace), width, height) { ) : this(ColorInfo(colorType, alphaType, colorSpace), width, height) {
} }
internal constructor(width: Int, height: Int, colorType: Int, alphaType: Int, colorSpace: Long) : this( internal constructor(width: Int, height: Int, colorType: Int, alphaType: Int, colorSpace: NativePointer) : this(
width, width,
height, height,
ColorType.values()[colorType], ColorType.values()[colorType],
ColorAlphaType.values()[alphaType], ColorAlphaType.values()[alphaType],
if (colorSpace == 0L) null else ColorSpace(colorSpace) if (colorSpace == Native.NullPointer) null else ColorSpace(colorSpace)
) { )
}
/**
* Returns minimum bytes per row, computed from pixel getWidth() and ColorType, which
* specifies getBytesPerPixel(). Bitmap maximum value for row bytes must fit
* in 31 bits.
*/
val minRowBytes: Long
get() = (width * bytesPerPixel).toLong()
val colorType: ColorType val colorType: ColorType
get() = colorInfo.colorType get() = colorInfo.colorType
...@@ -119,12 +129,16 @@ class ImageInfo(val colorInfo: ColorInfo, val width: Int, val height: Int) { ...@@ -119,12 +129,16 @@ class ImageInfo(val colorInfo: ColorInfo, val width: Int, val height: Int) {
get() = colorInfo.shiftPerPixel get() = colorInfo.shiftPerPixel
/** /**
* Returns minimum bytes per row, computed from pixel getWidth() and ColorType, which * Returns true if rowBytes is valid for this ImageInfo.
* specifies getBytesPerPixel(). Bitmap maximum value for row bytes must fit *
* in 31 bits. * @param rowBytes size of pixel row including padding
* @return true if rowBytes is large enough to contain pixel row and is properly aligned
*/ */
val minRowBytes: Long fun isRowBytesValid(rowBytes: Long): Boolean {
get() = (width * bytesPerPixel).toLong() if (rowBytes < minRowBytes) return false
val shift = shiftPerPixel
return rowBytes shr shift shl shift == rowBytes
}
/** /**
* *
...@@ -175,18 +189,6 @@ class ImageInfo(val colorInfo: ColorInfo, val width: Int, val height: Int) { ...@@ -175,18 +189,6 @@ class ImageInfo(val colorInfo: ColorInfo, val width: Int, val height: Int) {
return computeByteSize(minRowBytes) return computeByteSize(minRowBytes)
} }
/**
* Returns true if rowBytes is valid for this ImageInfo.
*
* @param rowBytes size of pixel row including padding
* @return true if rowBytes is large enough to contain pixel row and is properly aligned
*/
fun isRowBytesValid(rowBytes: Long): Boolean {
if (rowBytes < minRowBytes) return false
val shift = shiftPerPixel
return rowBytes shr shift shl shift == rowBytes
}
override fun equals(o: Any?): Boolean { override fun equals(o: Any?): Boolean {
if (o === this) return true if (o === this) return true
if (o !is ImageInfo) return false if (o !is ImageInfo) return false
......
...@@ -6,31 +6,32 @@ import org.jetbrains.skia.impl.Managed ...@@ -6,31 +6,32 @@ import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class ManagedString internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) { class ManagedString internal constructor(ptr: NativePointer) : Managed(ptr, _FinalizerHolder.PTR) {
companion object { companion object {
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ManagedString__1nMake") @ExternalSymbolName("org_jetbrains_skia_ManagedString__1nMake")
external fun _nMake(s: String?): Long external fun _nMake(s: String?): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ManagedString__1nGetFinalizer") @ExternalSymbolName("org_jetbrains_skia_ManagedString__1nGetFinalizer")
external fun _nGetFinalizer(): Long external fun _nGetFinalizer(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ManagedString__1nToString") @ExternalSymbolName("org_jetbrains_skia_ManagedString__1nToString")
external fun _nToString(ptr: Long): String external fun _nToString(ptr: NativePointer): String
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ManagedString__1nInsert") @ExternalSymbolName("org_jetbrains_skia_ManagedString__1nInsert")
external fun _nInsert(ptr: Long, offset: Int, s: String?) external fun _nInsert(ptr: NativePointer, offset: Int, s: String?)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ManagedString__1nAppend") @ExternalSymbolName("org_jetbrains_skia_ManagedString__1nAppend")
external fun _nAppend(ptr: Long, s: String?) external fun _nAppend(ptr: NativePointer, s: String?)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ManagedString__1nRemoveSuffix") @ExternalSymbolName("org_jetbrains_skia_ManagedString__1nRemoveSuffix")
external fun _nRemoveSuffix(ptr: Long, from: Int) external fun _nRemoveSuffix(ptr: NativePointer, from: Int)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ManagedString__1nRemove") @ExternalSymbolName("org_jetbrains_skia_ManagedString__1nRemove")
external fun _nRemove(ptr: Long, from: Int, length: Int) external fun _nRemove(ptr: NativePointer, from: Int, length: Int)
init { init {
staticLoad() staticLoad()
......
...@@ -6,9 +6,11 @@ import org.jetbrains.skia.impl.RefCnt ...@@ -6,9 +6,11 @@ import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class MaskFilter internal constructor(ptr: Long) : RefCnt(ptr) { class MaskFilter internal constructor(ptr: NativePointer) : RefCnt(ptr) {
companion object { companion object {
fun makeBlur(mode: FilterBlurMode, sigma: Float, respectCTM: Boolean = true): MaskFilter { fun makeBlur(mode: FilterBlurMode, sigma: Float, respectCTM: Boolean = true): MaskFilter {
Stats.onNativeCall() Stats.onNativeCall()
...@@ -41,20 +43,20 @@ class MaskFilter internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -41,20 +43,20 @@ class MaskFilter internal constructor(ptr: Long) : RefCnt(ptr) {
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_MaskFilter__1nMakeBlur") @ExternalSymbolName("org_jetbrains_skia_MaskFilter__1nMakeBlur")
external fun _nMakeBlur(mode: Int, sigma: Float, respectCTM: Boolean): Long external fun _nMakeBlur(mode: Int, sigma: Float, respectCTM: Boolean): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_MaskFilter__1nMakeShader") @ExternalSymbolName("org_jetbrains_skia_MaskFilter__1nMakeShader")
external fun _nMakeShader(shaderPtr: Long): Long external fun _nMakeShader(shaderPtr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_MaskFilter__1nMakeTable") @ExternalSymbolName("org_jetbrains_skia_MaskFilter__1nMakeTable")
external fun _nMakeTable(table: ByteArray?): Long external fun _nMakeTable(table: ByteArray?): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_MaskFilter__1nMakeGamma") @ExternalSymbolName("org_jetbrains_skia_MaskFilter__1nMakeGamma")
external fun _nMakeGamma(gamma: Float): Long external fun _nMakeGamma(gamma: Float): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_MaskFilter__1nMakeClip") @ExternalSymbolName("org_jetbrains_skia_MaskFilter__1nMakeClip")
external fun _nMakeClip(min: Byte, max: Byte): Long external fun _nMakeClip(min: Byte, max: Byte): NativePointer
init { init {
staticLoad() staticLoad()
......
...@@ -4,16 +4,17 @@ package org.jetbrains.skia ...@@ -4,16 +4,17 @@ package org.jetbrains.skia
import org.jetbrains.skia.impl.Library.Companion.staticLoad import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.ExternalSymbolName import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class OutputWStream(out: OutputStream?) : WStream(_nMake(out), _FinalizerHolder.PTR) { class OutputWStream(out: OutputStream?) : WStream(_nMake(out), _FinalizerHolder.PTR) {
companion object { companion object {
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_OutputWStream__1nGetFinalizer") @ExternalSymbolName("org_jetbrains_skia_OutputWStream__1nGetFinalizer")
external fun _nGetFinalizer(): Long external fun _nGetFinalizer(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_OutputWStream__1nMake") @ExternalSymbolName("org_jetbrains_skia_OutputWStream__1nMake")
external fun _nMake(out: OutputStream?): Long external fun _nMake(out: OutputStream?): NativePointer
init { init {
staticLoad() staticLoad()
......
...@@ -6,7 +6,8 @@ import org.jetbrains.skia.impl.Managed ...@@ -6,7 +6,8 @@ import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Native import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
import kotlin.math.round import kotlin.math.round
...@@ -14,127 +15,127 @@ class Paint : Managed { ...@@ -14,127 +15,127 @@ class Paint : Managed {
companion object { companion object {
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetFinalizer") @ExternalSymbolName("org_jetbrains_skia_Paint__1nGetFinalizer")
external fun _nGetFinalizer(): Long external fun _nGetFinalizer(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nMake") @ExternalSymbolName("org_jetbrains_skia_Paint__1nMake")
external fun _nMake(): Long external fun _nMake(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nMakeClone") @ExternalSymbolName("org_jetbrains_skia_Paint__1nMakeClone")
external fun _nMakeClone(ptr: Long): Long external fun _nMakeClone(ptr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nEquals") @ExternalSymbolName("org_jetbrains_skia_Paint__1nEquals")
external fun _nEquals(ptr: Long, otherPtr: Long): Boolean external fun _nEquals(ptr: NativePointer, otherPtr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nReset") @ExternalSymbolName("org_jetbrains_skia_Paint__1nReset")
external fun _nReset(ptr: Long) external fun _nReset(ptr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nIsAntiAlias") @ExternalSymbolName("org_jetbrains_skia_Paint__1nIsAntiAlias")
external fun _nIsAntiAlias(ptr: Long): Boolean external fun _nIsAntiAlias(ptr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetAntiAlias") @ExternalSymbolName("org_jetbrains_skia_Paint__1nSetAntiAlias")
external fun _nSetAntiAlias(ptr: Long, value: Boolean) external fun _nSetAntiAlias(ptr: NativePointer, value: Boolean)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nIsDither") @ExternalSymbolName("org_jetbrains_skia_Paint__1nIsDither")
external fun _nIsDither(ptr: Long): Boolean external fun _nIsDither(ptr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetDither") @ExternalSymbolName("org_jetbrains_skia_Paint__1nSetDither")
external fun _nSetDither(ptr: Long, value: Boolean) external fun _nSetDither(ptr: NativePointer, value: Boolean)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetMode") @ExternalSymbolName("org_jetbrains_skia_Paint__1nGetMode")
external fun _nGetMode(ptr: Long): Int external fun _nGetMode(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetMode") @ExternalSymbolName("org_jetbrains_skia_Paint__1nSetMode")
external fun _nSetMode(ptr: Long, value: Int) external fun _nSetMode(ptr: NativePointer, value: Int)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetColor") @ExternalSymbolName("org_jetbrains_skia_Paint__1nGetColor")
external fun _nGetColor(ptr: Long): Int external fun _nGetColor(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetColor4f") @ExternalSymbolName("org_jetbrains_skia_Paint__1nGetColor4f")
external fun _nGetColor4f(ptr: Long): Color4f external fun _nGetColor4f(ptr: NativePointer): Color4f
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetColor") @ExternalSymbolName("org_jetbrains_skia_Paint__1nSetColor")
external fun _nSetColor(ptr: Long, argb: Int) external fun _nSetColor(ptr: NativePointer, argb: Int)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetColor4f") @ExternalSymbolName("org_jetbrains_skia_Paint__1nSetColor4f")
external fun _nSetColor4f(ptr: Long, r: Float, g: Float, b: Float, a: Float, colorSpacePtr: Long) external fun _nSetColor4f(ptr: NativePointer, r: Float, g: Float, b: Float, a: Float, colorSpacePtr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetStrokeWidth") @ExternalSymbolName("org_jetbrains_skia_Paint__1nGetStrokeWidth")
external fun _nGetStrokeWidth(ptr: Long): Float external fun _nGetStrokeWidth(ptr: NativePointer): Float
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetStrokeWidth") @ExternalSymbolName("org_jetbrains_skia_Paint__1nSetStrokeWidth")
external fun _nSetStrokeWidth(ptr: Long, value: Float) external fun _nSetStrokeWidth(ptr: NativePointer, value: Float)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetStrokeMiter") @ExternalSymbolName("org_jetbrains_skia_Paint__1nGetStrokeMiter")
external fun _nGetStrokeMiter(ptr: Long): Float external fun _nGetStrokeMiter(ptr: NativePointer): Float
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetStrokeMiter") @ExternalSymbolName("org_jetbrains_skia_Paint__1nSetStrokeMiter")
external fun _nSetStrokeMiter(ptr: Long, value: Float) external fun _nSetStrokeMiter(ptr: NativePointer, value: Float)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetStrokeCap") @ExternalSymbolName("org_jetbrains_skia_Paint__1nGetStrokeCap")
external fun _nGetStrokeCap(ptr: Long): Int external fun _nGetStrokeCap(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetStrokeCap") @ExternalSymbolName("org_jetbrains_skia_Paint__1nSetStrokeCap")
external fun _nSetStrokeCap(ptr: Long, value: Int) external fun _nSetStrokeCap(ptr: NativePointer, value: Int)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetStrokeJoin") @ExternalSymbolName("org_jetbrains_skia_Paint__1nGetStrokeJoin")
external fun _nGetStrokeJoin(ptr: Long): Int external fun _nGetStrokeJoin(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetStrokeJoin") @ExternalSymbolName("org_jetbrains_skia_Paint__1nSetStrokeJoin")
external fun _nSetStrokeJoin(ptr: Long, value: Int) external fun _nSetStrokeJoin(ptr: NativePointer, value: Int)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetFillPath") @ExternalSymbolName("org_jetbrains_skia_Paint__1nGetFillPath")
external fun _nGetFillPath(ptr: Long, path: Long, resScale: Float): Long external fun _nGetFillPath(ptr: NativePointer, path: NativePointer, resScale: Float): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetFillPathCull") @ExternalSymbolName("org_jetbrains_skia_Paint__1nGetFillPathCull")
external fun _nGetFillPathCull( external fun _nGetFillPathCull(
ptr: Long, ptr: NativePointer,
path: Long, path: NativePointer,
left: Float, left: Float,
top: Float, top: Float,
right: Float, right: Float,
bottom: Float, bottom: Float,
resScale: Float resScale: Float
): Long ): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetShader") @ExternalSymbolName("org_jetbrains_skia_Paint__1nGetShader")
external fun _nGetShader(ptr: Long): Long external fun _nGetShader(ptr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetShader") @ExternalSymbolName("org_jetbrains_skia_Paint__1nSetShader")
external fun _nSetShader(ptr: Long, shaderPtr: Long) external fun _nSetShader(ptr: NativePointer, shaderPtr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetColorFilter") @ExternalSymbolName("org_jetbrains_skia_Paint__1nGetColorFilter")
external fun _nGetColorFilter(ptr: Long): Long external fun _nGetColorFilter(ptr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetColorFilter") @ExternalSymbolName("org_jetbrains_skia_Paint__1nSetColorFilter")
external fun _nSetColorFilter(ptr: Long, colorFilterPtr: Long) external fun _nSetColorFilter(ptr: NativePointer, colorFilterPtr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetBlendMode") @ExternalSymbolName("org_jetbrains_skia_Paint__1nGetBlendMode")
external fun _nGetBlendMode(ptr: Long): Int external fun _nGetBlendMode(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetBlendMode") @ExternalSymbolName("org_jetbrains_skia_Paint__1nSetBlendMode")
external fun _nSetBlendMode(ptr: Long, mode: Int) external fun _nSetBlendMode(ptr: NativePointer, mode: Int)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetPathEffect") @ExternalSymbolName("org_jetbrains_skia_Paint__1nGetPathEffect")
external fun _nGetPathEffect(ptr: Long): Long external fun _nGetPathEffect(ptr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetPathEffect") @ExternalSymbolName("org_jetbrains_skia_Paint__1nSetPathEffect")
external fun _nSetPathEffect(ptr: Long, pathEffectPtr: Long) external fun _nSetPathEffect(ptr: NativePointer, pathEffectPtr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetMaskFilter") @ExternalSymbolName("org_jetbrains_skia_Paint__1nGetMaskFilter")
external fun _nGetMaskFilter(ptr: Long): Long external fun _nGetMaskFilter(ptr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetMaskFilter") @ExternalSymbolName("org_jetbrains_skia_Paint__1nSetMaskFilter")
external fun _nSetMaskFilter(ptr: Long, filterPtr: Long) external fun _nSetMaskFilter(ptr: NativePointer, filterPtr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetImageFilter") @ExternalSymbolName("org_jetbrains_skia_Paint__1nGetImageFilter")
external fun _nGetImageFilter(ptr: Long): Long external fun _nGetImageFilter(ptr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetImageFilter") @ExternalSymbolName("org_jetbrains_skia_Paint__1nSetImageFilter")
external fun _nSetImageFilter(ptr: Long, filterPtr: Long) external fun _nSetImageFilter(ptr: NativePointer, filterPtr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nHasNothingToDraw") @ExternalSymbolName("org_jetbrains_skia_Paint__1nHasNothingToDraw")
external fun _nHasNothingToDraw(ptr: Long): Boolean external fun _nHasNothingToDraw(ptr: NativePointer): Boolean
init { init {
staticLoad() staticLoad()
...@@ -145,7 +146,7 @@ class Paint : Managed { ...@@ -145,7 +146,7 @@ class Paint : Managed {
val PTR = _nGetFinalizer() val PTR = _nGetFinalizer()
} }
internal constructor(ptr: Long, managed: Boolean) : super(ptr, _FinalizerHolder.PTR, managed) internal constructor(ptr: NativePointer, managed: Boolean) : super(ptr, _FinalizerHolder.PTR, managed)
/** /**
* Constructs SkPaint with default values. * Constructs SkPaint with default values.
...@@ -458,7 +459,7 @@ class Paint : Managed { ...@@ -458,7 +459,7 @@ class Paint : Managed {
*/ */
fun setARGB(a: Int, r: Int, g: Int, b: Int): Paint { fun setARGB(a: Int, r: Int, g: Int, b: Int): Paint {
Stats.onNativeCall() Stats.onNativeCall()
_nSetColor4f(_ptr, r / 255f, g / 255f, b / 255f, a / 255f, 0) _nSetColor4f(_ptr, r / 255f, g / 255f, b / 255f, a / 255f, NullPointer)
return this return this
} }
...@@ -669,7 +670,7 @@ class Paint : Managed { ...@@ -669,7 +670,7 @@ class Paint : Managed {
get() = try { get() = try {
Stats.onNativeCall() Stats.onNativeCall()
val shaderPtr = _nGetShader(_ptr) val shaderPtr = _nGetShader(_ptr)
if (shaderPtr == 0L) null else Shader(shaderPtr) if (shaderPtr == NullPointer) null else Shader(shaderPtr)
} finally { } finally {
reachabilityBarrier(this) reachabilityBarrier(this)
} }
...@@ -708,7 +709,7 @@ class Paint : Managed { ...@@ -708,7 +709,7 @@ class Paint : Managed {
get() = try { get() = try {
Stats.onNativeCall() Stats.onNativeCall()
val colorFilterPtr = _nGetColorFilter(_ptr) val colorFilterPtr = _nGetColorFilter(_ptr)
if (colorFilterPtr == 0L) null else ColorFilter(colorFilterPtr) if (colorFilterPtr == NullPointer) null else ColorFilter(colorFilterPtr)
} finally { } finally {
reachabilityBarrier(this) reachabilityBarrier(this)
} }
...@@ -787,7 +788,7 @@ class Paint : Managed { ...@@ -787,7 +788,7 @@ class Paint : Managed {
get() = try { get() = try {
Stats.onNativeCall() Stats.onNativeCall()
val pathEffectPtr = _nGetPathEffect(_ptr) val pathEffectPtr = _nGetPathEffect(_ptr)
if (pathEffectPtr == 0L) null else PathEffect(pathEffectPtr) if (pathEffectPtr == NullPointer) null else PathEffect(pathEffectPtr)
} finally { } finally {
reachabilityBarrier(this) reachabilityBarrier(this)
} }
...@@ -827,7 +828,7 @@ class Paint : Managed { ...@@ -827,7 +828,7 @@ class Paint : Managed {
get() = try { get() = try {
Stats.onNativeCall() Stats.onNativeCall()
val maskFilterPtr = _nGetMaskFilter(_ptr) val maskFilterPtr = _nGetMaskFilter(_ptr)
if (maskFilterPtr == 0L) null else MaskFilter(maskFilterPtr) if (maskFilterPtr == NullPointer) null else MaskFilter(maskFilterPtr)
} finally { } finally {
reachabilityBarrier(this) reachabilityBarrier(this)
} }
...@@ -870,7 +871,7 @@ class Paint : Managed { ...@@ -870,7 +871,7 @@ class Paint : Managed {
get() = try { get() = try {
Stats.onNativeCall() Stats.onNativeCall()
val imageFilterPtr = _nGetImageFilter(_ptr) val imageFilterPtr = _nGetImageFilter(_ptr)
if (imageFilterPtr == 0L) null else org.jetbrains.skia.ImageFilter(imageFilterPtr) if (imageFilterPtr == NullPointer) null else org.jetbrains.skia.ImageFilter(imageFilterPtr)
} finally { } finally {
reachabilityBarrier(this) reachabilityBarrier(this)
} }
......
...@@ -2,7 +2,9 @@ ...@@ -2,7 +2,9 @@
package org.jetbrains.skia package org.jetbrains.skia
import org.jetbrains.skia.impl.Library.Companion.staticLoad import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.getPtr
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
/** /**
...@@ -12,7 +14,7 @@ abstract class PaintFilterCanvas(canvas: Canvas, unrollDrawable: Boolean) : ...@@ -12,7 +14,7 @@ abstract class PaintFilterCanvas(canvas: Canvas, unrollDrawable: Boolean) :
Canvas(_nMake(getPtr(canvas), unrollDrawable), true, canvas) { Canvas(_nMake(getPtr(canvas), unrollDrawable), true, canvas) {
companion object { companion object {
@ExternalSymbolName("org_jetbrains_skia_PaintFilterCanvas__1nMake") @ExternalSymbolName("org_jetbrains_skia_PaintFilterCanvas__1nMake")
external fun _nMake(canvasPtr: Long, unrollDrawable: Boolean): Long external fun _nMake(canvasPtr: NativePointer, unrollDrawable: Boolean): NativePointer
init { init {
staticLoad() staticLoad()
...@@ -29,13 +31,13 @@ abstract class PaintFilterCanvas(canvas: Canvas, unrollDrawable: Boolean) : ...@@ -29,13 +31,13 @@ abstract class PaintFilterCanvas(canvas: Canvas, unrollDrawable: Boolean) :
* Note: The base implementation calls onFilter() for top-level/explicit paints only. * Note: The base implementation calls onFilter() for top-level/explicit paints only.
*/ */
abstract fun onFilter(paint: Paint): Boolean abstract fun onFilter(paint: Paint): Boolean
fun onFilter(paintPtr: Long): Boolean { fun onFilter(paintPtr: NativePointer): Boolean {
val paint = Paint(paintPtr, false) val paint = Paint(paintPtr, false)
return onFilter(paint) return onFilter(paint)
} }
@ExternalSymbolName("org_jetbrains_skia_PaintFilterCanvas__1nAttachToJava") @ExternalSymbolName("org_jetbrains_skia_PaintFilterCanvas__1nAttachToJava")
external fun _nAttachToJava(canvasPtr: Long) external fun _nAttachToJava(canvasPtr: NativePointer)
/** /**
* @param unrollDrawable if needed to filter nested drawable content using this canvas (for drawables there is no paint to filter) * @param unrollDrawable if needed to filter nested drawable content using this canvas (for drawables there is no paint to filter)
......
...@@ -6,7 +6,8 @@ import org.jetbrains.skia.impl.Managed ...@@ -6,7 +6,8 @@ import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Native import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
/** /**
...@@ -33,11 +34,11 @@ import kotlin.jvm.JvmStatic ...@@ -33,11 +34,11 @@ import kotlin.jvm.JvmStatic
* Internally, Path lazily computes metrics likes bounds and convexity. Call * Internally, Path lazily computes metrics likes bounds and convexity. Call
* [.updateBoundsCache] to make Path thread safe. * [.updateBoundsCache] to make Path thread safe.
*/ */
class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR), Iterable<PathSegment?> { class Path internal constructor(ptr: NativePointer) : Managed(ptr, _FinalizerHolder.PTR), Iterable<PathSegment?> {
companion object { companion object {
fun makeFromSVGString(svg: String): Path { fun makeFromSVGString(svg: String): Path {
val res = _nMakeFromSVGString(svg) val res = _nMakeFromSVGString(svg)
return if (res == 0L) throw IllegalArgumentException("Failed to parse SVG Path string: $svg") else Path( return if (res == NullPointer) throw IllegalArgumentException("Failed to parse SVG Path string: $svg") else Path(
res res
) )
} }
...@@ -171,7 +172,7 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR), ...@@ -171,7 +172,7 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR),
getPtr(two), getPtr(two),
op.ordinal op.ordinal
) )
if (ptr == 0L) null else Path(ptr) if (ptr == NullPointer) null else Path(ptr)
} finally { } finally {
reachabilityBarrier(one) reachabilityBarrier(one)
reachabilityBarrier(two) reachabilityBarrier(two)
...@@ -203,58 +204,58 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR), ...@@ -203,58 +204,58 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR),
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nGetFinalizer") @ExternalSymbolName("org_jetbrains_skia_Path__1nGetFinalizer")
external fun _nGetFinalizer(): Long external fun _nGetFinalizer(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nMake") @ExternalSymbolName("org_jetbrains_skia_Path__1nMake")
external fun _nMake(): Long external fun _nMake(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nMakeFromSVGString") @ExternalSymbolName("org_jetbrains_skia_Path__1nMakeFromSVGString")
external fun _nMakeFromSVGString(s: String?): Long external fun _nMakeFromSVGString(s: String?): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nEquals") @ExternalSymbolName("org_jetbrains_skia_Path__1nEquals")
external fun _nEquals(aPtr: Long, bPtr: Long): Boolean external fun _nEquals(aPtr: NativePointer, bPtr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nIsInterpolatable") @ExternalSymbolName("org_jetbrains_skia_Path__1nIsInterpolatable")
external fun _nIsInterpolatable(ptr: Long, comparePtr: Long): Boolean external fun _nIsInterpolatable(ptr: NativePointer, comparePtr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nMakeLerp") @ExternalSymbolName("org_jetbrains_skia_Path__1nMakeLerp")
external fun _nMakeLerp(ptr: Long, endingPtr: Long, weight: Float): Long external fun _nMakeLerp(ptr: NativePointer, endingPtr: NativePointer, weight: Float): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nGetFillMode") @ExternalSymbolName("org_jetbrains_skia_Path__1nGetFillMode")
external fun _nGetFillMode(ptr: Long): Int external fun _nGetFillMode(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nSetFillMode") @ExternalSymbolName("org_jetbrains_skia_Path__1nSetFillMode")
external fun _nSetFillMode(ptr: Long, fillMode: Int) external fun _nSetFillMode(ptr: NativePointer, fillMode: Int)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nIsConvex") @ExternalSymbolName("org_jetbrains_skia_Path__1nIsConvex")
external fun _nIsConvex(ptr: Long): Boolean external fun _nIsConvex(ptr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nIsOval") @ExternalSymbolName("org_jetbrains_skia_Path__1nIsOval")
external fun _nIsOval(ptr: Long): Rect external fun _nIsOval(ptr: NativePointer): Rect
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nIsRRect") @ExternalSymbolName("org_jetbrains_skia_Path__1nIsRRect")
external fun _nIsRRect(ptr: Long): RRect external fun _nIsRRect(ptr: NativePointer): RRect
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nReset") @ExternalSymbolName("org_jetbrains_skia_Path__1nReset")
external fun _nReset(ptr: Long) external fun _nReset(ptr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nRewind") @ExternalSymbolName("org_jetbrains_skia_Path__1nRewind")
external fun _nRewind(ptr: Long) external fun _nRewind(ptr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nIsEmpty") @ExternalSymbolName("org_jetbrains_skia_Path__1nIsEmpty")
external fun _nIsEmpty(ptr: Long): Boolean external fun _nIsEmpty(ptr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nIsLastContourClosed") @ExternalSymbolName("org_jetbrains_skia_Path__1nIsLastContourClosed")
external fun _nIsLastContourClosed(ptr: Long): Boolean external fun _nIsLastContourClosed(ptr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nIsFinite") @ExternalSymbolName("org_jetbrains_skia_Path__1nIsFinite")
external fun _nIsFinite(ptr: Long): Boolean external fun _nIsFinite(ptr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nIsVolatile") @ExternalSymbolName("org_jetbrains_skia_Path__1nIsVolatile")
external fun _nIsVolatile(ptr: Long): Boolean external fun _nIsVolatile(ptr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nSetVolatile") @ExternalSymbolName("org_jetbrains_skia_Path__1nSetVolatile")
external fun _nSetVolatile(ptr: Long, isVolatile: Boolean) external fun _nSetVolatile(ptr: NativePointer, isVolatile: Boolean)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nIsLineDegenerate") @ExternalSymbolName("org_jetbrains_skia_Path__1nIsLineDegenerate")
external fun _nIsLineDegenerate(x0: Float, y0: Float, x1: Float, y1: Float, exact: Boolean): Boolean external fun _nIsLineDegenerate(x0: Float, y0: Float, x1: Float, y1: Float, exact: Boolean): Boolean
...@@ -286,77 +287,77 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR), ...@@ -286,77 +287,77 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR),
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nMaybeGetAsLine") @ExternalSymbolName("org_jetbrains_skia_Path__1nMaybeGetAsLine")
external fun _nMaybeGetAsLine(ptr: Long): Array<Point> external fun _nMaybeGetAsLine(ptr: NativePointer): Array<Point>
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nGetPointsCount") @ExternalSymbolName("org_jetbrains_skia_Path__1nGetPointsCount")
external fun _nGetPointsCount(ptr: Long): Int external fun _nGetPointsCount(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nGetPoint") @ExternalSymbolName("org_jetbrains_skia_Path__1nGetPoint")
external fun _nGetPoint(ptr: Long, index: Int): Point external fun _nGetPoint(ptr: NativePointer, index: Int): Point
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nGetPoints") @ExternalSymbolName("org_jetbrains_skia_Path__1nGetPoints")
external fun _nGetPoints(ptr: Long, points: Array<Point?>?, max: Int): Int external fun _nGetPoints(ptr: NativePointer, points: Array<Point?>?, max: Int): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nCountVerbs") @ExternalSymbolName("org_jetbrains_skia_Path__1nCountVerbs")
external fun _nCountVerbs(ptr: Long): Int external fun _nCountVerbs(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nGetVerbs") @ExternalSymbolName("org_jetbrains_skia_Path__1nGetVerbs")
external fun _nGetVerbs(ptr: Long, verbs: ByteArray?, max: Int): Int external fun _nGetVerbs(ptr: NativePointer, verbs: ByteArray?, max: Int): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nApproximateBytesUsed") @ExternalSymbolName("org_jetbrains_skia_Path__1nApproximateBytesUsed")
external fun _nApproximateBytesUsed(ptr: Long): Long external fun _nApproximateBytesUsed(ptr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nSwap") @ExternalSymbolName("org_jetbrains_skia_Path__1nSwap")
external fun _nSwap(ptr: Long, otherPtr: Long) external fun _nSwap(ptr: NativePointer, otherPtr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nGetBounds") @ExternalSymbolName("org_jetbrains_skia_Path__1nGetBounds")
external fun _nGetBounds(ptr: Long): Rect external fun _nGetBounds(ptr: NativePointer): Rect
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nUpdateBoundsCache") @ExternalSymbolName("org_jetbrains_skia_Path__1nUpdateBoundsCache")
external fun _nUpdateBoundsCache(ptr: Long) external fun _nUpdateBoundsCache(ptr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nComputeTightBounds") @ExternalSymbolName("org_jetbrains_skia_Path__1nComputeTightBounds")
external fun _nComputeTightBounds(ptr: Long): Rect external fun _nComputeTightBounds(ptr: NativePointer): Rect
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nConservativelyContainsRect") @ExternalSymbolName("org_jetbrains_skia_Path__1nConservativelyContainsRect")
external fun _nConservativelyContainsRect(ptr: Long, l: Float, t: Float, r: Float, b: Float): Boolean external fun _nConservativelyContainsRect(ptr: NativePointer, l: Float, t: Float, r: Float, b: Float): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nIncReserve") @ExternalSymbolName("org_jetbrains_skia_Path__1nIncReserve")
external fun _nIncReserve(ptr: Long, extraPtCount: Int) external fun _nIncReserve(ptr: NativePointer, extraPtCount: Int)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nMoveTo") @ExternalSymbolName("org_jetbrains_skia_Path__1nMoveTo")
external fun _nMoveTo(ptr: Long, x: Float, y: Float) external fun _nMoveTo(ptr: NativePointer, x: Float, y: Float)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nRMoveTo") @ExternalSymbolName("org_jetbrains_skia_Path__1nRMoveTo")
external fun _nRMoveTo(ptr: Long, dx: Float, dy: Float) external fun _nRMoveTo(ptr: NativePointer, dx: Float, dy: Float)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nLineTo") @ExternalSymbolName("org_jetbrains_skia_Path__1nLineTo")
external fun _nLineTo(ptr: Long, x: Float, y: Float) external fun _nLineTo(ptr: NativePointer, x: Float, y: Float)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nRLineTo") @ExternalSymbolName("org_jetbrains_skia_Path__1nRLineTo")
external fun _nRLineTo(ptr: Long, dx: Float, dy: Float) external fun _nRLineTo(ptr: NativePointer, dx: Float, dy: Float)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nQuadTo") @ExternalSymbolName("org_jetbrains_skia_Path__1nQuadTo")
external fun _nQuadTo(ptr: Long, x1: Float, y1: Float, x2: Float, y2: Float) external fun _nQuadTo(ptr: NativePointer, x1: Float, y1: Float, x2: Float, y2: Float)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nRQuadTo") @ExternalSymbolName("org_jetbrains_skia_Path__1nRQuadTo")
external fun _nRQuadTo(ptr: Long, dx1: Float, dy1: Float, dx2: Float, dy2: Float) external fun _nRQuadTo(ptr: NativePointer, dx1: Float, dy1: Float, dx2: Float, dy2: Float)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nConicTo") @ExternalSymbolName("org_jetbrains_skia_Path__1nConicTo")
external fun _nConicTo(ptr: Long, x1: Float, y1: Float, x2: Float, y2: Float, w: Float) external fun _nConicTo(ptr: NativePointer, x1: Float, y1: Float, x2: Float, y2: Float, w: Float)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nRConicTo") @ExternalSymbolName("org_jetbrains_skia_Path__1nRConicTo")
external fun _nRConicTo(ptr: Long, dx1: Float, dy1: Float, dx2: Float, dy2: Float, w: Float) external fun _nRConicTo(ptr: NativePointer, dx1: Float, dy1: Float, dx2: Float, dy2: Float, w: Float)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nCubicTo") @ExternalSymbolName("org_jetbrains_skia_Path__1nCubicTo")
external fun _nCubicTo(ptr: Long, x1: Float, y1: Float, x2: Float, y2: Float, x3: Float, y3: Float) external fun _nCubicTo(ptr: NativePointer, x1: Float, y1: Float, x2: Float, y2: Float, x3: Float, y3: Float)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nRCubicTo") @ExternalSymbolName("org_jetbrains_skia_Path__1nRCubicTo")
external fun _nRCubicTo(ptr: Long, dx1: Float, dy1: Float, dx2: Float, dy2: Float, dx3: Float, dy3: Float) external fun _nRCubicTo(ptr: NativePointer, dx1: Float, dy1: Float, dx2: Float, dy2: Float, dx3: Float, dy3: Float)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nArcTo") @ExternalSymbolName("org_jetbrains_skia_Path__1nArcTo")
external fun _nArcTo( external fun _nArcTo(
ptr: Long, ptr: NativePointer,
left: Float, left: Float,
top: Float, top: Float,
right: Float, right: Float,
...@@ -368,11 +369,11 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR), ...@@ -368,11 +369,11 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR),
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nTangentArcTo") @ExternalSymbolName("org_jetbrains_skia_Path__1nTangentArcTo")
external fun _nTangentArcTo(ptr: Long, x1: Float, y1: Float, x2: Float, y2: Float, radius: Float) external fun _nTangentArcTo(ptr: NativePointer, x1: Float, y1: Float, x2: Float, y2: Float, radius: Float)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nEllipticalArcTo") @ExternalSymbolName("org_jetbrains_skia_Path__1nEllipticalArcTo")
external fun _nEllipticalArcTo( external fun _nEllipticalArcTo(
ptr: Long, ptr: NativePointer,
rx: Float, rx: Float,
ry: Float, ry: Float,
xAxisRotate: Float, xAxisRotate: Float,
...@@ -385,7 +386,7 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR), ...@@ -385,7 +386,7 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR),
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nREllipticalArcTo") @ExternalSymbolName("org_jetbrains_skia_Path__1nREllipticalArcTo")
external fun _nREllipticalArcTo( external fun _nREllipticalArcTo(
ptr: Long, ptr: NativePointer,
rx: Float, rx: Float,
ry: Float, ry: Float,
xAxisRotate: Float, xAxisRotate: Float,
...@@ -397,7 +398,7 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR), ...@@ -397,7 +398,7 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR),
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nClosePath") @ExternalSymbolName("org_jetbrains_skia_Path__1nClosePath")
external fun _nClosePath(ptr: Long) external fun _nClosePath(ptr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nConvertConicToQuads") @ExternalSymbolName("org_jetbrains_skia_Path__1nConvertConicToQuads")
external fun _nConvertConicToQuads( external fun _nConvertConicToQuads(
...@@ -413,23 +414,23 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR), ...@@ -413,23 +414,23 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR),
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nIsRect") @ExternalSymbolName("org_jetbrains_skia_Path__1nIsRect")
external fun _nIsRect(ptr: Long): Rect external fun _nIsRect(ptr: NativePointer): Rect
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nAddRect") @ExternalSymbolName("org_jetbrains_skia_Path__1nAddRect")
external fun _nAddRect(ptr: Long, l: Float, t: Float, r: Float, b: Float, dir: Int, start: Int) external fun _nAddRect(ptr: NativePointer, l: Float, t: Float, r: Float, b: Float, dir: Int, start: Int)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nAddOval") @ExternalSymbolName("org_jetbrains_skia_Path__1nAddOval")
external fun _nAddOval(ptr: Long, l: Float, t: Float, r: Float, b: Float, dir: Int, start: Int) external fun _nAddOval(ptr: NativePointer, l: Float, t: Float, r: Float, b: Float, dir: Int, start: Int)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nAddCircle") @ExternalSymbolName("org_jetbrains_skia_Path__1nAddCircle")
external fun _nAddCircle(ptr: Long, x: Float, y: Float, r: Float, dir: Int) external fun _nAddCircle(ptr: NativePointer, x: Float, y: Float, r: Float, dir: Int)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nAddArc") @ExternalSymbolName("org_jetbrains_skia_Path__1nAddArc")
external fun _nAddArc(ptr: Long, l: Float, t: Float, r: Float, b: Float, startAngle: Float, sweepAngle: Float) external fun _nAddArc(ptr: NativePointer, l: Float, t: Float, r: Float, b: Float, startAngle: Float, sweepAngle: Float)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nAddRRect") @ExternalSymbolName("org_jetbrains_skia_Path__1nAddRRect")
external fun _nAddRRect( external fun _nAddRRect(
ptr: Long, ptr: NativePointer,
l: Float, l: Float,
t: Float, t: Float,
r: Float, r: Float,
...@@ -441,58 +442,58 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR), ...@@ -441,58 +442,58 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR),
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nAddPoly") @ExternalSymbolName("org_jetbrains_skia_Path__1nAddPoly")
external fun _nAddPoly(ptr: Long, coords: FloatArray?, close: Boolean) external fun _nAddPoly(ptr: NativePointer, coords: FloatArray?, close: Boolean)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nAddPath") @ExternalSymbolName("org_jetbrains_skia_Path__1nAddPath")
external fun _nAddPath(ptr: Long, srcPtr: Long, extend: Boolean) external fun _nAddPath(ptr: NativePointer, srcPtr: NativePointer, extend: Boolean)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nAddPathOffset") @ExternalSymbolName("org_jetbrains_skia_Path__1nAddPathOffset")
external fun _nAddPathOffset(ptr: Long, srcPtr: Long, dx: Float, dy: Float, extend: Boolean) external fun _nAddPathOffset(ptr: NativePointer, srcPtr: NativePointer, dx: Float, dy: Float, extend: Boolean)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nAddPathTransform") @ExternalSymbolName("org_jetbrains_skia_Path__1nAddPathTransform")
external fun _nAddPathTransform(ptr: Long, srcPtr: Long, matrix: FloatArray?, extend: Boolean) external fun _nAddPathTransform(ptr: NativePointer, srcPtr: NativePointer, matrix: FloatArray?, extend: Boolean)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nReverseAddPath") @ExternalSymbolName("org_jetbrains_skia_Path__1nReverseAddPath")
external fun _nReverseAddPath(ptr: Long, srcPtr: Long) external fun _nReverseAddPath(ptr: NativePointer, srcPtr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nOffset") @ExternalSymbolName("org_jetbrains_skia_Path__1nOffset")
external fun _nOffset(ptr: Long, dx: Float, dy: Float, dst: Long) external fun _nOffset(ptr: NativePointer, dx: Float, dy: Float, dst: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nTransform") @ExternalSymbolName("org_jetbrains_skia_Path__1nTransform")
external fun _nTransform(ptr: Long, matrix: FloatArray?, dst: Long, applyPerspectiveClip: Boolean) external fun _nTransform(ptr: NativePointer, matrix: FloatArray?, dst: NativePointer, applyPerspectiveClip: Boolean)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nGetLastPt") @ExternalSymbolName("org_jetbrains_skia_Path__1nGetLastPt")
external fun _nGetLastPt(ptr: Long): Point external fun _nGetLastPt(ptr: NativePointer): Point
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nSetLastPt") @ExternalSymbolName("org_jetbrains_skia_Path__1nSetLastPt")
external fun _nSetLastPt(ptr: Long, x: Float, y: Float) external fun _nSetLastPt(ptr: NativePointer, x: Float, y: Float)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nGetSegmentMasks") @ExternalSymbolName("org_jetbrains_skia_Path__1nGetSegmentMasks")
external fun _nGetSegmentMasks(ptr: Long): Int external fun _nGetSegmentMasks(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nContains") @ExternalSymbolName("org_jetbrains_skia_Path__1nContains")
external fun _nContains(ptr: Long, x: Float, y: Float): Boolean external fun _nContains(ptr: NativePointer, x: Float, y: Float): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nDump") @ExternalSymbolName("org_jetbrains_skia_Path__1nDump")
external fun _nDump(ptr: Long) external fun _nDump(ptr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nDumpHex") @ExternalSymbolName("org_jetbrains_skia_Path__1nDumpHex")
external fun _nDumpHex(ptr: Long) external fun _nDumpHex(ptr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nSerializeToBytes") @ExternalSymbolName("org_jetbrains_skia_Path__1nSerializeToBytes")
external fun _nSerializeToBytes(ptr: Long): ByteArray external fun _nSerializeToBytes(ptr: NativePointer): ByteArray
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nMakeCombining") @ExternalSymbolName("org_jetbrains_skia_Path__1nMakeCombining")
external fun _nMakeCombining(onePtr: Long, twoPtr: Long, op: Int): Long external fun _nMakeCombining(onePtr: NativePointer, twoPtr: NativePointer, op: Int): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nMakeFromBytes") @ExternalSymbolName("org_jetbrains_skia_Path__1nMakeFromBytes")
external fun _nMakeFromBytes(data: ByteArray?): Long external fun _nMakeFromBytes(data: ByteArray?): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nGetGenerationId") @ExternalSymbolName("org_jetbrains_skia_Path__1nGetGenerationId")
external fun _nGetGenerationId(ptr: Long): Int external fun _nGetGenerationId(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nIsValid") @ExternalSymbolName("org_jetbrains_skia_Path__1nIsValid")
external fun _nIsValid(ptr: Long): Boolean external fun _nIsValid(ptr: NativePointer): Boolean
init { init {
staticLoad() staticLoad()
...@@ -588,7 +589,7 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR), ...@@ -588,7 +589,7 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR),
getPtr(ending), getPtr(ending),
weight weight
) )
require(ptr != 0L) { "Point array is not the same size as ending Point array" } require(ptr != NullPointer) { "Point array is not the same size as ending Point array" }
Path(ptr) Path(ptr)
} finally { } finally {
reachabilityBarrier(this) reachabilityBarrier(this)
...@@ -953,7 +954,7 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR), ...@@ -953,7 +954,7 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR),
* *
* @return approximate size * @return approximate size
*/ */
val approximateBytesUsed: Long val approximateBytesUsed: NativePointer
get() = try { get() = try {
Stats.onNativeCall() Stats.onNativeCall()
_nApproximateBytesUsed(_ptr) _nApproximateBytesUsed(_ptr)
......
...@@ -6,9 +6,11 @@ import org.jetbrains.skia.impl.RefCnt ...@@ -6,9 +6,11 @@ import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class PathEffect internal constructor(ptr: Long) : RefCnt(ptr) { class PathEffect internal constructor(ptr: NativePointer) : RefCnt(ptr) {
companion object { companion object {
fun makePath1D(path: Path?, advance: Float, phase: Float, style: Style): PathEffect { fun makePath1D(path: Path?, advance: Float, phase: Float, style: Style): PathEffect {
return try { return try {
...@@ -62,28 +64,28 @@ class PathEffect internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -62,28 +64,28 @@ class PathEffect internal constructor(ptr: Long) : RefCnt(ptr) {
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathEffect__1nMakeSum") @ExternalSymbolName("org_jetbrains_skia_PathEffect__1nMakeSum")
external fun _nMakeSum(firstPtr: Long, secondPtr: Long): Long external fun _nMakeSum(firstPtr: NativePointer, secondPtr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathEffect__1nMakeCompose") @ExternalSymbolName("org_jetbrains_skia_PathEffect__1nMakeCompose")
external fun _nMakeCompose(outerPtr: Long, innerPtr: Long): Long external fun _nMakeCompose(outerPtr: NativePointer, innerPtr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathEffect__1nMakePath1D") @ExternalSymbolName("org_jetbrains_skia_PathEffect__1nMakePath1D")
external fun _nMakePath1D(pathPtr: Long, advance: Float, phase: Float, style: Int): Long external fun _nMakePath1D(pathPtr: NativePointer, advance: Float, phase: Float, style: Int): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathEffect__1nMakePath2D") @ExternalSymbolName("org_jetbrains_skia_PathEffect__1nMakePath2D")
external fun _nMakePath2D(matrix: FloatArray?, pathPtr: Long): Long external fun _nMakePath2D(matrix: FloatArray?, pathPtr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathEffect__1nMakeLine2D") @ExternalSymbolName("org_jetbrains_skia_PathEffect__1nMakeLine2D")
external fun _nMakeLine2D(width: Float, matrix: FloatArray?): Long external fun _nMakeLine2D(width: Float, matrix: FloatArray?): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathEffect__1nMakeCorner") @ExternalSymbolName("org_jetbrains_skia_PathEffect__1nMakeCorner")
external fun _nMakeCorner(radius: Float): Long external fun _nMakeCorner(radius: Float): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathEffect__1nMakeDash") @ExternalSymbolName("org_jetbrains_skia_PathEffect__1nMakeDash")
external fun _nMakeDash(intervals: FloatArray?, phase: Float): Long external fun _nMakeDash(intervals: FloatArray?, phase: Float): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathEffect__1nMakeDiscrete") @ExternalSymbolName("org_jetbrains_skia_PathEffect__1nMakeDiscrete")
external fun _nMakeDiscrete(segLength: Float, dev: Float, seed: Int): Long external fun _nMakeDiscrete(segLength: Float, dev: Float, seed: Int): NativePointer
init { init {
staticLoad() staticLoad()
......
...@@ -6,53 +6,55 @@ import org.jetbrains.skia.impl.Managed ...@@ -6,53 +6,55 @@ import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class PathMeasure internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) { class PathMeasure internal constructor(ptr: NativePointer) : Managed(ptr, _FinalizerHolder.PTR) {
companion object { companion object {
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nGetFinalizer") @ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nGetFinalizer")
external fun _nGetFinalizer(): Long external fun _nGetFinalizer(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nMake") @ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nMake")
external fun _nMake(): Long external fun _nMake(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nMakePath") @ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nMakePath")
external fun _nMakePath(pathPtr: Long, forceClosed: Boolean, resScale: Float): Long external fun _nMakePath(pathPtr: NativePointer, forceClosed: Boolean, resScale: Float): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nSetPath") @ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nSetPath")
external fun _nSetPath(ptr: Long, pathPtr: Long, forceClosed: Boolean) external fun _nSetPath(ptr: NativePointer, pathPtr: NativePointer, forceClosed: Boolean)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nGetLength") @ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nGetLength")
external fun _nGetLength(ptr: Long): Float external fun _nGetLength(ptr: NativePointer): Float
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nGetPosition") @ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nGetPosition")
external fun _nGetPosition(ptr: Long, distance: Float): Point? external fun _nGetPosition(ptr: NativePointer, distance: Float): Point?
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nGetTangent") @ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nGetTangent")
external fun _nGetTangent(ptr: Long, distance: Float): Point? external fun _nGetTangent(ptr: NativePointer, distance: Float): Point?
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nGetRSXform") @ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nGetRSXform")
external fun _nGetRSXform(ptr: Long, distance: Float): RSXform? external fun _nGetRSXform(ptr: NativePointer, distance: Float): RSXform?
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nGetMatrix") @ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nGetMatrix")
external fun _nGetMatrix(ptr: Long, distance: Float, getPosition: Boolean, getTangent: Boolean): FloatArray? external fun _nGetMatrix(ptr: NativePointer, distance: Float, getPosition: Boolean, getTangent: Boolean): FloatArray?
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nGetSegment") @ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nGetSegment")
external fun _nGetSegment( external fun _nGetSegment(
ptr: Long, ptr: NativePointer,
startD: Float, startD: Float,
endD: Float, endD: Float,
dstPtr: Long, dstPtr: NativePointer,
startWithMoveTo: Boolean startWithMoveTo: Boolean
): Boolean ): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nIsClosed") @ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nIsClosed")
external fun _nIsClosed(ptr: Long): Boolean external fun _nIsClosed(ptr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nNextContour") @ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nNextContour")
external fun _nNextContour(ptr: Long): Boolean external fun _nNextContour(ptr: NativePointer): Boolean
init { init {
staticLoad() staticLoad()
......
...@@ -3,11 +3,13 @@ package org.jetbrains.skia ...@@ -3,11 +3,13 @@ package org.jetbrains.skia
import org.jetbrains.skia.impl.Library.Companion.staticLoad import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Managed import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.getPtr
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class PathSegmentIterator internal constructor(val _path: Path?, ptr: Long) : Managed(ptr, _nGetFinalizer()), class PathSegmentIterator internal constructor(val _path: Path?, ptr: NativePointer) : Managed(ptr, _nGetFinalizer()),
MutableIterator<PathSegment?> { MutableIterator<PathSegment?> {
companion object { companion object {
fun make(path: Path?, forceClose: Boolean): PathSegmentIterator { fun make(path: Path?, forceClose: Boolean): PathSegmentIterator {
...@@ -24,13 +26,13 @@ class PathSegmentIterator internal constructor(val _path: Path?, ptr: Long) : Ma ...@@ -24,13 +26,13 @@ class PathSegmentIterator internal constructor(val _path: Path?, ptr: Long) : Ma
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathSegmentIterator__1nMake") @ExternalSymbolName("org_jetbrains_skia_PathSegmentIterator__1nMake")
external fun _nMake(pathPtr: Long, forceClose: Boolean): Long external fun _nMake(pathPtr: NativePointer, forceClose: Boolean): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathSegmentIterator__1nGetFinalizer") @ExternalSymbolName("org_jetbrains_skia_PathSegmentIterator__1nGetFinalizer")
external fun _nGetFinalizer(): Long external fun _nGetFinalizer(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathSegmentIterator__1nNext") @ExternalSymbolName("org_jetbrains_skia_PathSegmentIterator__1nNext")
external fun _nNext(ptr: Long): PathSegment? external fun _nNext(ptr: NativePointer): PathSegment?
init { init {
staticLoad() staticLoad()
......
...@@ -5,10 +5,11 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad ...@@ -5,10 +5,11 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.RefCnt import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class Picture internal constructor(ptr: Long) : RefCnt(ptr) { class Picture internal constructor(ptr: NativePointer) : RefCnt(ptr) {
companion object { companion object {
/** /**
* Recreates Picture that was serialized into data. Returns constructed Picture * Recreates Picture that was serialized into data. Returns constructed Picture
...@@ -19,7 +20,7 @@ class Picture internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -19,7 +20,7 @@ class Picture internal constructor(ptr: Long) : RefCnt(ptr) {
return try { return try {
Stats.onNativeCall() Stats.onNativeCall()
val ptr = _nMakeFromData(getPtr(data)) val ptr = _nMakeFromData(getPtr(data))
if (ptr == 0L) null else Picture(ptr) if (ptr == NullPointer) null else Picture(ptr)
} finally { } finally {
reachabilityBarrier(data) reachabilityBarrier(data)
} }
...@@ -47,38 +48,38 @@ class Picture internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -47,38 +48,38 @@ class Picture internal constructor(ptr: Long) : RefCnt(ptr) {
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Picture__1nMakeFromData") @ExternalSymbolName("org_jetbrains_skia_Picture__1nMakeFromData")
external fun _nMakeFromData(dataPtr: Long /*, SkDeserialProcs */): Long external fun _nMakeFromData(dataPtr: NativePointer /*, SkDeserialProcs */): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Picture__1nPlayback") @ExternalSymbolName("org_jetbrains_skia_Picture__1nPlayback")
external fun _nPlayback(ptr: Long, canvasPtr: Long, abort: BooleanSupplier?) external fun _nPlayback(ptr: NativePointer, canvasPtr: NativePointer, abort: BooleanSupplier?)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Picture__1nGetCullRect") @ExternalSymbolName("org_jetbrains_skia_Picture__1nGetCullRect")
external fun _nGetCullRect(ptr: Long): Rect external fun _nGetCullRect(ptr: NativePointer): Rect
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Picture__1nGetUniqueId") @ExternalSymbolName("org_jetbrains_skia_Picture__1nGetUniqueId")
external fun _nGetUniqueId(ptr: Long): Int external fun _nGetUniqueId(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Picture__1nSerializeToData") @ExternalSymbolName("org_jetbrains_skia_Picture__1nSerializeToData")
external fun _nSerializeToData(ptr: Long /*, SkSerialProcs */): Long external fun _nSerializeToData(ptr: NativePointer /*, SkSerialProcs */): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Picture__1nMakePlaceholder") @ExternalSymbolName("org_jetbrains_skia_Picture__1nMakePlaceholder")
external fun _nMakePlaceholder(left: Float, top: Float, right: Float, bottom: Float): Long external fun _nMakePlaceholder(left: Float, top: Float, right: Float, bottom: Float): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Picture__1nGetApproximateOpCount") @ExternalSymbolName("org_jetbrains_skia_Picture__1nGetApproximateOpCount")
external fun _nGetApproximateOpCount(ptr: Long): Int external fun _nGetApproximateOpCount(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Picture__1nGetApproximateBytesUsed") @ExternalSymbolName("org_jetbrains_skia_Picture__1nGetApproximateBytesUsed")
external fun _nGetApproximateBytesUsed(ptr: Long): Long external fun _nGetApproximateBytesUsed(ptr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Picture__1nMakeShader") @ExternalSymbolName("org_jetbrains_skia_Picture__1nMakeShader")
external fun _nMakeShader( external fun _nMakeShader(
ptr: Long, ptr: NativePointer,
tmx: Int, tmx: Int,
tmy: Int, tmy: Int,
filterMode: Int, filterMode: Int,
localMatrix: FloatArray?, localMatrix: FloatArray?,
tileRect: Rect? tileRect: Rect?
): Long ): NativePointer
init { init {
staticLoad() staticLoad()
...@@ -197,7 +198,7 @@ class Picture internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -197,7 +198,7 @@ class Picture internal constructor(ptr: Long) : RefCnt(ptr) {
* *
* @see [https://fiddle.skia.org/c/@Picture_approximateBytesUsed](https://fiddle.skia.org/c/@Picture_approximateBytesUsed) * @see [https://fiddle.skia.org/c/@Picture_approximateBytesUsed](https://fiddle.skia.org/c/@Picture_approximateBytesUsed)
*/ */
val approximateBytesUsed: Long val approximateBytesUsed: NativePointer
get() = try { get() = try {
Stats.onNativeCall() Stats.onNativeCall()
_nGetApproximateBytesUsed(_ptr) _nGetApproximateBytesUsed(_ptr)
......
...@@ -5,10 +5,10 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad ...@@ -5,10 +5,10 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Managed import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName import org.jetbrains.skia.impl.NativePointer
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class PictureRecorder internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) { class PictureRecorder internal constructor(ptr: NativePointer) : Managed(ptr, _FinalizerHolder.PTR) {
companion object { companion object {
// TODO // TODO
/** /**
...@@ -29,32 +29,32 @@ class PictureRecorder internal constructor(ptr: Long) : Managed(ptr, _FinalizerH ...@@ -29,32 +29,32 @@ class PictureRecorder internal constructor(ptr: Long) : Managed(ptr, _FinalizerH
// } // }
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PictureRecorder__1nMake") @ExternalSymbolName("org_jetbrains_skia_PictureRecorder__1nMake")
external fun _nMake(): Long external fun _nMake(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PictureRecorder__1nGetFinalizer") @ExternalSymbolName("org_jetbrains_skia_PictureRecorder__1nGetFinalizer")
external fun _nGetFinalizer(): Long external fun _nGetFinalizer(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PictureRecorder__1nBeginRecording") @ExternalSymbolName("org_jetbrains_skia_PictureRecorder__1nBeginRecording")
external fun _nBeginRecording(ptr: Long, left: Float, top: Float, right: Float, bottom: Float): Long external fun _nBeginRecording(ptr: NativePointer, left: Float, top: Float, right: Float, bottom: Float): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PictureRecorder__1nGetRecordingCanvas") @ExternalSymbolName("org_jetbrains_skia_PictureRecorder__1nGetRecordingCanvas")
external fun _nGetRecordingCanvas(ptr: Long): Long external fun _nGetRecordingCanvas(ptr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PictureRecorder__1nFinishRecordingAsPicture") @ExternalSymbolName("org_jetbrains_skia_PictureRecorder__1nFinishRecordingAsPicture")
external fun _nFinishRecordingAsPicture(ptr: Long): Long external fun _nFinishRecordingAsPicture(ptr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PictureRecorder__1nFinishRecordingAsPictureWithCull") @ExternalSymbolName("org_jetbrains_skia_PictureRecorder__1nFinishRecordingAsPictureWithCull")
external fun _nFinishRecordingAsPictureWithCull( external fun _nFinishRecordingAsPictureWithCull(
ptr: Long, ptr: NativePointer,
left: Float, left: Float,
top: Float, top: Float,
right: Float, right: Float,
bottom: Float bottom: Float
): Long ): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PictureRecorder__1nFinishRecordingAsDrawable") @ExternalSymbolName("org_jetbrains_skia_PictureRecorder__1nFinishRecordingAsDrawable")
external fun _nFinishRecordingAsDrawable(ptr: Long): Long external fun _nFinishRecordingAsDrawable(ptr: NativePointer): NativePointer
init { init {
staticLoad() staticLoad()
...@@ -100,7 +100,7 @@ class PictureRecorder internal constructor(ptr: Long) : Managed(ptr, _FinalizerH ...@@ -100,7 +100,7 @@ class PictureRecorder internal constructor(ptr: Long) : Managed(ptr, _FinalizerH
get() = try { get() = try {
Stats.onNativeCall() Stats.onNativeCall()
val ptr = _nGetRecordingCanvas(_ptr) val ptr = _nGetRecordingCanvas(_ptr)
if (ptr == 0L) null else Canvas(ptr, false, this) if (ptr == NullPointer) null else Canvas(ptr, false, this)
} finally { } finally {
reachabilityBarrier(this) reachabilityBarrier(this)
} }
......
...@@ -6,31 +6,32 @@ import org.jetbrains.skia.impl.RefCnt ...@@ -6,31 +6,32 @@ import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class PixelRef internal constructor(ptr: Long) : RefCnt(ptr) { class PixelRef internal constructor(ptr: NativePointer) : RefCnt(ptr) {
companion object { companion object {
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PixelRef__1nGetWidth") @ExternalSymbolName("org_jetbrains_skia_PixelRef__1nGetWidth")
external fun _nGetWidth(ptr: Long): Int external fun _nGetWidth(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PixelRef__1nGetHeight") @ExternalSymbolName("org_jetbrains_skia_PixelRef__1nGetHeight")
external fun _nGetHeight(ptr: Long): Int external fun _nGetHeight(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PixelRef__1nGetRowBytes") @ExternalSymbolName("org_jetbrains_skia_PixelRef__1nGetRowBytes")
external fun _nGetRowBytes(ptr: Long): Long external fun _nGetRowBytes(ptr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PixelRef__1nGetGenerationId") @ExternalSymbolName("org_jetbrains_skia_PixelRef__1nGetGenerationId")
external fun _nGetGenerationId(ptr: Long): Int external fun _nGetGenerationId(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PixelRef__1nNotifyPixelsChanged") @ExternalSymbolName("org_jetbrains_skia_PixelRef__1nNotifyPixelsChanged")
external fun _nNotifyPixelsChanged(ptr: Long) external fun _nNotifyPixelsChanged(ptr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PixelRef__1nIsImmutable") @ExternalSymbolName("org_jetbrains_skia_PixelRef__1nIsImmutable")
external fun _nIsImmutable(ptr: Long): Boolean external fun _nIsImmutable(ptr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PixelRef__1nSetImmutable") @ExternalSymbolName("org_jetbrains_skia_PixelRef__1nSetImmutable")
external fun _nSetImmutable(ptr: Long) external fun _nSetImmutable(ptr: NativePointer)
init { init {
staticLoad() staticLoad()
...@@ -51,7 +52,7 @@ class PixelRef internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -51,7 +52,7 @@ class PixelRef internal constructor(ptr: Long) : RefCnt(ptr) {
} finally { } finally {
reachabilityBarrier(this) reachabilityBarrier(this)
} }
val rowBytes: Long val rowBytes: NativePointer
get() = try { get() = try {
Stats.onNativeCall() Stats.onNativeCall()
_nGetRowBytes(_ptr) _nGetRowBytes(_ptr)
......
...@@ -2,10 +2,9 @@ ...@@ -2,10 +2,9 @@
package org.jetbrains.skia package org.jetbrains.skia
import org.jetbrains.skia.impl.* import org.jetbrains.skia.impl.*
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class Pixmap internal constructor(ptr: Long, managed: Boolean) : class Pixmap internal constructor(ptr: NativePointer, managed: Boolean) :
Managed(ptr, _FinalizerHolder.PTR, managed) { Managed(ptr, _FinalizerHolder.PTR, managed) {
constructor() : this(_nMakeNull(), true) { constructor() : this(_nMakeNull(), true) {
Stats.onNativeCall() Stats.onNativeCall()
...@@ -17,7 +16,7 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) : ...@@ -17,7 +16,7 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) :
reachabilityBarrier(this) reachabilityBarrier(this)
} }
fun reset(info: ImageInfo, addr: Long, rowBytes: Int) { fun reset(info: ImageInfo, addr: NativePointer, rowBytes: Int) {
Stats.onNativeCall() Stats.onNativeCall()
_nResetWithInfo( _nResetWithInfo(
_ptr, _ptr,
...@@ -41,7 +40,7 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) : ...@@ -41,7 +40,7 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) :
reachabilityBarrier(colorSpace) reachabilityBarrier(colorSpace)
} }
fun extractSubset(subsetPtr: Long, area: IRect): Boolean { fun extractSubset(subsetPtr: NativePointer, area: IRect): Boolean {
return try { return try {
Stats.onNativeCall() Stats.onNativeCall()
_nExtractSubset( _nExtractSubset(
...@@ -79,7 +78,7 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) : ...@@ -79,7 +78,7 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) :
reachabilityBarrier(this) reachabilityBarrier(this)
} }
} }
val addr: Long val addr: NativePointer
get() { get() {
Stats.onNativeCall() Stats.onNativeCall()
return try { return try {
...@@ -134,7 +133,7 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) : ...@@ -134,7 +133,7 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) :
} }
} }
fun getAddr(x: Int, y: Int): Long { fun getAddr(x: Int, y: Int): NativePointer {
Stats.onNativeCall() Stats.onNativeCall()
return try { return try {
_nGetAddrAt(_ptr, x, y) _nGetAddrAt(_ptr, x, y)
...@@ -143,7 +142,7 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) : ...@@ -143,7 +142,7 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) :
} }
} }
fun readPixels(info: ImageInfo, addr: Long, rowBytes: Int): Boolean { fun readPixels(info: ImageInfo, addr: NativePointer, rowBytes: Int): Boolean {
Stats.onNativeCall() Stats.onNativeCall()
return try { return try {
_nReadPixels( _nReadPixels(
...@@ -159,7 +158,7 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) : ...@@ -159,7 +158,7 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) :
} }
} }
fun readPixels(info: ImageInfo, addr: Long, rowBytes: Int, srcX: Int, srcY: Int): Boolean { fun readPixels(info: ImageInfo, addr: NativePointer, rowBytes: Int, srcX: Int, srcY: Int): Boolean {
Stats.onNativeCall() Stats.onNativeCall()
return try { return try {
_nReadPixelsFromPoint( _nReadPixelsFromPoint(
...@@ -255,7 +254,7 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) : ...@@ -255,7 +254,7 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) :
return make(info, BufferUtil.getPointerFromByteBuffer(buffer), rowBytes) return make(info, BufferUtil.getPointerFromByteBuffer(buffer), rowBytes)
} }
fun make(info: ImageInfo, addr: Long, rowBytes: Int): Pixmap { fun make(info: ImageInfo, addr: NativePointer, rowBytes: Int): Pixmap {
return try { return try {
val ptr = _nMake( val ptr = _nMake(
info.width, info.height, info.width, info.height,
...@@ -263,7 +262,7 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) : ...@@ -263,7 +262,7 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) :
info.colorInfo.alphaType.ordinal, info.colorInfo.alphaType.ordinal,
getPtr(info.colorInfo.colorSpace), addr, rowBytes getPtr(info.colorInfo.colorSpace), addr, rowBytes
) )
require(ptr != 0L) { "Failed to create Pixmap." } require(ptr != NullPointer) { "Failed to create Pixmap." }
Pixmap(ptr, true) Pixmap(ptr, true)
} finally { } finally {
reachabilityBarrier(info.colorInfo.colorSpace) reachabilityBarrier(info.colorInfo.colorSpace)
...@@ -272,10 +271,10 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) : ...@@ -272,10 +271,10 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) :
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nGetFinalizer") @ExternalSymbolName("org_jetbrains_skia_Pixmap__1nGetFinalizer")
external fun _nGetFinalizer(): Long external fun _nGetFinalizer(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nMakeNull") @ExternalSymbolName("org_jetbrains_skia_Pixmap__1nMakeNull")
external fun _nMakeNull(): Long external fun _nMakeNull(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nMake") @ExternalSymbolName("org_jetbrains_skia_Pixmap__1nMake")
external fun _nMake( external fun _nMake(
...@@ -283,89 +282,89 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) : ...@@ -283,89 +282,89 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) :
height: Int, height: Int,
colorType: Int, colorType: Int,
alphaType: Int, alphaType: Int,
colorSpacePtr: Long, colorSpacePtr: NativePointer,
pixelsPtr: Long, pixelsPtr: NativePointer,
rowBytes: Int rowBytes: Int
): Long ): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nReset") @ExternalSymbolName("org_jetbrains_skia_Pixmap__1nReset")
external fun _nReset(ptr: Long) external fun _nReset(ptr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nResetWithInfo") @ExternalSymbolName("org_jetbrains_skia_Pixmap__1nResetWithInfo")
external fun _nResetWithInfo( external fun _nResetWithInfo(
ptr: Long, ptr: NativePointer,
width: Int, width: Int,
height: Int, height: Int,
colorType: Int, colorType: Int,
alphaType: Int, alphaType: Int,
colorSpacePtr: Long, colorSpacePtr: NativePointer,
pixelsPtr: Long, pixelsPtr: NativePointer,
rowBytes: Int rowBytes: Int
) )
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nSetColorSpace") @ExternalSymbolName("org_jetbrains_skia_Pixmap__1nSetColorSpace")
external fun _nSetColorSpace(ptr: Long, colorSpacePtr: Long) external fun _nSetColorSpace(ptr: NativePointer, colorSpacePtr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nExtractSubset") @ExternalSymbolName("org_jetbrains_skia_Pixmap__1nExtractSubset")
external fun _nExtractSubset(ptr: Long, subsetPtr: Long, l: Int, t: Int, r: Int, b: Int): Boolean external fun _nExtractSubset(ptr: NativePointer, subsetPtr: NativePointer, l: Int, t: Int, r: Int, b: Int): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nGetInfo") @ExternalSymbolName("org_jetbrains_skia_Pixmap__1nGetInfo")
external fun _nGetInfo(ptr: Long): ImageInfo external fun _nGetInfo(ptr: NativePointer): ImageInfo
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nGetRowBytes") @ExternalSymbolName("org_jetbrains_skia_Pixmap__1nGetRowBytes")
external fun _nGetRowBytes(ptr: Long): Int external fun _nGetRowBytes(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nGetAddr") @ExternalSymbolName("org_jetbrains_skia_Pixmap__1nGetAddr")
external fun _nGetAddr(ptr: Long): Long external fun _nGetAddr(ptr: NativePointer): NativePointer
// TODO methods flattening ImageInfo not included yet - use GetInfo() instead. // TODO methods flattening ImageInfo not included yet - use GetInfo() instead.
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nGetRowBytesAsPixels") @ExternalSymbolName("org_jetbrains_skia_Pixmap__1nGetRowBytesAsPixels")
external fun _nGetRowBytesAsPixels(ptr: Long): Int external fun _nGetRowBytesAsPixels(ptr: NativePointer): Int
// TODO shiftPerPixel // TODO shiftPerPixel
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nComputeByteSize") @ExternalSymbolName("org_jetbrains_skia_Pixmap__1nComputeByteSize")
external fun _nComputeByteSize(ptr: Long): Int external fun _nComputeByteSize(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nComputeIsOpaque") @ExternalSymbolName("org_jetbrains_skia_Pixmap__1nComputeIsOpaque")
external fun _nComputeIsOpaque(ptr: Long): Boolean external fun _nComputeIsOpaque(ptr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nGetColor") @ExternalSymbolName("org_jetbrains_skia_Pixmap__1nGetColor")
external fun _nGetColor(ptr: Long, x: Int, y: Int): Int external fun _nGetColor(ptr: NativePointer, x: Int, y: Int): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nGetAlphaF") @ExternalSymbolName("org_jetbrains_skia_Pixmap__1nGetAlphaF")
external fun _nGetAlphaF(ptr: Long, x: Int, y: Int): Float external fun _nGetAlphaF(ptr: NativePointer, x: Int, y: Int): Float
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nGetAddrAt") @ExternalSymbolName("org_jetbrains_skia_Pixmap__1nGetAddrAt")
external fun _nGetAddrAt(ptr: Long, x: Int, y: Int): Long external fun _nGetAddrAt(ptr: NativePointer, x: Int, y: Int): NativePointer
// methods related to C++ types(addr8/16/32/64, writable_addr8/16/32/64) not included - not needed // methods related to C++ types(addr8/16/32/64, writable_addr8/16/32/64) not included - not needed
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nReadPixels") @ExternalSymbolName("org_jetbrains_skia_Pixmap__1nReadPixels")
external fun _nReadPixels( external fun _nReadPixels(
ptr: Long, ptr: NativePointer,
width: Int, width: Int,
height: Int, height: Int,
colorType: Int, colorType: Int,
alphaType: Int, alphaType: Int,
colorSpacePtr: Long, colorSpacePtr: NativePointer,
dstPixelsPtr: Long, dstPixelsPtr: NativePointer,
dstRowBytes: Int dstRowBytes: Int
): Boolean ): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nReadPixelsFromPoint") @ExternalSymbolName("org_jetbrains_skia_Pixmap__1nReadPixelsFromPoint")
external fun _nReadPixelsFromPoint( external fun _nReadPixelsFromPoint(
ptr: Long, ptr: NativePointer,
width: Int, width: Int,
height: Int, height: Int,
colorType: Int, colorType: Int,
alphaType: Int, alphaType: Int,
colorSpacePtr: Long, colorSpacePtr: NativePointer,
dstPixelsPtr: Long, dstPixelsPtr: NativePointer,
dstRowBytes: Int, dstRowBytes: Int,
srcX: Int, srcX: Int,
srcY: Int srcY: Int
...@@ -373,20 +372,20 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) : ...@@ -373,20 +372,20 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) :
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nReadPixelsToPixmap") @ExternalSymbolName("org_jetbrains_skia_Pixmap__1nReadPixelsToPixmap")
external fun _nReadPixelsToPixmap(ptr: Long, dstPixmapPtr: Long): Boolean external fun _nReadPixelsToPixmap(ptr: NativePointer, dstPixmapPtr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nReadPixelsToPixmapFromPoint") @ExternalSymbolName("org_jetbrains_skia_Pixmap__1nReadPixelsToPixmapFromPoint")
external fun _nReadPixelsToPixmapFromPoint(ptr: Long, dstPixmapPtr: Long, srcX: Int, srcY: Int): Boolean external fun _nReadPixelsToPixmapFromPoint(ptr: NativePointer, dstPixmapPtr: NativePointer, srcX: Int, srcY: Int): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nScalePixels") @ExternalSymbolName("org_jetbrains_skia_Pixmap__1nScalePixels")
external fun _nScalePixels(ptr: Long, dstPixmapPtr: Long, samplingOptions: Long): Boolean external fun _nScalePixels(ptr: NativePointer, dstPixmapPtr: NativePointer, samplingOptions: Long): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nErase") @ExternalSymbolName("org_jetbrains_skia_Pixmap__1nErase")
external fun _nErase(ptr: Long, color: Int): Boolean external fun _nErase(ptr: NativePointer, color: Int): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nEraseSubset") @ExternalSymbolName("org_jetbrains_skia_Pixmap__1nEraseSubset")
external fun _nEraseSubset( external fun _nEraseSubset(
ptr: Long, ptr: NativePointer,
color: Int, color: Int,
l: Int, l: Int,
t: Int, t: Int,
......
...@@ -6,102 +6,104 @@ import org.jetbrains.skia.impl.Managed ...@@ -6,102 +6,104 @@ import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class Region : Managed(_nMake(), _FinalizerHolder.PTR) { class Region : Managed(_nMake(), _FinalizerHolder.PTR) {
companion object { companion object {
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nMake") @ExternalSymbolName("org_jetbrains_skia_Region__1nMake")
external fun _nMake(): Long external fun _nMake(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nGetFinalizer") @ExternalSymbolName("org_jetbrains_skia_Region__1nGetFinalizer")
external fun _nGetFinalizer(): Long external fun _nGetFinalizer(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nSet") @ExternalSymbolName("org_jetbrains_skia_Region__1nSet")
external fun _nSet(ptr: Long, regoinPtr: Long): Boolean external fun _nSet(ptr: NativePointer, regoinPtr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nIsEmpty") @ExternalSymbolName("org_jetbrains_skia_Region__1nIsEmpty")
external fun _nIsEmpty(ptr: Long): Boolean external fun _nIsEmpty(ptr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nIsRect") @ExternalSymbolName("org_jetbrains_skia_Region__1nIsRect")
external fun _nIsRect(ptr: Long): Boolean external fun _nIsRect(ptr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nIsComplex") @ExternalSymbolName("org_jetbrains_skia_Region__1nIsComplex")
external fun _nIsComplex(ptr: Long): Boolean external fun _nIsComplex(ptr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nGetBounds") @ExternalSymbolName("org_jetbrains_skia_Region__1nGetBounds")
external fun _nGetBounds(ptr: Long): IRect external fun _nGetBounds(ptr: NativePointer): IRect
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nComputeRegionComplexity") @ExternalSymbolName("org_jetbrains_skia_Region__1nComputeRegionComplexity")
external fun _nComputeRegionComplexity(ptr: Long): Int external fun _nComputeRegionComplexity(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nGetBoundaryPath") @ExternalSymbolName("org_jetbrains_skia_Region__1nGetBoundaryPath")
external fun _nGetBoundaryPath(ptr: Long, pathPtr: Long): Boolean external fun _nGetBoundaryPath(ptr: NativePointer, pathPtr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nSetEmpty") @ExternalSymbolName("org_jetbrains_skia_Region__1nSetEmpty")
external fun _nSetEmpty(ptr: Long): Boolean external fun _nSetEmpty(ptr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nSetRect") @ExternalSymbolName("org_jetbrains_skia_Region__1nSetRect")
external fun _nSetRect(ptr: Long, left: Int, top: Int, right: Int, bottom: Int): Boolean external fun _nSetRect(ptr: NativePointer, left: Int, top: Int, right: Int, bottom: Int): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nSetRects") @ExternalSymbolName("org_jetbrains_skia_Region__1nSetRects")
external fun _nSetRects(ptr: Long, rects: IntArray?): Boolean external fun _nSetRects(ptr: NativePointer, rects: IntArray?): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nSetRegion") @ExternalSymbolName("org_jetbrains_skia_Region__1nSetRegion")
external fun _nSetRegion(ptr: Long, regionPtr: Long): Boolean external fun _nSetRegion(ptr: NativePointer, regionPtr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nSetPath") @ExternalSymbolName("org_jetbrains_skia_Region__1nSetPath")
external fun _nSetPath(ptr: Long, pathPtr: Long, regionPtr: Long): Boolean external fun _nSetPath(ptr: NativePointer, pathPtr: NativePointer, regionPtr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nIntersectsIRect") @ExternalSymbolName("org_jetbrains_skia_Region__1nIntersectsIRect")
external fun _nIntersectsIRect(ptr: Long, left: Int, top: Int, right: Int, bottom: Int): Boolean external fun _nIntersectsIRect(ptr: NativePointer, left: Int, top: Int, right: Int, bottom: Int): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nIntersectsRegion") @ExternalSymbolName("org_jetbrains_skia_Region__1nIntersectsRegion")
external fun _nIntersectsRegion(ptr: Long, regionPtr: Long): Boolean external fun _nIntersectsRegion(ptr: NativePointer, regionPtr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nContainsIPoint") @ExternalSymbolName("org_jetbrains_skia_Region__1nContainsIPoint")
external fun _nContainsIPoint(ptr: Long, x: Int, y: Int): Boolean external fun _nContainsIPoint(ptr: NativePointer, x: Int, y: Int): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nContainsIRect") @ExternalSymbolName("org_jetbrains_skia_Region__1nContainsIRect")
external fun _nContainsIRect(ptr: Long, left: Int, top: Int, right: Int, bottom: Int): Boolean external fun _nContainsIRect(ptr: NativePointer, left: Int, top: Int, right: Int, bottom: Int): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nContainsRegion") @ExternalSymbolName("org_jetbrains_skia_Region__1nContainsRegion")
external fun _nContainsRegion(ptr: Long, regionPtr: Long): Boolean external fun _nContainsRegion(ptr: NativePointer, regionPtr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nQuickContains") @ExternalSymbolName("org_jetbrains_skia_Region__1nQuickContains")
external fun _nQuickContains(ptr: Long, left: Int, top: Int, right: Int, bottom: Int): Boolean external fun _nQuickContains(ptr: NativePointer, left: Int, top: Int, right: Int, bottom: Int): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nQuickRejectIRect") @ExternalSymbolName("org_jetbrains_skia_Region__1nQuickRejectIRect")
external fun _nQuickRejectIRect(ptr: Long, left: Int, top: Int, right: Int, bottom: Int): Boolean external fun _nQuickRejectIRect(ptr: NativePointer, left: Int, top: Int, right: Int, bottom: Int): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nQuickRejectRegion") @ExternalSymbolName("org_jetbrains_skia_Region__1nQuickRejectRegion")
external fun _nQuickRejectRegion(ptr: Long, regionPtr: Long): Boolean external fun _nQuickRejectRegion(ptr: NativePointer, regionPtr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nTranslate") @ExternalSymbolName("org_jetbrains_skia_Region__1nTranslate")
external fun _nTranslate(ptr: Long, dx: Int, dy: Int) external fun _nTranslate(ptr: NativePointer, dx: Int, dy: Int)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nOpIRect") @ExternalSymbolName("org_jetbrains_skia_Region__1nOpIRect")
external fun _nOpIRect(ptr: Long, left: Int, top: Int, right: Int, bottom: Int, op: Int): Boolean external fun _nOpIRect(ptr: NativePointer, left: Int, top: Int, right: Int, bottom: Int, op: Int): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nOpRegion") @ExternalSymbolName("org_jetbrains_skia_Region__1nOpRegion")
external fun _nOpRegion(ptr: Long, regionPtr: Long, op: Int): Boolean external fun _nOpRegion(ptr: NativePointer, regionPtr: NativePointer, op: Int): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nOpIRectRegion") @ExternalSymbolName("org_jetbrains_skia_Region__1nOpIRectRegion")
external fun _nOpIRectRegion( external fun _nOpIRectRegion(
ptr: Long, ptr: NativePointer,
left: Int, left: Int,
top: Int, top: Int,
right: Int, right: Int,
bottom: Int, bottom: Int,
regionPtr: Long, regionPtr: NativePointer,
op: Int op: Int
): Boolean ): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nOpRegionIRect") @ExternalSymbolName("org_jetbrains_skia_Region__1nOpRegionIRect")
external fun _nOpRegionIRect( external fun _nOpRegionIRect(
ptr: Long, ptr: NativePointer,
regionPtr: Long, regionPtr: NativePointer,
left: Int, left: Int,
top: Int, top: Int,
right: Int, right: Int,
...@@ -111,7 +113,7 @@ class Region : Managed(_nMake(), _FinalizerHolder.PTR) { ...@@ -111,7 +113,7 @@ class Region : Managed(_nMake(), _FinalizerHolder.PTR) {
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nOpRegionRegion") @ExternalSymbolName("org_jetbrains_skia_Region__1nOpRegionRegion")
external fun _nOpRegionRegion(ptr: Long, regionPtrA: Long, regionPtrB: Long, op: Int): Boolean external fun _nOpRegionRegion(ptr: NativePointer, regionPtrA: NativePointer, regionPtrB: NativePointer, op: Int): Boolean
init { init {
staticLoad() staticLoad()
......
...@@ -6,9 +6,11 @@ import org.jetbrains.skia.impl.RefCnt ...@@ -6,9 +6,11 @@ import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Native import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.ExternalSymbolName import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class RuntimeEffect internal constructor(ptr: Long) : RefCnt(ptr) { class RuntimeEffect internal constructor(ptr: NativePointer) : RefCnt(ptr) {
companion object { companion object {
fun makeForShader(sksl: String?): RuntimeEffect { fun makeForShader(sksl: String?): RuntimeEffect {
Stats.onNativeCall() Stats.onNativeCall()
...@@ -23,16 +25,16 @@ class RuntimeEffect internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -23,16 +25,16 @@ class RuntimeEffect internal constructor(ptr: Long) : RefCnt(ptr) {
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_RuntimeEffect__1nMakeShader") @ExternalSymbolName("org_jetbrains_skia_RuntimeEffect__1nMakeShader")
external fun _nMakeShader( external fun _nMakeShader(
runtimeEffectPtr: Long, uniformPtr: Long, childrenPtrs: LongArray?, runtimeEffectPtr: NativePointer, uniformPtr: NativePointer, childrenPtrs: Array<NativePointer>?,
localMatrix: FloatArray?, isOpaque: Boolean localMatrix: FloatArray?, isOpaque: Boolean
): Long ): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_RuntimeEffect__1nMakeForShader") @ExternalSymbolName("org_jetbrains_skia_RuntimeEffect__1nMakeForShader")
external fun _nMakeForShader(sksl: String?): Long external fun _nMakeForShader(sksl: String?): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_RuntimeEffect__1nMakeForColorFilter") @ExternalSymbolName("org_jetbrains_skia_RuntimeEffect__1nMakeForColorFilter")
external fun _nMakeForColorFilter(sksl: String?): Long external fun _nMakeForColorFilter(sksl: String?): NativePointer
init { init {
staticLoad() staticLoad()
...@@ -45,8 +47,8 @@ class RuntimeEffect internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -45,8 +47,8 @@ class RuntimeEffect internal constructor(ptr: Long) : RefCnt(ptr) {
): Shader { ): Shader {
Stats.onNativeCall() Stats.onNativeCall()
val childCount = children?.size ?: 0 val childCount = children?.size ?: 0
val childrenPtrs = LongArray(childCount) val childrenPtrs = arrayOf<NativePointer>()
for (i in 0 until childCount) childrenPtrs[i] = Native.Companion.getPtr(children!![i]) for (i in 0 until childCount) childrenPtrs[i] = getPtr(children!![i])
val matrix = localMatrix?.mat val matrix = localMatrix?.mat
return Shader(_nMakeShader(_ptr, getPtr(uniforms), childrenPtrs, matrix, isOpaque)) return Shader(_nMakeShader(_ptr, getPtr(uniforms), childrenPtrs, matrix, isOpaque))
} }
......
package org.jetbrains.skia package org.jetbrains.skia
import org.jetbrains.skia.impl.NativePointer
/** /**
* @see org.jetbrains.skia.FilterMipmap * @see org.jetbrains.skia.FilterMipmap
* *
......
...@@ -6,9 +6,11 @@ import org.jetbrains.skia.impl.RefCnt ...@@ -6,9 +6,11 @@ import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class Shader internal constructor(ptr: Long) : RefCnt(ptr) { class Shader internal constructor(ptr: NativePointer) : RefCnt(ptr) {
companion object { companion object {
// Linear // Linear
fun makeLinearGradient(p0: Point, p1: Point, colors: IntArray): Shader { fun makeLinearGradient(p0: Point, p1: Point, colors: IntArray): Shader {
...@@ -487,7 +489,7 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -487,7 +489,7 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeWithColorFilter") @ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeWithColorFilter")
external fun _nMakeWithColorFilter(ptr: Long, colorFilterPtr: Long): Long external fun _nMakeWithColorFilter(ptr: NativePointer, colorFilterPtr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeLinearGradient") @ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeLinearGradient")
external fun _nMakeLinearGradient( external fun _nMakeLinearGradient(
...@@ -500,7 +502,7 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -500,7 +502,7 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
tileType: Int, tileType: Int,
flags: Int, flags: Int,
matrix: FloatArray? matrix: FloatArray?
): Long ): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeLinearGradientCS") @ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeLinearGradientCS")
...@@ -510,12 +512,12 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -510,12 +512,12 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
x1: Float, x1: Float,
y1: Float, y1: Float,
colors: FloatArray?, colors: FloatArray?,
colorSpacePtr: Long, colorSpacePtr: NativePointer,
positions: FloatArray?, positions: FloatArray?,
tileType: Int, tileType: Int,
flags: Int, flags: Int,
matrix: FloatArray? matrix: FloatArray?
): Long ): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeRadialGradient") @ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeRadialGradient")
...@@ -528,7 +530,7 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -528,7 +530,7 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
tileType: Int, tileType: Int,
flags: Int, flags: Int,
matrix: FloatArray? matrix: FloatArray?
): Long ): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeRadialGradientCS") @ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeRadialGradientCS")
...@@ -537,12 +539,12 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -537,12 +539,12 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
y: Float, y: Float,
r: Float, r: Float,
colors: FloatArray?, colors: FloatArray?,
colorSpacePtr: Long, colorSpacePtr: NativePointer,
positions: FloatArray?, positions: FloatArray?,
tileType: Int, tileType: Int,
flags: Int, flags: Int,
matrix: FloatArray? matrix: FloatArray?
): Long ): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeTwoPointConicalGradient") @ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeTwoPointConicalGradient")
...@@ -558,7 +560,7 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -558,7 +560,7 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
tileType: Int, tileType: Int,
flags: Int, flags: Int,
matrix: FloatArray? matrix: FloatArray?
): Long ): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeTwoPointConicalGradientCS") @ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeTwoPointConicalGradientCS")
...@@ -570,12 +572,12 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -570,12 +572,12 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
y1: Float, y1: Float,
r1: Float, r1: Float,
colors: FloatArray?, colors: FloatArray?,
colorSpacePtr: Long, colorSpacePtr: NativePointer,
positions: FloatArray?, positions: FloatArray?,
tileType: Int, tileType: Int,
flags: Int, flags: Int,
matrix: FloatArray? matrix: FloatArray?
): Long ): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeSweepGradient") @ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeSweepGradient")
...@@ -589,7 +591,7 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -589,7 +591,7 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
tileType: Int, tileType: Int,
flags: Int, flags: Int,
matrix: FloatArray? matrix: FloatArray?
): Long ): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeSweepGradientCS") @ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeSweepGradientCS")
...@@ -599,12 +601,12 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -599,12 +601,12 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
startAngle: Float, startAngle: Float,
endAngle: Float, endAngle: Float,
colors: FloatArray?, colors: FloatArray?,
colorSpacePtr: Long, colorSpacePtr: NativePointer,
positions: FloatArray?, positions: FloatArray?,
tileType: Int, tileType: Int,
flags: Int, flags: Int,
matrix: FloatArray? matrix: FloatArray?
): Long ): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeFractalNoise") @ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeFractalNoise")
...@@ -614,7 +616,7 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -614,7 +616,7 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
numOctaves: Int, numOctaves: Int,
seed: Float, seed: Float,
tiles: IntArray? tiles: IntArray?
): Long ): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeTurbulence") @ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeTurbulence")
...@@ -624,20 +626,20 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -624,20 +626,20 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
numOctaves: Int, numOctaves: Int,
seed: Float, seed: Float,
tiles: IntArray? tiles: IntArray?
): Long ): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeEmpty") @ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeEmpty")
external fun _nMakeEmpty(): Long external fun _nMakeEmpty(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeColor") @ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeColor")
external fun _nMakeColor(color: Int): Long external fun _nMakeColor(color: Int): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeColorCS") @ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeColorCS")
external fun _nMakeColorCS(r: Float, g: Float, b: Float, a: Float, colorSpacePtr: Long): Long external fun _nMakeColorCS(r: Float, g: Float, b: Float, a: Float, colorSpacePtr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeBlend") @ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeBlend")
external fun _nMakeBlend(blendMode: Int, dst: Long, src: Long): Long external fun _nMakeBlend(blendMode: Int, dst: NativePointer, src: NativePointer): NativePointer
init { init {
staticLoad() staticLoad()
......
...@@ -5,6 +5,8 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad ...@@ -5,6 +5,8 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Native import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.ExternalSymbolName import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
object ShadowUtils { object ShadowUtils {
...@@ -42,8 +44,8 @@ object ShadowUtils { ...@@ -42,8 +44,8 @@ object ShadowUtils {
if (transparentOccluder) flags = flags or 1 if (transparentOccluder) flags = flags or 1
if (geometricOnly) flags = flags or 2 if (geometricOnly) flags = flags or 2
_nDrawShadow( _nDrawShadow(
Native.getPtr(canvas), getPtr(canvas),
Native.getPtr(path), getPtr(path),
zPlaneParams.x, zPlaneParams.x,
zPlaneParams.y, zPlaneParams.y,
zPlaneParams.z, zPlaneParams.z,
...@@ -84,8 +86,8 @@ object ShadowUtils { ...@@ -84,8 +86,8 @@ object ShadowUtils {
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ShadowUtils__1nDrawShadow") @ExternalSymbolName("org_jetbrains_skia_ShadowUtils__1nDrawShadow")
external fun _nDrawShadow( external fun _nDrawShadow(
canvasPtr: Long, canvasPtr: NativePointer,
pathPtr: Long, pathPtr: NativePointer,
zPlaneX: Float, zPlaneX: Float,
zPlaneY: Float, zPlaneY: Float,
zPlaneZ: Float, zPlaneZ: Float,
......
...@@ -5,7 +5,8 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad ...@@ -5,7 +5,8 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.RefCnt import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class Surface : RefCnt { class Surface : RefCnt {
...@@ -43,8 +44,8 @@ class Surface : RefCnt { ...@@ -43,8 +44,8 @@ class Surface : RefCnt {
*/ */
fun makeRasterDirect( fun makeRasterDirect(
imageInfo: ImageInfo, imageInfo: ImageInfo,
pixelsPtr: Long, pixelsPtr: NativePointer,
rowBytes: Long rowBytes: NativePointer
): Surface { ): Surface {
return makeRasterDirect(imageInfo, pixelsPtr, rowBytes, null) return makeRasterDirect(imageInfo, pixelsPtr, rowBytes, null)
} }
...@@ -58,7 +59,7 @@ class Surface : RefCnt { ...@@ -58,7 +59,7 @@ class Surface : RefCnt {
val ptr = _nMakeRasterDirectWithPixmap( val ptr = _nMakeRasterDirectWithPixmap(
getPtr(pixmap), surfaceProps getPtr(pixmap), surfaceProps
) )
require(ptr != 0L) { require(ptr != NullPointer) {
"Failed Surface.makeRasterDirect($pixmap, $surfaceProps)" "Failed Surface.makeRasterDirect($pixmap, $surfaceProps)"
} }
Surface(ptr) Surface(ptr)
...@@ -98,8 +99,8 @@ class Surface : RefCnt { ...@@ -98,8 +99,8 @@ class Surface : RefCnt {
*/ */
fun makeRasterDirect( fun makeRasterDirect(
imageInfo: ImageInfo, imageInfo: ImageInfo,
pixelsPtr: Long, pixelsPtr: NativePointer,
rowBytes: Long, rowBytes: NativePointer,
surfaceProps: SurfaceProps? surfaceProps: SurfaceProps?
): Surface { ): Surface {
return try { return try {
...@@ -114,7 +115,7 @@ class Surface : RefCnt { ...@@ -114,7 +115,7 @@ class Surface : RefCnt {
rowBytes, rowBytes,
surfaceProps surfaceProps
) )
require(ptr != 0L) { require(ptr != NullPointer) {
"Failed Surface.makeRasterDirect($imageInfo, $pixelsPtr, $rowBytes, $surfaceProps)" "Failed Surface.makeRasterDirect($imageInfo, $pixelsPtr, $rowBytes, $surfaceProps)"
} }
Surface(ptr) Surface(ptr)
...@@ -140,7 +141,7 @@ class Surface : RefCnt { ...@@ -140,7 +141,7 @@ class Surface : RefCnt {
* @return new Surface * @return new Surface
*/ */
fun makeRaster(imageInfo: ImageInfo): Surface { fun makeRaster(imageInfo: ImageInfo): Surface {
return makeRaster(imageInfo, 0, null) return makeRaster(imageInfo, NullPointer, null)
} }
/** /**
...@@ -167,7 +168,7 @@ class Surface : RefCnt { ...@@ -167,7 +168,7 @@ class Surface : RefCnt {
*/ */
fun makeRaster( fun makeRaster(
imageInfo: ImageInfo, imageInfo: ImageInfo,
rowBytes: Long rowBytes: NativePointer
): Surface { ): Surface {
return makeRaster(imageInfo, rowBytes, null) return makeRaster(imageInfo, rowBytes, null)
} }
...@@ -198,7 +199,7 @@ class Surface : RefCnt { ...@@ -198,7 +199,7 @@ class Surface : RefCnt {
*/ */
fun makeRaster( fun makeRaster(
imageInfo: ImageInfo, imageInfo: ImageInfo,
rowBytes: Long, rowBytes: NativePointer,
surfaceProps: SurfaceProps? surfaceProps: SurfaceProps?
): Surface { ): Surface {
return try { return try {
...@@ -212,7 +213,7 @@ class Surface : RefCnt { ...@@ -212,7 +213,7 @@ class Surface : RefCnt {
rowBytes, rowBytes,
surfaceProps surfaceProps
) )
require(ptr != 0L) { require(ptr != NullPointer) {
"Failed Surface.makeRaster($imageInfo, $rowBytes, $surfaceProps)" "Failed Surface.makeRaster($imageInfo, $rowBytes, $surfaceProps)"
} }
Surface(ptr) Surface(ptr)
...@@ -283,7 +284,7 @@ class Surface : RefCnt { ...@@ -283,7 +284,7 @@ class Surface : RefCnt {
getPtr(colorSpace), getPtr(colorSpace),
surfaceProps surfaceProps
) )
require(ptr != 0L) { require(ptr != NullPointer) {
"Failed Surface.makeFromBackendRenderTarget($context, $rt, $origin, $colorFormat, $colorSpace)" "Failed Surface.makeFromBackendRenderTarget($context, $rt, $origin, $colorFormat, $colorSpace)"
} }
Surface(ptr, context, rt) Surface(ptr, context, rt)
...@@ -296,7 +297,7 @@ class Surface : RefCnt { ...@@ -296,7 +297,7 @@ class Surface : RefCnt {
fun makeFromMTKView( fun makeFromMTKView(
context: DirectContext, context: DirectContext,
mtkViewPtr: Long, mtkViewPtr: NativePointer,
origin: SurfaceOrigin, origin: SurfaceOrigin,
sampleCount: Int, sampleCount: Int,
colorFormat: SurfaceColorFormat, colorFormat: SurfaceColorFormat,
...@@ -314,7 +315,7 @@ class Surface : RefCnt { ...@@ -314,7 +315,7 @@ class Surface : RefCnt {
getPtr(colorSpace), getPtr(colorSpace),
surfaceProps surfaceProps
) )
require(ptr != 0L) { require(ptr != NullPointer) {
"Failed Surface.makeFromMTKView($context, $mtkViewPtr $origin, $colorFormat, $surfaceProps)" "Failed Surface.makeFromMTKView($context, $mtkViewPtr $origin, $colorFormat, $surfaceProps)"
} }
Surface(ptr, context) Surface(ptr, context)
...@@ -350,7 +351,7 @@ class Surface : RefCnt { ...@@ -350,7 +351,7 @@ class Surface : RefCnt {
fun makeRasterN32Premul(width: Int, height: Int): Surface { fun makeRasterN32Premul(width: Int, height: Int): Surface {
Stats.onNativeCall() Stats.onNativeCall()
val ptr = _nMakeRasterN32Premul(width, height) val ptr = _nMakeRasterN32Premul(width, height)
require(ptr != 0L) { "Failed Surface.makeRasterN32Premul($width, $height)" } require(ptr != NullPointer) { "Failed Surface.makeRasterN32Premul($width, $height)" }
return Surface(ptr) return Surface(ptr)
} }
...@@ -500,7 +501,7 @@ class Surface : RefCnt { ...@@ -500,7 +501,7 @@ class Surface : RefCnt {
surfaceProps, surfaceProps,
shouldCreateWithMips shouldCreateWithMips
) )
require(ptr != 0L) { require(ptr != NullPointer) {
"Failed Surface.makeRenderTarget($context, $budgeted, $imageInfo, $sampleCount, $origin, $surfaceProps, $shouldCreateWithMips)" "Failed Surface.makeRenderTarget($context, $budgeted, $imageInfo, $sampleCount, $origin, $surfaceProps, $shouldCreateWithMips)"
} }
Surface(ptr, context) Surface(ptr, context)
...@@ -523,7 +524,7 @@ class Surface : RefCnt { ...@@ -523,7 +524,7 @@ class Surface : RefCnt {
fun makeNull(width: Int, height: Int): Surface { fun makeNull(width: Int, height: Int): Surface {
Stats.onNativeCall() Stats.onNativeCall()
val ptr = _nMakeNull(width, height) val ptr = _nMakeNull(width, height)
require(ptr != 0L) { "Failed Surface.makeNull($width, $height)" } require(ptr != NullPointer) { "Failed Surface.makeNull($width, $height)" }
return Surface(ptr) return Surface(ptr)
} }
...@@ -534,15 +535,15 @@ class Surface : RefCnt { ...@@ -534,15 +535,15 @@ class Surface : RefCnt {
height: Int, height: Int,
colorType: Int, colorType: Int,
alphaType: Int, alphaType: Int,
colorSpacePtr: Long, colorSpacePtr: NativePointer,
pixelsPtr: Long, pixelsPtr: NativePointer,
rowBytes: Long, rowBytes: NativePointer,
surfaceProps: SurfaceProps? surfaceProps: SurfaceProps?
): Long ): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeRasterDirectWithPixmap") @ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeRasterDirectWithPixmap")
external fun _nMakeRasterDirectWithPixmap(pixmapPtr: Long, surfaceProps: SurfaceProps?): Long external fun _nMakeRasterDirectWithPixmap(pixmapPtr: NativePointer, surfaceProps: SurfaceProps?): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeRaster") @ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeRaster")
external fun _nMakeRaster( external fun _nMakeRaster(
...@@ -550,124 +551,124 @@ class Surface : RefCnt { ...@@ -550,124 +551,124 @@ class Surface : RefCnt {
height: Int, height: Int,
colorType: Int, colorType: Int,
alphaType: Int, alphaType: Int,
colorSpacePtr: Long, colorSpacePtr: NativePointer,
rowBytes: Long, rowBytes: NativePointer,
surfaceProps: SurfaceProps? surfaceProps: SurfaceProps?
): Long ): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeRasterN32Premul") @ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeRasterN32Premul")
external fun _nMakeRasterN32Premul(width: Int, height: Int): Long external fun _nMakeRasterN32Premul(width: Int, height: Int): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeFromBackendRenderTarget") @ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeFromBackendRenderTarget")
external fun _nMakeFromBackendRenderTarget( external fun _nMakeFromBackendRenderTarget(
pContext: Long, pContext: NativePointer,
pBackendRenderTarget: Long, pBackendRenderTarget: NativePointer,
surfaceOrigin: Int, surfaceOrigin: Int,
colorType: Int, colorType: Int,
colorSpacePtr: Long, colorSpacePtr: NativePointer,
surfaceProps: SurfaceProps? surfaceProps: SurfaceProps?
): Long ): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeFromMTKView") @ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeFromMTKView")
external fun _nMakeFromMTKView( external fun _nMakeFromMTKView(
contextPtr: Long, contextPtr: NativePointer,
mtkViewPtr: Long, mtkViewPtr: NativePointer,
surfaceOrigin: Int, surfaceOrigin: Int,
sampleCount: Int, sampleCount: Int,
colorType: Int, colorType: Int,
colorSpacePtr: Long, colorSpacePtr: NativePointer,
surfaceProps: SurfaceProps? surfaceProps: SurfaceProps?
): Long ): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeRenderTarget") @ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeRenderTarget")
external fun _nMakeRenderTarget( external fun _nMakeRenderTarget(
contextPtr: Long, contextPtr: NativePointer,
budgeted: Boolean, budgeted: Boolean,
width: Int, width: Int,
height: Int, height: Int,
colorType: Int, colorType: Int,
alphaType: Int, alphaType: Int,
colorSpacePtr: Long, colorSpacePtr: NativePointer,
sampleCount: Int, sampleCount: Int,
surfaceOrigin: Int, surfaceOrigin: Int,
surfaceProps: SurfaceProps?, surfaceProps: SurfaceProps?,
shouldCreateWithMips: Boolean shouldCreateWithMips: Boolean
): Long ): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeNull") @ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeNull")
external fun _nMakeNull(width: Int, height: Int): Long external fun _nMakeNull(width: Int, height: Int): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nGetWidth") @ExternalSymbolName("org_jetbrains_skia_Surface__1nGetWidth")
external fun _nGetWidth(ptr: Long): Int external fun _nGetWidth(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nGetHeight") @ExternalSymbolName("org_jetbrains_skia_Surface__1nGetHeight")
external fun _nGetHeight(ptr: Long): Int external fun _nGetHeight(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nGetImageInfo") @ExternalSymbolName("org_jetbrains_skia_Surface__1nGetImageInfo")
external fun _nGetImageInfo(ptr: Long): ImageInfo external fun _nGetImageInfo(ptr: NativePointer): ImageInfo
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nGenerationId") @ExternalSymbolName("org_jetbrains_skia_Surface__1nGenerationId")
external fun _nGenerationId(ptr: Long): Int external fun _nGenerationId(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nNotifyContentWillChange") @ExternalSymbolName("org_jetbrains_skia_Surface__1nNotifyContentWillChange")
external fun _nNotifyContentWillChange(ptr: Long, mode: Int) external fun _nNotifyContentWillChange(ptr: NativePointer, mode: Int)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nGetRecordingContext") @ExternalSymbolName("org_jetbrains_skia_Surface__1nGetRecordingContext")
external fun _nGetRecordingContext(ptr: Long): Long external fun _nGetRecordingContext(ptr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nGetCanvas") @ExternalSymbolName("org_jetbrains_skia_Surface__1nGetCanvas")
external fun _nGetCanvas(ptr: Long): Long external fun _nGetCanvas(ptr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeSurfaceI") @ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeSurfaceI")
external fun _nMakeSurfaceI( external fun _nMakeSurfaceI(
ptr: Long, ptr: NativePointer,
width: Int, width: Int,
height: Int, height: Int,
colorType: Int, colorType: Int,
alphaType: Int, alphaType: Int,
colorSpacePtr: Long colorSpacePtr: NativePointer
): Long ): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeSurface") @ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeSurface")
external fun _nMakeSurface(ptr: Long, width: Int, height: Int): Long external fun _nMakeSurface(ptr: NativePointer, width: Int, height: Int): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeImageSnapshot") @ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeImageSnapshot")
external fun _nMakeImageSnapshot(ptr: Long): Long external fun _nMakeImageSnapshot(ptr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeImageSnapshotR") @ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeImageSnapshotR")
external fun _nMakeImageSnapshotR(ptr: Long, left: Int, top: Int, right: Int, bottom: Int): Long external fun _nMakeImageSnapshotR(ptr: NativePointer, left: Int, top: Int, right: Int, bottom: Int): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nDraw") @ExternalSymbolName("org_jetbrains_skia_Surface__1nDraw")
external fun _nDraw(ptr: Long, canvasPtr: Long, x: Float, y: Float, paintPtr: Long) external fun _nDraw(ptr: NativePointer, canvasPtr: NativePointer, x: Float, y: Float, paintPtr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nPeekPixels") @ExternalSymbolName("org_jetbrains_skia_Surface__1nPeekPixels")
external fun _nPeekPixels(ptr: Long, pixmapPtr: Long): Boolean external fun _nPeekPixels(ptr: NativePointer, pixmapPtr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nReadPixelsToPixmap") @ExternalSymbolName("org_jetbrains_skia_Surface__1nReadPixelsToPixmap")
external fun _nReadPixelsToPixmap(ptr: Long, pixmapPtr: Long, srcX: Int, srcY: Int): Boolean external fun _nReadPixelsToPixmap(ptr: NativePointer, pixmapPtr: NativePointer, srcX: Int, srcY: Int): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nReadPixels") @ExternalSymbolName("org_jetbrains_skia_Surface__1nReadPixels")
external fun _nReadPixels(ptr: Long, bitmapPtr: Long, srcX: Int, srcY: Int): Boolean external fun _nReadPixels(ptr: NativePointer, bitmapPtr: NativePointer, srcX: Int, srcY: Int): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nWritePixelsFromPixmap") @ExternalSymbolName("org_jetbrains_skia_Surface__1nWritePixelsFromPixmap")
external fun _nWritePixelsFromPixmap(ptr: Long, pixmapPtr: Long, x: Int, y: Int) external fun _nWritePixelsFromPixmap(ptr: NativePointer, pixmapPtr: NativePointer, x: Int, y: Int)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nWritePixels") @ExternalSymbolName("org_jetbrains_skia_Surface__1nWritePixels")
external fun _nWritePixels(ptr: Long, bitmapPtr: Long, x: Int, y: Int) external fun _nWritePixels(ptr: NativePointer, bitmapPtr: NativePointer, x: Int, y: Int)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nFlushAndSubmit") @ExternalSymbolName("org_jetbrains_skia_Surface__1nFlushAndSubmit")
external fun _nFlushAndSubmit(ptr: Long, syncCpu: Boolean) external fun _nFlushAndSubmit(ptr: NativePointer, syncCpu: Boolean)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nFlush") @ExternalSymbolName("org_jetbrains_skia_Surface__1nFlush")
external fun _nFlush(ptr: Long) external fun _nFlush(ptr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nUnique") @ExternalSymbolName("org_jetbrains_skia_Surface__1nUnique")
external fun _nUnique(ptr: Long): Boolean external fun _nUnique(ptr: NativePointer): Boolean
init { init {
staticLoad() staticLoad()
...@@ -768,7 +769,7 @@ class Surface : RefCnt { ...@@ -768,7 +769,7 @@ class Surface : RefCnt {
get() = try { get() = try {
Stats.onNativeCall() Stats.onNativeCall()
val ptr = _nGetRecordingContext(_ptr) val ptr = _nGetRecordingContext(_ptr)
if (ptr == 0L) null else DirectContext(ptr) if (ptr == NullPointer) null else DirectContext(ptr)
} finally { } finally {
reachabilityBarrier(this) reachabilityBarrier(this)
} }
...@@ -787,7 +788,7 @@ class Surface : RefCnt { ...@@ -787,7 +788,7 @@ class Surface : RefCnt {
get() = try { get() = try {
Stats.onNativeCall() Stats.onNativeCall()
val ptr = _nGetCanvas(_ptr) val ptr = _nGetCanvas(_ptr)
if (ptr == 0L) throw IllegalArgumentException() else Canvas(ptr, false, this) if (ptr == NullPointer) throw IllegalArgumentException() else Canvas(ptr, false, this)
} finally { } finally {
reachabilityBarrier(this) reachabilityBarrier(this)
} }
...@@ -1114,17 +1115,17 @@ class Surface : RefCnt { ...@@ -1114,17 +1115,17 @@ class Surface : RefCnt {
reachabilityBarrier(this) reachabilityBarrier(this)
} }
internal constructor(ptr: Long) : super(ptr) { internal constructor(ptr: NativePointer) : super(ptr) {
_context = null _context = null
_renderTarget = null _renderTarget = null
} }
internal constructor(ptr: Long, context: DirectContext?) : super(ptr) { internal constructor(ptr: NativePointer, context: DirectContext?) : super(ptr) {
_context = context _context = context
_renderTarget = null _renderTarget = null
} }
internal constructor(ptr: Long, context: DirectContext?, renderTarget: BackendRenderTarget?) : super(ptr) { internal constructor(ptr: NativePointer, context: DirectContext?, renderTarget: BackendRenderTarget?) : super(ptr) {
_context = context _context = context
_renderTarget = renderTarget _renderTarget = renderTarget
} }
......
...@@ -5,10 +5,11 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad ...@@ -5,10 +5,11 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Managed import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class TextBlob internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) { class TextBlob internal constructor(ptr: NativePointer) : Managed(ptr, _FinalizerHolder.PTR) {
companion object { companion object {
/** /**
* Returns a TextBlob built from a single run of text with x-positions and a single y value. * Returns a TextBlob built from a single run of text with x-positions and a single y value.
...@@ -30,7 +31,7 @@ class TextBlob internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.P ...@@ -30,7 +31,7 @@ class TextBlob internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.P
ypos, ypos,
getPtr(font) getPtr(font)
) )
if (ptr == 0L) null else TextBlob(ptr) if (ptr == NullPointer) null else TextBlob(ptr)
} finally { } finally {
reachabilityBarrier(font) reachabilityBarrier(font)
} }
...@@ -56,7 +57,7 @@ class TextBlob internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.P ...@@ -56,7 +57,7 @@ class TextBlob internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.P
Stats.onNativeCall() Stats.onNativeCall()
val ptr = val ptr =
_nMakeFromPos(glyphs, floatPos, getPtr(font)) _nMakeFromPos(glyphs, floatPos, getPtr(font))
if (ptr == 0L) null else TextBlob(ptr) if (ptr == NullPointer) null else TextBlob(ptr)
} finally { } finally {
reachabilityBarrier(font) reachabilityBarrier(font)
} }
...@@ -78,7 +79,7 @@ class TextBlob internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.P ...@@ -78,7 +79,7 @@ class TextBlob internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.P
floatXform, floatXform,
getPtr(font) getPtr(font)
) )
if (ptr == 0L) null else TextBlob(ptr) if (ptr == NullPointer) null else TextBlob(ptr)
} finally { } finally {
reachabilityBarrier(font) reachabilityBarrier(font)
} }
...@@ -88,7 +89,7 @@ class TextBlob internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.P ...@@ -88,7 +89,7 @@ class TextBlob internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.P
return try { return try {
Stats.onNativeCall() Stats.onNativeCall()
val ptr = _nMakeFromData(getPtr(data)) val ptr = _nMakeFromData(getPtr(data))
if (ptr == 0L) null else TextBlob(ptr) if (ptr == NullPointer) null else TextBlob(ptr)
} finally { } finally {
reachabilityBarrier(data) reachabilityBarrier(data)
} }
...@@ -96,52 +97,52 @@ class TextBlob internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.P ...@@ -96,52 +97,52 @@ class TextBlob internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.P
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetFinalizer") @ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetFinalizer")
external fun _nGetFinalizer(): Long external fun _nGetFinalizer(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nBounds") @ExternalSymbolName("org_jetbrains_skia_TextBlob__1nBounds")
external fun _nBounds(ptr: Long): Rect external fun _nBounds(ptr: NativePointer): Rect
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetUniqueId") @ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetUniqueId")
external fun _nGetUniqueId(ptr: Long): Int external fun _nGetUniqueId(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetIntercepts") @ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetIntercepts")
external fun _nGetIntercepts(ptr: Long, lower: Float, upper: Float, paintPtr: Long): FloatArray? external fun _nGetIntercepts(ptr: NativePointer, lower: Float, upper: Float, paintPtr: NativePointer): FloatArray?
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nMakeFromPosH") @ExternalSymbolName("org_jetbrains_skia_TextBlob__1nMakeFromPosH")
external fun _nMakeFromPosH(glyphs: ShortArray?, xpos: FloatArray?, ypos: Float, fontPtr: Long): Long external fun _nMakeFromPosH(glyphs: ShortArray?, xpos: FloatArray?, ypos: Float, fontPtr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nMakeFromPos") @ExternalSymbolName("org_jetbrains_skia_TextBlob__1nMakeFromPos")
external fun _nMakeFromPos(glyphs: ShortArray?, pos: FloatArray?, fontPtr: Long): Long external fun _nMakeFromPos(glyphs: ShortArray?, pos: FloatArray?, fontPtr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nMakeFromRSXform") @ExternalSymbolName("org_jetbrains_skia_TextBlob__1nMakeFromRSXform")
external fun _nMakeFromRSXform(glyphs: ShortArray?, xform: FloatArray?, fontPtr: Long): Long external fun _nMakeFromRSXform(glyphs: ShortArray?, xform: FloatArray?, fontPtr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nSerializeToData") @ExternalSymbolName("org_jetbrains_skia_TextBlob__1nSerializeToData")
external fun _nSerializeToData(ptr: Long /*, SkSerialProcs */): Long external fun _nSerializeToData(ptr: NativePointer /*, SkSerialProcs */): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nMakeFromData") @ExternalSymbolName("org_jetbrains_skia_TextBlob__1nMakeFromData")
external fun _nMakeFromData(dataPtr: Long /*, SkDeserialProcs */): Long external fun _nMakeFromData(dataPtr: NativePointer /*, SkDeserialProcs */): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetGlyphs") @ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetGlyphs")
external fun _nGetGlyphs(ptr: Long): ShortArray external fun _nGetGlyphs(ptr: NativePointer): ShortArray
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetPositions") @ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetPositions")
external fun _nGetPositions(ptr: Long): FloatArray external fun _nGetPositions(ptr: NativePointer): FloatArray
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetClusters") @ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetClusters")
external fun _nGetClusters(ptr: Long): IntArray external fun _nGetClusters(ptr: NativePointer): IntArray
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetTightBounds") @ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetTightBounds")
external fun _nGetTightBounds(ptr: Long): Rect external fun _nGetTightBounds(ptr: NativePointer): Rect
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetBlockBounds") @ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetBlockBounds")
external fun _nGetBlockBounds(ptr: Long): Rect external fun _nGetBlockBounds(ptr: NativePointer): Rect
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetFirstBaseline") @ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetFirstBaseline")
external fun _nGetFirstBaseline(ptr: Long): Float external fun _nGetFirstBaseline(ptr: NativePointer): Float
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetLastBaseline") @ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetLastBaseline")
external fun _nGetLastBaseline(ptr: Long): Float external fun _nGetLastBaseline(ptr: NativePointer): Float
init { init {
staticLoad() staticLoad()
......
...@@ -5,28 +5,29 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad ...@@ -5,28 +5,29 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Managed import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class TextBlobBuilder internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) { class TextBlobBuilder internal constructor(ptr: NativePointer) : Managed(ptr, _FinalizerHolder.PTR) {
companion object { companion object {
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlobBuilder__1nGetFinalizer") @ExternalSymbolName("org_jetbrains_skia_TextBlobBuilder__1nGetFinalizer")
external fun _nGetFinalizer(): Long external fun _nGetFinalizer(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlobBuilder__1nMake") @ExternalSymbolName("org_jetbrains_skia_TextBlobBuilder__1nMake")
external fun _nMake(): Long external fun _nMake(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlobBuilder__1nBuild") @ExternalSymbolName("org_jetbrains_skia_TextBlobBuilder__1nBuild")
external fun _nBuild(ptr: Long): Long external fun _nBuild(ptr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlobBuilder__1nAppendRun") @ExternalSymbolName("org_jetbrains_skia_TextBlobBuilder__1nAppendRun")
external fun _nAppendRun(ptr: Long, fontPtr: Long, glyphs: ShortArray?, x: Float, y: Float, bounds: Rect?) external fun _nAppendRun(ptr: NativePointer, fontPtr: NativePointer, glyphs: ShortArray?, x: Float, y: Float, bounds: Rect?)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlobBuilder__1nAppendRunPosH") @ExternalSymbolName("org_jetbrains_skia_TextBlobBuilder__1nAppendRunPosH")
external fun _nAppendRunPosH( external fun _nAppendRunPosH(
ptr: Long, ptr: NativePointer,
fontPtr: Long, fontPtr: NativePointer,
glyphs: ShortArray?, glyphs: ShortArray?,
xs: FloatArray?, xs: FloatArray?,
y: Float, y: Float,
...@@ -35,10 +36,10 @@ class TextBlobBuilder internal constructor(ptr: Long) : Managed(ptr, _FinalizerH ...@@ -35,10 +36,10 @@ class TextBlobBuilder internal constructor(ptr: Long) : Managed(ptr, _FinalizerH
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlobBuilder__1nAppendRunPos") @ExternalSymbolName("org_jetbrains_skia_TextBlobBuilder__1nAppendRunPos")
external fun _nAppendRunPos(ptr: Long, fontPtr: Long, glyphs: ShortArray?, pos: FloatArray?, bounds: Rect?) external fun _nAppendRunPos(ptr: NativePointer, fontPtr: NativePointer, glyphs: ShortArray?, pos: FloatArray?, bounds: Rect?)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlobBuilder__1nAppendRunRSXform") @ExternalSymbolName("org_jetbrains_skia_TextBlobBuilder__1nAppendRunRSXform")
external fun _nAppendRunRSXform(ptr: Long, fontPtr: Long, glyphs: ShortArray?, xform: FloatArray?) external fun _nAppendRunRSXform(ptr: NativePointer, fontPtr: NativePointer, glyphs: ShortArray?, xform: FloatArray?)
init { init {
staticLoad() staticLoad()
...@@ -72,7 +73,7 @@ class TextBlobBuilder internal constructor(ptr: Long) : Managed(ptr, _FinalizerH ...@@ -72,7 +73,7 @@ class TextBlobBuilder internal constructor(ptr: Long) : Managed(ptr, _FinalizerH
return try { return try {
Stats.onNativeCall() Stats.onNativeCall()
val ptr = _nBuild(_ptr) val ptr = _nBuild(_ptr)
if (ptr == 0L) null else TextBlob(ptr) if (ptr == NullPointer) null else TextBlob(ptr)
} finally { } finally {
reachabilityBarrier(this) reachabilityBarrier(this)
} }
......
...@@ -3,10 +3,9 @@ package org.jetbrains.skia ...@@ -3,10 +3,9 @@ package org.jetbrains.skia
import org.jetbrains.skia.impl.* import org.jetbrains.skia.impl.*
import org.jetbrains.skia.shaper.* import org.jetbrains.skia.shaper.*
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class TextLine internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) { class TextLine internal constructor(ptr: NativePointer) : Managed(ptr, _FinalizerHolder.PTR) {
companion object { companion object {
fun make(text: String?, font: Font?): TextLine { fun make(text: String?, font: Font?): TextLine {
return make(text, font, ShapingOptions.DEFAULT) return make(text, font, ShapingOptions.DEFAULT)
...@@ -18,55 +17,55 @@ class TextLine internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.P ...@@ -18,55 +17,55 @@ class TextLine internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.P
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetFinalizer") @ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetFinalizer")
external fun _nGetFinalizer(): Long external fun _nGetFinalizer(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetAscent") @ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetAscent")
external fun _nGetAscent(ptr: Long): Float external fun _nGetAscent(ptr: NativePointer): Float
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetCapHeight") @ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetCapHeight")
external fun _nGetCapHeight(ptr: Long): Float external fun _nGetCapHeight(ptr: NativePointer): Float
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetXHeight") @ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetXHeight")
external fun _nGetXHeight(ptr: Long): Float external fun _nGetXHeight(ptr: NativePointer): Float
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetDescent") @ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetDescent")
external fun _nGetDescent(ptr: Long): Float external fun _nGetDescent(ptr: NativePointer): Float
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetLeading") @ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetLeading")
external fun _nGetLeading(ptr: Long): Float external fun _nGetLeading(ptr: NativePointer): Float
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetWidth") @ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetWidth")
external fun _nGetWidth(ptr: Long): Float external fun _nGetWidth(ptr: NativePointer): Float
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetHeight") @ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetHeight")
external fun _nGetHeight(ptr: Long): Float external fun _nGetHeight(ptr: NativePointer): Float
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetTextBlob") @ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetTextBlob")
external fun _nGetTextBlob(ptr: Long): Long external fun _nGetTextBlob(ptr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetGlyphs") @ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetGlyphs")
external fun _nGetGlyphs(ptr: Long): ShortArray external fun _nGetGlyphs(ptr: NativePointer): ShortArray
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetPositions") @ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetPositions")
external fun _nGetPositions(ptr: Long): FloatArray external fun _nGetPositions(ptr: NativePointer): FloatArray
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetRunPositions") @ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetRunPositions")
external fun _nGetRunPositions(ptr: Long): FloatArray? external fun _nGetRunPositions(ptr: NativePointer): FloatArray?
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetBreakPositions") @ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetBreakPositions")
external fun _nGetBreakPositions(ptr: Long): FloatArray? external fun _nGetBreakPositions(ptr: NativePointer): FloatArray?
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetBreakOffsets") @ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetBreakOffsets")
external fun _nGetBreakOffsets(ptr: Long): IntArray? external fun _nGetBreakOffsets(ptr: NativePointer): IntArray?
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetOffsetAtCoord") @ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetOffsetAtCoord")
external fun _nGetOffsetAtCoord(ptr: Long, x: Float): Int external fun _nGetOffsetAtCoord(ptr: NativePointer, x: Float): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetLeftOffsetAtCoord") @ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetLeftOffsetAtCoord")
external fun _nGetLeftOffsetAtCoord(ptr: Long, x: Float): Int external fun _nGetLeftOffsetAtCoord(ptr: NativePointer, x: Float): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetCoordAtOffset") @ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetCoordAtOffset")
external fun _nGetCoordAtOffset(ptr: Long, offset: Int): Float external fun _nGetCoordAtOffset(ptr: NativePointer, offset: Int): Float
init { init {
Library.staticLoad() Library.staticLoad()
...@@ -145,7 +144,7 @@ class TextLine internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.P ...@@ -145,7 +144,7 @@ class TextLine internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.P
Stats.onNativeCall() Stats.onNativeCall()
return try { return try {
val res = _nGetTextBlob(_ptr) val res = _nGetTextBlob(_ptr)
if (res == 0L) null else TextBlob(res) if (res == NullPointer) null else TextBlob(res)
} finally { } finally {
reachabilityBarrier(this) reachabilityBarrier(this)
} }
......
...@@ -6,10 +6,11 @@ import org.jetbrains.skia.impl.RefCnt ...@@ -6,10 +6,11 @@ import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Native import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class Typeface internal constructor(ptr: Long) : RefCnt(ptr) { class Typeface internal constructor(ptr: NativePointer) : RefCnt(ptr) {
companion object { companion object {
/** /**
* @return the default normal typeface, which is never null * @return the default normal typeface, which is never null
...@@ -42,7 +43,7 @@ class Typeface internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -42,7 +43,7 @@ class Typeface internal constructor(ptr: Long) : RefCnt(ptr) {
fun makeFromFile(path: String, index: Int = 0): Typeface { fun makeFromFile(path: String, index: Int = 0): Typeface {
Stats.onNativeCall() Stats.onNativeCall()
val ptr = _nMakeFromFile(path, index) val ptr = _nMakeFromFile(path, index)
require(ptr != 0L) { "Failed to create Typeface from path=\"$path\" index=$index" } require(ptr != NullPointer) { "Failed to create Typeface from path=\"$path\" index=$index" }
return Typeface(ptr) return Typeface(ptr)
} }
/** /**
...@@ -57,7 +58,7 @@ class Typeface internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -57,7 +58,7 @@ class Typeface internal constructor(ptr: Long) : RefCnt(ptr) {
return try { return try {
Stats.onNativeCall() Stats.onNativeCall()
val ptr = _nMakeFromData(getPtr(data), index) val ptr = _nMakeFromData(getPtr(data), index)
require(ptr != 0L) { "Failed to create Typeface from data $data" } require(ptr != NullPointer) { "Failed to create Typeface from data $data" }
Typeface(ptr) Typeface(ptr)
} finally { } finally {
reachabilityBarrier(data) reachabilityBarrier(data)
...@@ -66,73 +67,73 @@ class Typeface internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -66,73 +67,73 @@ class Typeface internal constructor(ptr: Long) : RefCnt(ptr) {
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetFontStyle") @ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetFontStyle")
external fun _nGetFontStyle(ptr: Long): Int external fun _nGetFontStyle(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nIsFixedPitch") @ExternalSymbolName("org_jetbrains_skia_Typeface__1nIsFixedPitch")
external fun _nIsFixedPitch(ptr: Long): Boolean external fun _nIsFixedPitch(ptr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetVariations") @ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetVariations")
external fun _nGetVariations(ptr: Long): Array<FontVariation>? external fun _nGetVariations(ptr: NativePointer): Array<FontVariation>?
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetVariationAxes") @ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetVariationAxes")
external fun _nGetVariationAxes(ptr: Long): Array<FontVariationAxis>? external fun _nGetVariationAxes(ptr: NativePointer): Array<FontVariationAxis>?
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetUniqueId") @ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetUniqueId")
external fun _nGetUniqueId(ptr: Long): Int external fun _nGetUniqueId(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nEquals") @ExternalSymbolName("org_jetbrains_skia_Typeface__1nEquals")
external fun _nEquals(ptr: Long, otherPtr: Long): Boolean external fun _nEquals(ptr: NativePointer, otherPtr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nMakeDefault") @ExternalSymbolName("org_jetbrains_skia_Typeface__1nMakeDefault")
external fun _nMakeDefault(): Long external fun _nMakeDefault(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nMakeFromName") @ExternalSymbolName("org_jetbrains_skia_Typeface__1nMakeFromName")
external fun _nMakeFromName(name: String?, fontStyle: Int): Long external fun _nMakeFromName(name: String?, fontStyle: Int): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nMakeFromFile") @ExternalSymbolName("org_jetbrains_skia_Typeface__1nMakeFromFile")
external fun _nMakeFromFile(path: String?, index: Int): Long external fun _nMakeFromFile(path: String?, index: Int): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nMakeFromData") @ExternalSymbolName("org_jetbrains_skia_Typeface__1nMakeFromData")
external fun _nMakeFromData(dataPtr: Long, index: Int): Long external fun _nMakeFromData(dataPtr: NativePointer, index: Int): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nMakeClone") @ExternalSymbolName("org_jetbrains_skia_Typeface__1nMakeClone")
external fun _nMakeClone(ptr: Long, variations: Array<FontVariation>?, collectionIndex: Int): Long external fun _nMakeClone(ptr: NativePointer, variations: Array<FontVariation>?, collectionIndex: Int): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetUTF32Glyphs") @ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetUTF32Glyphs")
external fun _nGetUTF32Glyphs(ptr: Long, uni: IntArray?): ShortArray external fun _nGetUTF32Glyphs(ptr: NativePointer, uni: IntArray?): ShortArray
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetUTF32Glyph") @ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetUTF32Glyph")
external fun _nGetUTF32Glyph(ptr: Long, unichar: Int): Short external fun _nGetUTF32Glyph(ptr: NativePointer, unichar: Int): Short
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetGlyphsCount") @ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetGlyphsCount")
external fun _nGetGlyphsCount(ptr: Long): Int external fun _nGetGlyphsCount(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetTablesCount") @ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetTablesCount")
external fun _nGetTablesCount(ptr: Long): Int external fun _nGetTablesCount(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetTableTags") @ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetTableTags")
external fun _nGetTableTags(ptr: Long): IntArray? external fun _nGetTableTags(ptr: NativePointer): IntArray?
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetTableSize") @ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetTableSize")
external fun _nGetTableSize(ptr: Long, tag: Int): Long external fun _nGetTableSize(ptr: NativePointer, tag: Int): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetTableData") @ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetTableData")
external fun _nGetTableData(ptr: Long, tag: Int): Long external fun _nGetTableData(ptr: NativePointer, tag: Int): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetUnitsPerEm") @ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetUnitsPerEm")
external fun _nGetUnitsPerEm(ptr: Long): Int external fun _nGetUnitsPerEm(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetKerningPairAdjustments") @ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetKerningPairAdjustments")
external fun _nGetKerningPairAdjustments(ptr: Long, glyphs: ShortArray?): IntArray? external fun _nGetKerningPairAdjustments(ptr: NativePointer, glyphs: ShortArray?): IntArray?
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetFamilyNames") @ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetFamilyNames")
external fun _nGetFamilyNames(ptr: Long): Array<FontFamilyName> external fun _nGetFamilyNames(ptr: NativePointer): Array<FontFamilyName>
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetFamilyName") @ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetFamilyName")
external fun _nGetFamilyName(ptr: Long): String external fun _nGetFamilyName(ptr: NativePointer): String
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetBounds") @ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetBounds")
external fun _nGetBounds(ptr: Long): Rect external fun _nGetBounds(ptr: NativePointer): Rect
init { init {
staticLoad() staticLoad()
...@@ -250,7 +251,7 @@ class Typeface internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -250,7 +251,7 @@ class Typeface internal constructor(ptr: Long) : RefCnt(ptr) {
if (variations.size == 0) return this if (variations.size == 0) return this
Stats.onNativeCall() Stats.onNativeCall()
val ptr = _nMakeClone(_ptr, variations, collectionIndex) val ptr = _nMakeClone(_ptr, variations, collectionIndex)
require(ptr != 0L) { require(ptr != NullPointer) {
"Failed to clone Typeface $this with $variations" "Failed to clone Typeface $this with $variations"
} }
Typeface(ptr) Typeface(ptr)
...@@ -331,7 +332,7 @@ class Typeface internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -331,7 +332,7 @@ class Typeface internal constructor(ptr: Long) : RefCnt(ptr) {
/** /**
* Given a table tag, return the size of its contents, or 0 if not present * Given a table tag, return the size of its contents, or 0 if not present
*/ */
fun getTableSize(tag: String): Long { fun getTableSize(tag: String): NativePointer {
return try { return try {
Stats.onNativeCall() Stats.onNativeCall()
_nGetTableSize(_ptr, FourByteTag.fromString(tag)) _nGetTableSize(_ptr, FourByteTag.fromString(tag))
...@@ -351,7 +352,7 @@ class Typeface internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -351,7 +352,7 @@ class Typeface internal constructor(ptr: Long) : RefCnt(ptr) {
return try { return try {
Stats.onNativeCall() Stats.onNativeCall()
val ptr = _nGetTableData(_ptr, FourByteTag.fromString(tag)) val ptr = _nGetTableData(_ptr, FourByteTag.fromString(tag))
if (ptr == 0L) null else Data(ptr) if (ptr == NullPointer) null else Data(ptr)
} finally { } finally {
reachabilityBarrier(this) reachabilityBarrier(this)
} }
......
...@@ -6,22 +6,23 @@ import org.jetbrains.skia.impl.Managed ...@@ -6,22 +6,23 @@ import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
/** /**
* Kotlin mirror of std::vector&lt;jchar&gt; (UTF-16) * Kotlin mirror of std::vector&lt;jchar&gt; (UTF-16)
*/ */
class U16String internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) { class U16String internal constructor(ptr: NativePointer) : Managed(ptr, _FinalizerHolder.PTR) {
companion object { companion object {
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_U16String__1nMake") @ExternalSymbolName("org_jetbrains_skia_U16String__1nMake")
external fun _nMake(s: String?): Long external fun _nMake(s: String?): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_U16String__1nGetFinalizer") @ExternalSymbolName("org_jetbrains_skia_U16String__1nGetFinalizer")
external fun _nGetFinalizer(): Long external fun _nGetFinalizer(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_U16String__1nToString") @ExternalSymbolName("org_jetbrains_skia_U16String__1nToString")
external fun _nToString(ptr: Long): String external fun _nToString(ptr: NativePointer): String
init { init {
staticLoad() staticLoad()
......
package org.jetbrains.skia package org.jetbrains.skia
import org.jetbrains.skia.impl.Managed import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.NativePointer
abstract class WStream : Managed { abstract class WStream : Managed {
constructor(ptr: Long, finalizer: Long) : super(ptr, finalizer) constructor(ptr: NativePointer, finalizer: NativePointer) : super(ptr, finalizer)
constructor(ptr: Long, finalizer: Long, managed: Boolean) : super(ptr, finalizer, managed) constructor(ptr: NativePointer, finalizer: NativePointer, managed: Boolean) : super(ptr, finalizer, managed)
} }
\ No newline at end of file
...@@ -6,21 +6,21 @@ import org.jetbrains.skia.ExternalSymbolName ...@@ -6,21 +6,21 @@ import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
object BufferUtil { object BufferUtil {
fun getByteBufferFromPointer(ptr: Long, size: Int): ByteBuffer { fun getByteBufferFromPointer(ptr: NativePointer, size: Int): ByteBuffer {
return _nGetByteBufferFromPointer(ptr, size) return _nGetByteBufferFromPointer(ptr, size)
?: throw IllegalArgumentException("JNI direct buffer access not support by current JVM!") ?: throw IllegalArgumentException("JNI direct buffer access not support by current JVM!")
} }
fun getPointerFromByteBuffer(buffer: ByteBuffer): Long { fun getPointerFromByteBuffer(buffer: ByteBuffer): NativePointer {
val result = _nGetPointerFromByteBuffer(buffer) val result = _nGetPointerFromByteBuffer(buffer)
require(result != 0L) { "The given buffer " + buffer + "is not a direct buffer or current JVM doesn't support JNI direct buffer access!" } require(result != Native.NullPointer) { "The given buffer " + buffer + "is not a direct buffer or current JVM doesn't support JNI direct buffer access!" }
return result return result
} }
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BufferUtil__1nGetByteBufferFromPointer") @ExternalSymbolName("org_jetbrains_skia_BufferUtil__1nGetByteBufferFromPointer")
external fun _nGetByteBufferFromPointer(ptr: Long, size: Int): ByteBuffer? external fun _nGetByteBufferFromPointer(ptr: NativePointer, size: Int): ByteBuffer?
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BufferUtil__1nGetPointerFromByteBuffer") @ExternalSymbolName("org_jetbrains_skia_BufferUtil__1nGetPointerFromByteBuffer")
external fun _nGetPointerFromByteBuffer(buffer: ByteBuffer?): Long external fun _nGetPointerFromByteBuffer(buffer: ByteBuffer?): NativePointer
} }
\ No newline at end of file
package org.jetbrains.skia.impl package org.jetbrains.skia.impl
expect abstract class Managed(ptr: Long, finalizer: Long, managed: Boolean = true) : Native { expect abstract class Managed(ptr: NativePointer, finalizer: NativePointer, managed: Boolean = true) : Native {
open fun close() open fun close()
open val isClosed: Boolean open val isClosed: Boolean
} }
......
package org.jetbrains.skia.impl package org.jetbrains.skia.impl
expect abstract class Native(ptr: Long) { import org.jetbrains.skia.IPoint
var _ptr: Long
companion object { expect class NativePointer
fun getPtr(n: Native?): Long
}
expect abstract class Native(ptr: NativePointer) {
var _ptr: NativePointer
open fun _nativeEquals(other: Native?): Boolean open fun _nativeEquals(other: Native?): Boolean
companion object {
val NullPointer: NativePointer
}
} }
expect fun reachabilityBarrier(obj: Any?) expect fun reachabilityBarrier(obj: Any?)
fun getPtr(n: Native?): NativePointer = n?._ptr ?: Native.NullPointer
package org.jetbrains.skia.impl package org.jetbrains.skia.impl
expect abstract class RefCnt : Managed { expect abstract class RefCnt : Managed {
protected constructor(ptr: Long) protected constructor(ptr: NativePointer)
protected constructor(ptr: Long, allowClose: Boolean) protected constructor(ptr: NativePointer, allowClose: Boolean)
} }
\ No newline at end of file
...@@ -7,46 +7,48 @@ import org.jetbrains.skia.* ...@@ -7,46 +7,48 @@ import org.jetbrains.skia.*
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class FontCollection internal constructor(ptr: Long) : RefCnt(ptr) { class FontCollection internal constructor(ptr: NativePointer) : RefCnt(ptr) {
companion object { companion object {
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontCollection__1nMake") @ExternalSymbolName("org_jetbrains_skia_FontCollection__1nMake")
external fun _nMake(): Long external fun _nMake(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontCollection__1nGetFontManagersCount") @ExternalSymbolName("org_jetbrains_skia_FontCollection__1nGetFontManagersCount")
external fun _nGetFontManagersCount(ptr: Long): Long external fun _nGetFontManagersCount(ptr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontCollection__1nSetAssetFontManager") @ExternalSymbolName("org_jetbrains_skia_FontCollection__1nSetAssetFontManager")
external fun _nSetAssetFontManager(ptr: Long, fontManagerPtr: Long): Long external fun _nSetAssetFontManager(ptr: NativePointer, fontManagerPtr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontCollection__1nSetDynamicFontManager") @ExternalSymbolName("org_jetbrains_skia_FontCollection__1nSetDynamicFontManager")
external fun _nSetDynamicFontManager(ptr: Long, fontManagerPtr: Long): Long external fun _nSetDynamicFontManager(ptr: NativePointer, fontManagerPtr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontCollection__1nSetTestFontManager") @ExternalSymbolName("org_jetbrains_skia_FontCollection__1nSetTestFontManager")
external fun _nSetTestFontManager(ptr: Long, fontManagerPtr: Long): Long external fun _nSetTestFontManager(ptr: NativePointer, fontManagerPtr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontCollection__1nSetDefaultFontManager") @ExternalSymbolName("org_jetbrains_skia_FontCollection__1nSetDefaultFontManager")
external fun _nSetDefaultFontManager(ptr: Long, fontManagerPtr: Long, defaultFamilyName: String?): Long external fun _nSetDefaultFontManager(ptr: NativePointer, fontManagerPtr: NativePointer, defaultFamilyName: String?): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontCollection__1nGetFallbackManager") @ExternalSymbolName("org_jetbrains_skia_FontCollection__1nGetFallbackManager")
external fun _nGetFallbackManager(ptr: Long): Long external fun _nGetFallbackManager(ptr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontCollection__1nFindTypefaces") @ExternalSymbolName("org_jetbrains_skia_FontCollection__1nFindTypefaces")
external fun _nFindTypefaces(ptr: Long, familyNames: Array<String?>?, fontStyle: Int): LongArray external fun _nFindTypefaces(ptr: NativePointer, familyNames: Array<String?>?, fontStyle: Int): Array<NativePointer>
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontCollection__1nDefaultFallbackChar") @ExternalSymbolName("org_jetbrains_skia_FontCollection__1nDefaultFallbackChar")
external fun _nDefaultFallbackChar(ptr: Long, unicode: Int, fontStyle: Int, locale: String?): Long external fun _nDefaultFallbackChar(ptr: NativePointer, unicode: Int, fontStyle: Int, locale: String?): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontCollection__1nDefaultFallback") @ExternalSymbolName("org_jetbrains_skia_FontCollection__1nDefaultFallback")
external fun _nDefaultFallback(ptr: Long): Long external fun _nDefaultFallback(ptr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontCollection__1nSetEnableFallback") @ExternalSymbolName("org_jetbrains_skia_FontCollection__1nSetEnableFallback")
external fun _nSetEnableFallback(ptr: Long, value: Boolean): Long external fun _nSetEnableFallback(ptr: NativePointer, value: Boolean): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontCollection__1nGetParagraphCache") @ExternalSymbolName("org_jetbrains_skia_FontCollection__1nGetParagraphCache")
external fun _nGetParagraphCache(ptr: Long): Long external fun _nGetParagraphCache(ptr: NativePointer): NativePointer
init { init {
staticLoad() staticLoad()
...@@ -57,7 +59,7 @@ class FontCollection internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -57,7 +59,7 @@ class FontCollection internal constructor(ptr: Long) : RefCnt(ptr) {
Stats.onNativeCall() Stats.onNativeCall()
} }
val fontManagersCount: Long val fontManagersCount: NativePointer
get() = try { get() = try {
Stats.onNativeCall() Stats.onNativeCall()
_nGetFontManagersCount(_ptr) _nGetFontManagersCount(_ptr)
...@@ -120,7 +122,7 @@ class FontCollection internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -120,7 +122,7 @@ class FontCollection internal constructor(ptr: Long) : RefCnt(ptr) {
get() = try { get() = try {
Stats.onNativeCall() Stats.onNativeCall()
val ptr = _nGetFallbackManager(_ptr) val ptr = _nGetFallbackManager(_ptr)
if (ptr == 0L) null else FontMgr(ptr) if (ptr == NullPointer) null else FontMgr(ptr)
} finally { } finally {
reachabilityBarrier(this) reachabilityBarrier(this)
} }
...@@ -141,7 +143,7 @@ class FontCollection internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -141,7 +143,7 @@ class FontCollection internal constructor(ptr: Long) : RefCnt(ptr) {
return try { return try {
Stats.onNativeCall() Stats.onNativeCall()
val ptr = _nDefaultFallbackChar(_ptr, unicode, style._value, locale) val ptr = _nDefaultFallbackChar(_ptr, unicode, style._value, locale)
if (ptr == 0L) null else Typeface(ptr) if (ptr == NullPointer) null else Typeface(ptr)
} finally { } finally {
reachabilityBarrier(this) reachabilityBarrier(this)
} }
...@@ -151,7 +153,7 @@ class FontCollection internal constructor(ptr: Long) : RefCnt(ptr) { ...@@ -151,7 +153,7 @@ class FontCollection internal constructor(ptr: Long) : RefCnt(ptr) {
return try { return try {
Stats.onNativeCall() Stats.onNativeCall()
val ptr = _nDefaultFallback(_ptr) val ptr = _nDefaultFallback(_ptr)
if (ptr == 0L) null else Typeface(ptr) if (ptr == NullPointer) null else Typeface(ptr)
} finally { } finally {
reachabilityBarrier(this) reachabilityBarrier(this)
} }
......
...@@ -7,47 +7,49 @@ import org.jetbrains.skia.impl.Managed ...@@ -7,47 +7,49 @@ import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class Paragraph internal constructor(ptr: Long, text: ManagedString?) : Managed(ptr, _FinalizerHolder.PTR) { class Paragraph internal constructor(ptr: NativePointer, text: ManagedString?) : Managed(ptr, _FinalizerHolder.PTR) {
companion object { companion object {
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetFinalizer") @ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetFinalizer")
external fun _nGetFinalizer(): Long external fun _nGetFinalizer(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetMaxWidth") @ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetMaxWidth")
external fun _nGetMaxWidth(ptr: Long): Float external fun _nGetMaxWidth(ptr: NativePointer): Float
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetHeight") @ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetHeight")
external fun _nGetHeight(ptr: Long): Float external fun _nGetHeight(ptr: NativePointer): Float
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetMinIntrinsicWidth") @ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetMinIntrinsicWidth")
external fun _nGetMinIntrinsicWidth(ptr: Long): Float external fun _nGetMinIntrinsicWidth(ptr: NativePointer): Float
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetMaxIntrinsicWidth") @ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetMaxIntrinsicWidth")
external fun _nGetMaxIntrinsicWidth(ptr: Long): Float external fun _nGetMaxIntrinsicWidth(ptr: NativePointer): Float
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetAlphabeticBaseline") @ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetAlphabeticBaseline")
external fun _nGetAlphabeticBaseline(ptr: Long): Float external fun _nGetAlphabeticBaseline(ptr: NativePointer): Float
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetIdeographicBaseline") @ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetIdeographicBaseline")
external fun _nGetIdeographicBaseline(ptr: Long): Float external fun _nGetIdeographicBaseline(ptr: NativePointer): Float
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetLongestLine") @ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetLongestLine")
external fun _nGetLongestLine(ptr: Long): Float external fun _nGetLongestLine(ptr: NativePointer): Float
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nDidExceedMaxLines") @ExternalSymbolName("org_jetbrains_skia_Paragraph__1nDidExceedMaxLines")
external fun _nDidExceedMaxLines(ptr: Long): Boolean external fun _nDidExceedMaxLines(ptr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nLayout") @ExternalSymbolName("org_jetbrains_skia_Paragraph__1nLayout")
external fun _nLayout(ptr: Long, width: Float) external fun _nLayout(ptr: NativePointer, width: Float)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nPaint") @ExternalSymbolName("org_jetbrains_skia_Paragraph__1nPaint")
external fun _nPaint(ptr: Long, canvasPtr: Long, x: Float, y: Float): Long external fun _nPaint(ptr: NativePointer, canvasPtr: NativePointer, x: Float, y: Float): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetRectsForRange") @ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetRectsForRange")
external fun _nGetRectsForRange( external fun _nGetRectsForRange(
ptr: Long, ptr: NativePointer,
start: Int, start: Int,
end: Int, end: Int,
rectHeightMode: Int, rectHeightMode: Int,
...@@ -56,38 +58,38 @@ class Paragraph internal constructor(ptr: Long, text: ManagedString?) : Managed( ...@@ -56,38 +58,38 @@ class Paragraph internal constructor(ptr: Long, text: ManagedString?) : Managed(
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetRectsForPlaceholders") @ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetRectsForPlaceholders")
external fun _nGetRectsForPlaceholders(ptr: Long): Array<TextBox> external fun _nGetRectsForPlaceholders(ptr: NativePointer): Array<TextBox>
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetGlyphPositionAtCoordinate") @ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetGlyphPositionAtCoordinate")
external fun _nGetGlyphPositionAtCoordinate(ptr: Long, dx: Float, dy: Float): Int external fun _nGetGlyphPositionAtCoordinate(ptr: NativePointer, dx: Float, dy: Float): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetWordBoundary") @ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetWordBoundary")
external fun _nGetWordBoundary(ptr: Long, offset: Int): Long external fun _nGetWordBoundary(ptr: NativePointer, offset: Int): Long
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetLineMetrics") @ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetLineMetrics")
external fun _nGetLineMetrics(ptr: Long, textPtr: Long): Array<LineMetrics?> external fun _nGetLineMetrics(ptr: NativePointer, textPtr: NativePointer): Array<LineMetrics?>
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetLineNumber") @ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetLineNumber")
external fun _nGetLineNumber(ptr: Long): Long external fun _nGetLineNumber(ptr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nMarkDirty") @ExternalSymbolName("org_jetbrains_skia_Paragraph__1nMarkDirty")
external fun _nMarkDirty(ptr: Long) external fun _nMarkDirty(ptr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetUnresolvedGlyphsCount") @ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetUnresolvedGlyphsCount")
external fun _nGetUnresolvedGlyphsCount(ptr: Long): Int external fun _nGetUnresolvedGlyphsCount(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nUpdateAlignment") @ExternalSymbolName("org_jetbrains_skia_Paragraph__1nUpdateAlignment")
external fun _nUpdateAlignment(ptr: Long, Align: Int) external fun _nUpdateAlignment(ptr: NativePointer, Align: Int)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nUpdateFontSize") @ExternalSymbolName("org_jetbrains_skia_Paragraph__1nUpdateFontSize")
external fun _nUpdateFontSize(ptr: Long, from: Int, to: Int, size: Float, textPtr: Long) external fun _nUpdateFontSize(ptr: NativePointer, from: Int, to: Int, size: Float, textPtr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nUpdateForegroundPaint") @ExternalSymbolName("org_jetbrains_skia_Paragraph__1nUpdateForegroundPaint")
external fun _nUpdateForegroundPaint(ptr: Long, from: Int, to: Int, paintPtr: Long, textPtr: Long) external fun _nUpdateForegroundPaint(ptr: NativePointer, from: Int, to: Int, paintPtr: NativePointer, textPtr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nUpdateBackgroundPaint") @ExternalSymbolName("org_jetbrains_skia_Paragraph__1nUpdateBackgroundPaint")
external fun _nUpdateBackgroundPaint(ptr: Long, from: Int, to: Int, paintPtr: Long, textPtr: Long) external fun _nUpdateBackgroundPaint(ptr: NativePointer, from: Int, to: Int, paintPtr: NativePointer, textPtr: NativePointer)
init { init {
staticLoad() staticLoad()
...@@ -217,15 +219,19 @@ class Paragraph internal constructor(ptr: Long, text: ManagedString?) : Managed( ...@@ -217,15 +219,19 @@ class Paragraph internal constructor(ptr: Long, text: ManagedString?) : Managed(
} }
} }
fun getWordBoundary(offset: Int): IRange { fun getWordBoundary(offset: Int): IRange {
return try { return try {
Stats.onNativeCall() Stats.onNativeCall()
IRange.Companion._makeFromLong(_nGetWordBoundary(_ptr, offset)) toIRange(_nGetWordBoundary(_ptr, offset))
} finally { } finally {
reachabilityBarrier(this) reachabilityBarrier(this)
} }
} }
private fun toIRange(p: Long) = IRange((p ushr 32).toInt(), (p and -1).toInt())
val lineMetrics: Array<LineMetrics?> val lineMetrics: Array<LineMetrics?>
get() = try { get() = try {
if (_text == null) { if (_text == null) {
...@@ -238,7 +244,7 @@ class Paragraph internal constructor(ptr: Long, text: ManagedString?) : Managed( ...@@ -238,7 +244,7 @@ class Paragraph internal constructor(ptr: Long, text: ManagedString?) : Managed(
reachabilityBarrier(this) reachabilityBarrier(this)
reachabilityBarrier(_text) reachabilityBarrier(_text)
} }
val lineNumber: Long val lineNumber: NativePointer
get() = try { get() = try {
Stats.onNativeCall() Stats.onNativeCall()
_nGetLineNumber(_ptr) _nGetLineNumber(_ptr)
......
...@@ -7,6 +7,8 @@ import org.jetbrains.skia.impl.Managed ...@@ -7,6 +7,8 @@ import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class ParagraphBuilder(style: ParagraphStyle?, fc: FontCollection?) : class ParagraphBuilder(style: ParagraphStyle?, fc: FontCollection?) :
...@@ -14,23 +16,23 @@ class ParagraphBuilder(style: ParagraphStyle?, fc: FontCollection?) : ...@@ -14,23 +16,23 @@ class ParagraphBuilder(style: ParagraphStyle?, fc: FontCollection?) :
companion object { companion object {
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphBuilder__1nMake") @ExternalSymbolName("org_jetbrains_skia_ParagraphBuilder__1nMake")
external fun _nMake(paragraphStylePtr: Long, fontCollectionPtr: Long): Long external fun _nMake(paragraphStylePtr: NativePointer, fontCollectionPtr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphBuilder__1nGetFinalizer") @ExternalSymbolName("org_jetbrains_skia_ParagraphBuilder__1nGetFinalizer")
external fun _nGetFinalizer(): Long external fun _nGetFinalizer(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphBuilder__1nPushStyle") @ExternalSymbolName("org_jetbrains_skia_ParagraphBuilder__1nPushStyle")
external fun _nPushStyle(ptr: Long, textStylePtr: Long) external fun _nPushStyle(ptr: NativePointer, textStylePtr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphBuilder__1nPopStyle") @ExternalSymbolName("org_jetbrains_skia_ParagraphBuilder__1nPopStyle")
external fun _nPopStyle(ptr: Long) external fun _nPopStyle(ptr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphBuilder__1nAddText") @ExternalSymbolName("org_jetbrains_skia_ParagraphBuilder__1nAddText")
external fun _nAddText(ptr: Long, text: String?) external fun _nAddText(ptr: NativePointer, text: String?)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphBuilder__1nAddPlaceholder") @ExternalSymbolName("org_jetbrains_skia_ParagraphBuilder__1nAddPlaceholder")
external fun _nAddPlaceholder( external fun _nAddPlaceholder(
ptr: Long, ptr: NativePointer,
width: Float, width: Float,
height: Float, height: Float,
alignment: Int, alignment: Int,
...@@ -40,10 +42,10 @@ class ParagraphBuilder(style: ParagraphStyle?, fc: FontCollection?) : ...@@ -40,10 +42,10 @@ class ParagraphBuilder(style: ParagraphStyle?, fc: FontCollection?) :
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphBuilder__1nSetParagraphStyle") @ExternalSymbolName("org_jetbrains_skia_ParagraphBuilder__1nSetParagraphStyle")
external fun _nSetParagraphStyle(ptr: Long, stylePtr: Long) external fun _nSetParagraphStyle(ptr: NativePointer, stylePtr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphBuilder__1nBuild") @ExternalSymbolName("org_jetbrains_skia_ParagraphBuilder__1nBuild")
external fun _nBuild(ptr: Long): Long external fun _nBuild(ptr: NativePointer): NativePointer
init { init {
staticLoad() staticLoad()
......
...@@ -6,31 +6,33 @@ import org.jetbrains.skia.impl.Native ...@@ -6,31 +6,33 @@ import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class ParagraphCache internal constructor(owner: FontCollection, ptr: Long) : Native(ptr) { class ParagraphCache internal constructor(owner: FontCollection, ptr: NativePointer) : Native(ptr) {
companion object { companion object {
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphCache__1nAbandon") @ExternalSymbolName("org_jetbrains_skia_ParagraphCache__1nAbandon")
external fun _nAbandon(ptr: Long) external fun _nAbandon(ptr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphCache__1nReset") @ExternalSymbolName("org_jetbrains_skia_ParagraphCache__1nReset")
external fun _nReset(ptr: Long) external fun _nReset(ptr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphCache__1nUpdateParagraph") @ExternalSymbolName("org_jetbrains_skia_ParagraphCache__1nUpdateParagraph")
external fun _nUpdateParagraph(ptr: Long, paragraphPtr: Long): Boolean external fun _nUpdateParagraph(ptr: NativePointer, paragraphPtr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphCache__1nFindParagraph") @ExternalSymbolName("org_jetbrains_skia_ParagraphCache__1nFindParagraph")
external fun _nFindParagraph(ptr: Long, paragraphPtr: Long): Boolean external fun _nFindParagraph(ptr: NativePointer, paragraphPtr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphCache__1nPrintStatistics") @ExternalSymbolName("org_jetbrains_skia_ParagraphCache__1nPrintStatistics")
external fun _nPrintStatistics(ptr: Long) external fun _nPrintStatistics(ptr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphCache__1nSetEnabled") @ExternalSymbolName("org_jetbrains_skia_ParagraphCache__1nSetEnabled")
external fun _nSetEnabled(ptr: Long, value: Boolean) external fun _nSetEnabled(ptr: NativePointer, value: Boolean)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphCache__1nGetCount") @ExternalSymbolName("org_jetbrains_skia_ParagraphCache__1nGetCount")
external fun _nGetCount(ptr: Long): Int external fun _nGetCount(ptr: NativePointer): Int
init { init {
staticLoad() staticLoad()
...@@ -111,7 +113,7 @@ class ParagraphCache internal constructor(owner: FontCollection, ptr: Long) : Na ...@@ -111,7 +113,7 @@ class ParagraphCache internal constructor(owner: FontCollection, ptr: Long) : Na
internal val _owner: FontCollection internal val _owner: FontCollection
internal fun _validate() { internal fun _validate() {
try { try {
check(Native.getPtr(_owner) != 0L) { "ParagraphCache needs owning FontCollection to be alive" } check(getPtr(_owner) != NullPointer) { "ParagraphCache needs owning FontCollection to be alive" }
} finally { } finally {
reachabilityBarrier(_owner) reachabilityBarrier(_owner)
} }
......
...@@ -7,76 +7,78 @@ import org.jetbrains.skia.impl.Native ...@@ -7,76 +7,78 @@ import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class ParagraphStyle : Managed(_nMake(), _FinalizerHolder.PTR) { class ParagraphStyle : Managed(_nMake(), _FinalizerHolder.PTR) {
companion object { companion object {
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetFinalizer") @ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetFinalizer")
external fun _nGetFinalizer(): Long external fun _nGetFinalizer(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nMake") @ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nMake")
external fun _nMake(): Long external fun _nMake(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nEquals") @ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nEquals")
external fun _nEquals(ptr: Long, otherPtr: Long): Boolean external fun _nEquals(ptr: NativePointer, otherPtr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetStrutStyle") @ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetStrutStyle")
external fun _nGetStrutStyle(ptr: Long): Long external fun _nGetStrutStyle(ptr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nSetStrutStyle") @ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nSetStrutStyle")
external fun _nSetStrutStyle(ptr: Long, stylePtr: Long) external fun _nSetStrutStyle(ptr: NativePointer, stylePtr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetTextStyle") @ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetTextStyle")
external fun _nGetTextStyle(ptr: Long): Long external fun _nGetTextStyle(ptr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nSetTextStyle") @ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nSetTextStyle")
external fun _nSetTextStyle(ptr: Long, textStylePtr: Long) external fun _nSetTextStyle(ptr: NativePointer, textStylePtr: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetDirection") @ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetDirection")
external fun _nGetDirection(ptr: Long): Int external fun _nGetDirection(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nSetDirection") @ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nSetDirection")
external fun _nSetDirection(ptr: Long, direction: Int) external fun _nSetDirection(ptr: NativePointer, direction: Int)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetAlignment") @ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetAlignment")
external fun _nGetAlignment(ptr: Long): Int external fun _nGetAlignment(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nSetAlignment") @ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nSetAlignment")
external fun _nSetAlignment(ptr: Long, align: Int) external fun _nSetAlignment(ptr: NativePointer, align: Int)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetMaxLinesCount") @ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetMaxLinesCount")
external fun _nGetMaxLinesCount(ptr: Long): Long external fun _nGetMaxLinesCount(ptr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nSetMaxLinesCount") @ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nSetMaxLinesCount")
external fun _nSetMaxLinesCount(ptr: Long, maxLines: Long) external fun _nSetMaxLinesCount(ptr: NativePointer, maxLines: NativePointer)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetEllipsis") @ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetEllipsis")
external fun _nGetEllipsis(ptr: Long): String external fun _nGetEllipsis(ptr: NativePointer): String
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nSetEllipsis") @ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nSetEllipsis")
external fun _nSetEllipsis(ptr: Long, ellipsis: String?) external fun _nSetEllipsis(ptr: NativePointer, ellipsis: String?)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetHeight") @ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetHeight")
external fun _nGetHeight(ptr: Long): Float external fun _nGetHeight(ptr: NativePointer): Float
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nSetHeight") @ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nSetHeight")
external fun _nSetHeight(ptr: Long, height: Float) external fun _nSetHeight(ptr: NativePointer, height: Float)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetHeightMode") @ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetHeightMode")
external fun _nGetHeightMode(ptr: Long): Int external fun _nGetHeightMode(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nSetHeightMode") @ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nSetHeightMode")
external fun _nSetHeightMode(ptr: Long, v: Int) external fun _nSetHeightMode(ptr: NativePointer, v: Int)
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetEffectiveAlignment") @ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetEffectiveAlignment")
external fun _nGetEffectiveAlignment(ptr: Long): Int external fun _nGetEffectiveAlignment(ptr: NativePointer): Int
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nIsHintingEnabled") @ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nIsHintingEnabled")
external fun _nIsHintingEnabled(ptr: Long): Boolean external fun _nIsHintingEnabled(ptr: NativePointer): Boolean
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nDisableHinting") @ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nDisableHinting")
external fun _nDisableHinting(ptr: Long) external fun _nDisableHinting(ptr: NativePointer)
init { init {
staticLoad() staticLoad()
...@@ -169,7 +171,7 @@ class ParagraphStyle : Managed(_nMake(), _FinalizerHolder.PTR) { ...@@ -169,7 +171,7 @@ class ParagraphStyle : Managed(_nMake(), _FinalizerHolder.PTR) {
return this return this
} }
var maxLinesCount: Long var maxLinesCount: NativePointer
get() = try { get() = try {
Stats.onNativeCall() Stats.onNativeCall()
_nGetMaxLinesCount(_ptr) _nGetMaxLinesCount(_ptr)
...@@ -180,7 +182,7 @@ class ParagraphStyle : Managed(_nMake(), _FinalizerHolder.PTR) { ...@@ -180,7 +182,7 @@ class ParagraphStyle : Managed(_nMake(), _FinalizerHolder.PTR) {
setMaxLinesCount(value) setMaxLinesCount(value)
} }
fun setMaxLinesCount(count: Long): ParagraphStyle { fun setMaxLinesCount(count: NativePointer): ParagraphStyle {
Stats.onNativeCall() Stats.onNativeCall()
_nSetMaxLinesCount(_ptr, count) _nSetMaxLinesCount(_ptr, count)
return this return this
......
...@@ -7,16 +7,18 @@ import org.jetbrains.skia.FontMgr ...@@ -7,16 +7,18 @@ import org.jetbrains.skia.FontMgr
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class TypefaceFontProvider : FontMgr(_nMake()) { class TypefaceFontProvider : FontMgr(_nMake()) {
companion object { companion object {
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TypefaceFontProvider__1nMake") @ExternalSymbolName("org_jetbrains_skia_TypefaceFontProvider__1nMake")
external fun _nMake(): Long external fun _nMake(): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TypefaceFontProvider__1nRegisterTypeface") @ExternalSymbolName("org_jetbrains_skia_TypefaceFontProvider__1nRegisterTypeface")
external fun _nRegisterTypeface(ptr: Long, typefacePtr: Long, alias: String?): Long external fun _nRegisterTypeface(ptr: NativePointer, typefacePtr: NativePointer, alias: String?): NativePointer
init { init {
staticLoad() staticLoad()
......
...@@ -7,19 +7,21 @@ import org.jetbrains.skia.impl.Native ...@@ -7,19 +7,21 @@ import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class FontMgrRunIterator(text: ManagedString?, manageText: Boolean, font: Font?, opts: ShapingOptions) : class FontMgrRunIterator(text: ManagedString?, manageText: Boolean, font: Font?, opts: ShapingOptions) :
ManagedRunIterator<FontRun?>( ManagedRunIterator<FontRun?>(
_nMake(Native.getPtr(text), Native.getPtr(font), opts), text, manageText _nMake(getPtr(text), getPtr(font), opts), text, manageText
) { ) {
companion object { companion object {
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontMgrRunIterator__1nMake") @ExternalSymbolName("org_jetbrains_skia_FontMgrRunIterator__1nMake")
external fun _nMake(textPtr: Long, fontPtr: Long, opts: ShapingOptions?): Long external fun _nMake(textPtr: NativePointer, fontPtr: NativePointer, opts: ShapingOptions?): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontMgrRunIterator__1nGetCurrentFont") @ExternalSymbolName("org_jetbrains_skia_FontMgrRunIterator__1nGetCurrentFont")
external fun _nGetCurrentFont(ptr: Long): Long external fun _nGetCurrentFont(ptr: NativePointer): NativePointer
init { init {
staticLoad() staticLoad()
......
...@@ -2,12 +2,14 @@ package org.jetbrains.skia.shaper ...@@ -2,12 +2,14 @@ package org.jetbrains.skia.shaper
import org.jetbrains.skia.* import org.jetbrains.skia.*
import org.jetbrains.skia.impl.Native import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
class FontRun(internal val end: Int, internal val font: Font) { class FontRun(internal val end: Int, internal val font: Font) {
private fun _getFontPtr(): Long { private fun _getFontPtr(): NativePointer {
return try { return try {
Native.Companion.getPtr(font) getPtr(font)
} finally { } finally {
reachabilityBarrier(font) reachabilityBarrier(font)
} }
......
...@@ -6,6 +6,8 @@ import org.jetbrains.skia.ManagedString ...@@ -6,6 +6,8 @@ import org.jetbrains.skia.ManagedString
import org.jetbrains.skia.impl.Stats import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic import kotlin.jvm.JvmStatic
class HbIcuScriptRunIterator(text: ManagedString?, manageText: Boolean) : ManagedRunIterator<ScriptRun?>( class HbIcuScriptRunIterator(text: ManagedString?, manageText: Boolean) : ManagedRunIterator<ScriptRun?>(
...@@ -16,10 +18,10 @@ class HbIcuScriptRunIterator(text: ManagedString?, manageText: Boolean) : Manage ...@@ -16,10 +18,10 @@ class HbIcuScriptRunIterator(text: ManagedString?, manageText: Boolean) : Manage
companion object { companion object {
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_HbIcuScriptRunIterator__1nMake") @ExternalSymbolName("org_jetbrains_skia_HbIcuScriptRunIterator__1nMake")
external fun _nMake(textPtr: Long): Long external fun _nMake(textPtr: NativePointer): NativePointer
@JvmStatic @JvmStatic
@ExternalSymbolName("org_jetbrains_skia_HbIcuScriptRunIterator__1nGetCurrentScriptTag") @ExternalSymbolName("org_jetbrains_skia_HbIcuScriptRunIterator__1nGetCurrentScriptTag")
external fun _nGetCurrentScriptTag(ptr: Long): Int external fun _nGetCurrentScriptTag(ptr: NativePointer): Int
init { init {
staticLoad() staticLoad()
......
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