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
import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.Stats
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 {
fun makeGL(
width: Int,
......@@ -20,7 +21,7 @@ class BackendRenderTarget internal constructor(ptr: Long) : Managed(ptr, _Finali
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()
return BackendRenderTarget(_nMakeMetal(width, height, texturePtr))
}
......@@ -41,7 +42,7 @@ class BackendRenderTarget internal constructor(ptr: Long) : Managed(ptr, _Finali
fun makeDirect3D(
width: Int,
height: Int,
texturePtr: Long,
texturePtr: NativePointer,
format: Int,
sampleCnt: Int,
levelCnt: Int
......@@ -52,23 +53,23 @@ class BackendRenderTarget internal constructor(ptr: Long) : Managed(ptr, _Finali
@JvmStatic
@ExternalSymbolName("BackendRenderTarget_nGetFinalizer")
external fun _nGetFinalizer(): Long
external fun _nGetFinalizer(): NativePointer
@JvmStatic
@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
@ExternalSymbolName("BackendRenderTarget_nMakeMetal")
external fun _nMakeMetal(width: Int, height: Int, texturePtr: Long): Long
external fun _nMakeMetal(width: Int, height: Int, texturePtr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("BackendRenderTarget_nMakeDirect3D")
external fun _nMakeDirect3D(
width: Int,
height: Int,
texturePtr: Long,
texturePtr: NativePointer,
format: Int,
sampleCnt: Int,
levelCnt: Int
): Long
): NativePointer
init {
staticLoad()
......
......@@ -5,10 +5,11 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
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 {
fun makeFromImage(image: Image): Bitmap {
val bitmap = Bitmap()
......@@ -21,149 +22,149 @@ class Bitmap internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetFinalizer")
external fun _nGetFinalizer(): Long
external fun _nGetFinalizer(): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nMake")
external fun _nMake(): Long
external fun _nMake(): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nMakeClone")
external fun _nMakeClone(ptr: Long): Long
external fun _nMakeClone(ptr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nSwap")
external fun _nSwap(ptr: Long, otherPtr: Long)
external fun _nSwap(ptr: NativePointer, otherPtr: NativePointer)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetPixmap")
external fun _nGetPixmap(ptr: Long): Long
external fun _nGetPixmap(ptr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetImageInfo")
external fun _nGetImageInfo(ptr: Long): ImageInfo?
external fun _nGetImageInfo(ptr: NativePointer): ImageInfo?
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetRowBytesAsPixels")
external fun _nGetRowBytesAsPixels(ptr: Long): Int
external fun _nGetRowBytesAsPixels(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nIsNull")
external fun _nIsNull(ptr: Long): Boolean
external fun _nIsNull(ptr: NativePointer): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetRowBytes")
external fun _nGetRowBytes(ptr: Long): Long
external fun _nGetRowBytes(ptr: NativePointer): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nSetAlphaType")
external fun _nSetAlphaType(ptr: Long, alphaType: Int): Boolean
external fun _nSetAlphaType(ptr: NativePointer, alphaType: Int): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nComputeByteSize")
external fun _nComputeByteSize(ptr: Long): Long
external fun _nComputeByteSize(ptr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nIsImmutable")
external fun _nIsImmutable(ptr: Long): Boolean
external fun _nIsImmutable(ptr: NativePointer): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nSetImmutable")
external fun _nSetImmutable(ptr: Long)
external fun _nSetImmutable(ptr: NativePointer)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nIsVolatile")
external fun _nIsVolatile(ptr: Long): Boolean
external fun _nIsVolatile(ptr: NativePointer): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nSetVolatile")
external fun _nSetVolatile(ptr: Long, value: Boolean)
external fun _nSetVolatile(ptr: NativePointer, value: Boolean)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nReset")
external fun _nReset(ptr: Long)
external fun _nReset(ptr: NativePointer)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nComputeIsOpaque")
external fun _nComputeIsOpaque(ptr: Long): Boolean
external fun _nComputeIsOpaque(ptr: NativePointer): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nSetImageInfo")
external fun _nSetImageInfo(
ptr: Long,
ptr: NativePointer,
width: Int,
height: Int,
colorType: Int,
alphaType: Int,
colorSpacePtr: Long,
colorSpacePtr: NativePointer,
rowBytes: Long
): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nAllocPixelsFlags")
external fun _nAllocPixelsFlags(
ptr: Long,
ptr: NativePointer,
width: Int,
height: Int,
colorType: Int,
alphaType: Int,
colorSpacePtr: Long,
colorSpacePtr: NativePointer,
flags: Int
): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nAllocPixelsRowBytes")
external fun _nAllocPixelsRowBytes(
ptr: Long,
ptr: NativePointer,
width: Int,
height: Int,
colorType: Int,
alphaType: Int,
colorSpacePtr: Long,
colorSpacePtr: NativePointer,
rowBytes: Long
): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nInstallPixels")
external fun _nInstallPixels(
ptr: Long,
ptr: NativePointer,
width: Int,
height: Int,
colorType: Int,
alphaType: Int,
colorSpacePtr: Long,
colorSpacePtr: NativePointer,
pixels: ByteArray?,
rowBytes: Long
): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nAllocPixels")
external fun _nAllocPixels(ptr: Long): Boolean
external fun _nAllocPixels(ptr: NativePointer): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetPixelRef")
external fun _nGetPixelRef(ptr: Long): Long
external fun _nGetPixelRef(ptr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetPixelRefOrigin")
external fun _nGetPixelRefOrigin(ptr: Long): Long
external fun _nGetPixelRefOrigin(ptr: NativePointer): Long
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nIsReadyToDraw")
external fun _nIsReadyToDraw(ptr: Long): Boolean
external fun _nIsReadyToDraw(ptr: NativePointer): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetGenerationId")
external fun _nGetGenerationId(ptr: Long): Int
external fun _nGetGenerationId(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nNotifyPixelsChanged")
external fun _nNotifyPixelsChanged(ptr: Long)
external fun _nNotifyPixelsChanged(ptr: NativePointer)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nEraseColor")
external fun _nEraseColor(ptr: Long, color: Int)
external fun _nEraseColor(ptr: NativePointer, color: Int)
@JvmStatic
@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
@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
@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
@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
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nReadPixels")
external fun _nReadPixels(
ptr: Long,
ptr: NativePointer,
width: Int,
height: Int,
colorType: Int,
alphaType: Int,
colorSpacePtr: Long,
colorSpacePtr: NativePointer,
dstRowBytes: Long,
srcX: Int,
srcY: Int
......@@ -171,13 +172,13 @@ class Bitmap internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nPeekPixels")
external fun _nPeekPixels(ptr: Long): ByteBuffer?
external fun _nPeekPixels(ptr: NativePointer): ByteBuffer?
@JvmStatic
@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 {
staticLoad()
......@@ -354,7 +355,7 @@ class Bitmap internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR
*
* @return size in bytes of image buffer
*/
fun computeByteSize(): Long {
fun computeByteSize(): NativePointer {
return try {
Stats.onNativeCall()
_nComputeByteSize(_ptr)
......@@ -772,7 +773,7 @@ class Bitmap internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR
get() = try {
Stats.onNativeCall()
val res = _nGetPixelRef(_ptr)
if (res == 0L) null else PixelRef(res)
if (res == NullPointer) null else PixelRef(res)
} finally {
reachabilityBarrier(this)
}
......@@ -798,7 +799,7 @@ class Bitmap internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR
get() = try {
Stats.onNativeCall()
val res = _nGetPixelRefOrigin(_ptr)
IPoint((res and -0x1).toInt(), (res ushr 32).toInt())
toIPoint(res)
} finally {
reachabilityBarrier(this)
}
......
......@@ -6,6 +6,8 @@ import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats
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
/**
......@@ -192,7 +194,7 @@ import kotlin.jvm.JvmStatic
* with punctuation or other non-word characters.
</blockquote> *
*/
class BreakIterator internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) {
class BreakIterator internal constructor(ptr: NativePointer) : Managed(ptr, _FinalizerHolder.PTR) {
companion object {
/**
* DONE is returned by previous() and next() after all valid
......@@ -294,46 +296,46 @@ class BreakIterator internal constructor(ptr: Long) : Managed(ptr, _FinalizerHol
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nGetFinalizer")
external fun _nGetFinalizer(): Long
external fun _nGetFinalizer(): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nMake")
external fun _nMake(type: Int, locale: String?): Long
external fun _nMake(type: Int, locale: String?): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nClone")
external fun _nClone(ptr: Long): Long
external fun _nClone(ptr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nCurrent")
external fun _nCurrent(ptr: Long): Int
external fun _nCurrent(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nNext")
external fun _nNext(ptr: Long): Int
external fun _nNext(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nPrevious")
external fun _nPrevious(ptr: Long): Int
external fun _nPrevious(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nFirst")
external fun _nFirst(ptr: Long): Int
external fun _nFirst(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nLast")
external fun _nLast(ptr: Long): Int
external fun _nLast(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nPreceding")
external fun _nPreceding(ptr: Long, offset: Int): Int
external fun _nPreceding(ptr: NativePointer, offset: Int): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nFollowing")
external fun _nFollowing(ptr: Long, offset: Int): Int
external fun _nFollowing(ptr: NativePointer, offset: Int): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nIsBoundary")
external fun _nIsBoundary(ptr: Long, offset: Int): Boolean
external fun _nIsBoundary(ptr: NativePointer, offset: Int): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nGetRuleStatus")
external fun _nGetRuleStatus(ptr: Long): Int
external fun _nGetRuleStatus(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nGetRuleStatuses")
external fun _nGetRuleStatuses(ptr: Long): IntArray
external fun _nGetRuleStatuses(ptr: NativePointer): IntArray
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BreakIterator__1nSetText")
external fun _nSetText(ptr: Long, textPtr: Long)
external fun _nSetText(ptr: NativePointer, textPtr: NativePointer)
init {
staticLoad()
......
......@@ -8,30 +8,32 @@ import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.impl.use
import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
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) {
companion object {
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nGetFinalizer")
external fun _nGetFinalizer(): Long
external fun _nGetFinalizer(): NativePointer
@JvmStatic
@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
@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
@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
@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
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawArc")
external fun _nDrawArc(
ptr: Long,
ptr: NativePointer,
left: Float,
top: Float,
right: Float,
......@@ -39,31 +41,31 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val
startAngle: Float,
sweepAngle: Float,
includeCenter: Boolean,
paintPtr: Long
paintPtr: NativePointer
)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawRect")
external fun _nDrawRect(ptr: Long, left: Float, top: Float, right: Float, bottom: Float, paintPtr: Long)
external fun _nDrawRect(ptr: NativePointer, left: Float, top: Float, right: Float, bottom: Float, paintPtr: NativePointer)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawOval")
external fun _nDrawOval(ptr: Long, left: Float, top: Float, right: Float, bottom: Float, paint: Long)
external fun _nDrawOval(ptr: NativePointer, left: Float, top: Float, right: Float, bottom: Float, paint: NativePointer)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawRRect")
external fun _nDrawRRect(
ptr: Long,
ptr: NativePointer,
left: Float,
top: Float,
right: Float,
bottom: Float,
radii: FloatArray?,
paintPtr: Long
paintPtr: NativePointer
)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawDRRect")
external fun _nDrawDRRect(
ptr: Long,
ptr: NativePointer,
ol: Float,
ot: Float,
or: Float,
......@@ -74,17 +76,17 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val
ir: Float,
ib: Float,
iradii: FloatArray?,
paintPtr: Long
paintPtr: NativePointer
)
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawImageRect")
external fun _nDrawImageRect(
ptr: Long,
nativeImage: Long,
ptr: NativePointer,
nativeImage: NativePointer,
sl: Float,
st: Float,
sr: Float,
......@@ -94,15 +96,15 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val
dr: Float,
db: Float,
samplingMode: Long,
paintPtr: Long,
paintPtr: NativePointer,
strict: Boolean
)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawImageNine")
external fun _nDrawImageNine(
ptr: Long,
nativeImage: Long,
ptr: NativePointer,
nativeImage: NativePointer,
cl: Int,
ct: Int,
cr: Int,
......@@ -112,67 +114,67 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val
dr: Float,
db: Float,
filterMode: Int,
paintPtr: Long
paintPtr: NativePointer
)
@JvmStatic
@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
@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
@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
@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
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawVertices")
external fun _nDrawVertices(
ptr: Long,
ptr: NativePointer,
verticesMode: Int,
cubics: FloatArray?,
colors: IntArray?,
texCoords: FloatArray?,
indices: ShortArray?,
blendMode: Int,
paintPtr: Long
paintPtr: NativePointer
)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawPatch")
external fun _nDrawPatch(
ptr: Long,
ptr: NativePointer,
cubics: FloatArray?,
colors: IntArray?,
texCoords: FloatArray?,
blendMode: Int,
paintPtr: Long
paintPtr: NativePointer
)
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nClear")
external fun _nClear(ptr: Long, color: Int)
external fun _nClear(ptr: NativePointer, color: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawPaint")
external fun _nDrawPaint(ptr: Long, paintPtr: Long)
external fun _nDrawPaint(ptr: NativePointer, paintPtr: NativePointer)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nSetMatrix")
external fun _nSetMatrix(ptr: Long, matrix: FloatArray?)
external fun _nSetMatrix(ptr: NativePointer, matrix: FloatArray?)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nGetLocalToDevice")
external fun _nGetLocalToDevice(ptr: Long): FloatArray
external fun _nGetLocalToDevice(ptr: NativePointer): FloatArray
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nResetMatrix")
external fun _nResetMatrix(ptr: Long)
external fun _nResetMatrix(ptr: NativePointer)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nClipRect")
external fun _nClipRect(
ptr: Long,
ptr: NativePointer,
left: Float,
top: Float,
right: Float,
......@@ -184,7 +186,7 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nClipRRect")
external fun _nClipRRect(
ptr: Long,
ptr: NativePointer,
left: Float,
top: Float,
right: Float,
......@@ -196,48 +198,48 @@ open class Canvas internal constructor(ptr: Long, managed: Boolean, internal val
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nClipPath")
external fun _nClipPath(ptr: Long, nativePath: Long, mode: Int, antiAlias: Boolean)
external fun _nClipPath(ptr: NativePointer, nativePath: NativePointer, mode: Int, antiAlias: Boolean)
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nConcat")
external fun _nConcat(ptr: Long, matrix: FloatArray?)
external fun _nConcat(ptr: NativePointer, matrix: FloatArray?)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nConcat44")
external fun _nConcat44(ptr: Long, matrix: FloatArray?)
external fun _nConcat44(ptr: NativePointer, matrix: FloatArray?)
@JvmStatic
@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
@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
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nSave")
external fun _nSave(ptr: Long): Int
external fun _nSave(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nSaveLayer")
external fun _nSaveLayer(ptr: Long, paintPtr: Long): Int
external fun _nSaveLayer(ptr: NativePointer, paintPtr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nSaveLayerRect")
external fun _nSaveLayerRect(
ptr: Long,
ptr: NativePointer,
left: Float,
top: Float,
right: Float,
bottom: Float,
paintPtr: Long
paintPtr: NativePointer
): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nGetSaveCount")
external fun _nGetSaveCount(ptr: Long): Int
external fun _nGetSaveCount(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nRestore")
external fun _nRestore(ptr: Long)
external fun _nRestore(ptr: NativePointer)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nRestoreToCount")
external fun _nRestoreToCount(ptr: Long, saveCount: Int)
external fun _nRestoreToCount(ptr: NativePointer, saveCount: Int)
init {
staticLoad()
......
......@@ -5,10 +5,11 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
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 {
/**
* 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)
Stats.onNativeCall()
val ptr =
_nMakeFromData(getPtr(data))
require(ptr != 0L) { "Unsupported format" }
require(ptr != NullPointer) { "Unsupported format" }
Codec(ptr)
} finally {
reachabilityBarrier(data)
......@@ -42,37 +43,37 @@ class Codec internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Codec__1nGetFinalizer")
external fun _nGetFinalizer(): Long
external fun _nGetFinalizer(): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Codec__1nMakeFromData")
external fun _nMakeFromData(dataPtr: Long): Long
external fun _nMakeFromData(dataPtr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Codec__1nGetImageInfo")
external fun _nGetImageInfo(ptr: Long): ImageInfo?
external fun _nGetImageInfo(ptr: NativePointer): ImageInfo?
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Codec__1nGetSize")
external fun _nGetSize(ptr: Long): Long
external fun _nGetSize(ptr: NativePointer): Long
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Codec__1nGetEncodedOrigin")
external fun _nGetEncodedOrigin(ptr: Long): Int
external fun _nGetEncodedOrigin(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Codec__1nGetEncodedImageFormat")
external fun _nGetEncodedImageFormat(ptr: Long): Int
external fun _nGetEncodedImageFormat(ptr: NativePointer): Int
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_Codec__1nGetFrameCount")
external fun _nGetFrameCount(ptr: Long): Int
external fun _nGetFrameCount(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Codec__1nGetFrameInfo")
external fun _nGetFrameInfo(ptr: Long, frame: Int): AnimationFrameInfo
external fun _nGetFrameInfo(ptr: NativePointer, frame: Int): AnimationFrameInfo
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Codec__1nGetFramesInfo")
external fun _nGetFramesInfo(ptr: Long): Array<AnimationFrameInfo>
external fun _nGetFramesInfo(ptr: NativePointer): Array<AnimationFrameInfo>
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Codec__1nGetRepetitionCount")
external fun _nGetRepetitionCount(ptr: Long): Int
external fun _nGetRepetitionCount(ptr: NativePointer): Int
init {
staticLoad()
......@@ -94,7 +95,7 @@ class Codec internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR)
val size: IPoint
get() = try {
Stats.onNativeCall()
IPoint._makeFromLong(_nGetSize(_ptr))
toIPoint(_nGetSize(_ptr))
} finally {
reachabilityBarrier(this)
}
......
......@@ -6,6 +6,8 @@ import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats
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
class ColorFilter : RefCnt {
......@@ -83,43 +85,43 @@ class ColorFilter : RefCnt {
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nMakeComposed")
external fun _nMakeComposed(outer: Long, inner: Long): Long
external fun _nMakeComposed(outer: NativePointer, inner: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nMakeBlend")
external fun _nMakeBlend(color: Int, blendMode: Int): Long
external fun _nMakeBlend(color: Int, blendMode: Int): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nMakeMatrix")
external fun _nMakeMatrix(rowMajor: FloatArray?): Long
external fun _nMakeMatrix(rowMajor: FloatArray?): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nMakeHSLAMatrix")
external fun _nMakeHSLAMatrix(rowMajor: FloatArray?): Long
external fun _nMakeHSLAMatrix(rowMajor: FloatArray?): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nGetLinearToSRGBGamma")
external fun _nGetLinearToSRGBGamma(): Long
external fun _nGetLinearToSRGBGamma(): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nGetSRGBToLinearGamma")
external fun _nGetSRGBToLinearGamma(): Long
external fun _nGetSRGBToLinearGamma(): NativePointer
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nMakeLighting")
external fun _nMakeLighting(colorMul: Int, colorAdd: Int): Long
external fun _nMakeLighting(colorMul: Int, colorAdd: Int): NativePointer
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nMakeTable")
external fun _nMakeTable(table: ByteArray?): Long
external fun _nMakeTable(table: ByteArray?): NativePointer
@JvmStatic
@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
@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
@ExternalSymbolName("org_jetbrains_skia_ColorFilter__1nGetLuma")
external fun _nGetLuma(): Long
external fun _nGetLuma(): NativePointer
init {
staticLoad()
......@@ -129,7 +131,7 @@ class ColorFilter : RefCnt {
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
import org.jetbrains.skia.impl.Stats
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
class ColorSpace : Managed {
companion object {
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorSpace__1nGetFinalizer")
external fun _nGetFinalizer(): Long
external fun _nGetFinalizer(): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorSpace__1nMakeSRGB")
external fun _nMakeSRGB(): Long
external fun _nMakeSRGB(): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorSpace__1nMakeDisplayP3")
external fun _nMakeDisplayP3(): Long
external fun _nMakeDisplayP3(): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorSpace__1nMakeSRGBLinear")
external fun _nMakeSRGBLinear(): Long
external fun _nMakeSRGBLinear(): NativePointer
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_ColorSpace__1nIsGammaCloseToSRGB")
external fun _nIsGammaCloseToSRGB(ptr: Long): Boolean
external fun _nIsGammaCloseToSRGB(ptr: NativePointer): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorSpace__1nIsGammaLinear")
external fun _nIsGammaLinear(ptr: Long): Boolean
external fun _nIsGammaLinear(ptr: NativePointer): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ColorSpace__1nIsSRGB")
external fun _nIsSRGB(ptr: Long): Boolean
external fun _nIsSRGB(ptr: NativePointer): Boolean
init {
staticLoad()
......@@ -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
......
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
......@@ -23,9 +25,7 @@ package org.jetbrains.skia
*/
class CubicResampler(internal val b: Float, internal val c: Float) : SamplingMode {
override fun _pack(): Long {
return ((b.toBits().toULong() shl 32) or c.toBits().toULong()).toLong()
}
override fun _pack(): Long = ((b.toBits().toULong() shl 32) or c.toBits().toULong()).toLong()
override fun equals(o: Any?): Boolean {
if (o === this) return true
......@@ -51,4 +51,4 @@ class CubicResampler(internal val b: Float, internal val c: Float) : SamplingMod
override fun toString(): String {
return "CubicResampler(_B=$b, _C=$c)"
}
}
\ No newline at end of file
}
......@@ -4,16 +4,18 @@ package org.jetbrains.skia
import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.getPtr
import org.jetbrains.skia.impl.reachabilityBarrier
import kotlin.jvm.JvmStatic
/**
* 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 {
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()
return Data(_nMakeFromBytes(bytes, offset, length))
}
......@@ -38,31 +40,31 @@ class Data internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Data__1nGetFinalizer")
external fun _nGetFinalizer(): Long
external fun _nGetFinalizer(): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Data__1nSize")
external fun _nSize(ptr: Long): Long
external fun _nSize(ptr: NativePointer): Long
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_Data__1nEquals")
external fun _nEquals(ptr: Long, otherPtr: Long): Boolean
external fun _nEquals(ptr: NativePointer, otherPtr: NativePointer): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Data__1nToByteBuffer")
external fun _nToByteBuffer(ptr: Long): ByteBuffer
external fun _nToByteBuffer(ptr: NativePointer): ByteBuffer
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_Data__1nMakeFromFileName")
external fun _nMakeFromFileName(path: String?): Long
external fun _nMakeFromFileName(path: String?): NativePointer
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_Data__1nMakeEmpty")
external fun _nMakeEmpty(): Long
external fun _nMakeEmpty(): NativePointer
init {
staticLoad()
......
......@@ -6,16 +6,17 @@ import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import kotlin.jvm.JvmStatic
class DirectContext internal constructor(ptr: Long) : RefCnt(ptr) {
class DirectContext internal constructor(ptr: NativePointer) : RefCnt(ptr) {
companion object {
fun makeGL(): DirectContext {
Stats.onNativeCall()
return DirectContext(_nMakeGL())
}
fun makeMetal(devicePtr: Long, queuePtr: Long): DirectContext {
fun makeMetal(devicePtr: NativePointer, queuePtr: NativePointer): DirectContext {
Stats.onNativeCall()
return DirectContext(_nMakeMetal(devicePtr, queuePtr))
}
......@@ -33,32 +34,32 @@ class DirectContext internal constructor(ptr: Long) : RefCnt(ptr) {
* is created with provided device in devicePtr with
* 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()
return DirectContext(_nMakeDirect3D(adapterPtr, devicePtr, queuePtr))
}
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_DirectContext__1nMakeGL")
external fun _nMakeGL(): Long
external fun _nMakeGL(): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_DirectContext__1nMakeMetal")
external fun _nMakeMetal(devicePtr: Long, queuePtr: Long): Long
external fun _nMakeMetal(devicePtr: NativePointer, queuePtr: NativePointer): NativePointer
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_DirectContext__1nFlush")
external fun _nFlush(ptr: Long): Long
external fun _nFlush(ptr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_DirectContext__1nSubmit")
external fun _nSubmit(ptr: Long, syncCpu: Boolean): Long
external fun _nSubmit(ptr: NativePointer, syncCpu: Boolean): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_DirectContext__1nReset")
external fun _nReset(ptr: Long, flags: Int)
external fun _nReset(ptr: NativePointer, flags: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_DirectContext__1nAbandon")
external fun _nAbandon(ptr: Long)
external fun _nAbandon(ptr: NativePointer)
init {
staticLoad()
......
......@@ -6,6 +6,8 @@ import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats
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
/**
......@@ -21,19 +23,19 @@ abstract class Drawable : RefCnt(_nMake()) {
companion object {
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Drawable__1nMake")
external fun _nMake(): Long
external fun _nMake(): NativePointer
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_Drawable__1nMakePictureSnapshot")
external fun _nMakePictureSnapshot(ptr: Long): Long
external fun _nMakePictureSnapshot(ptr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Drawable__1nGetGenerationId")
external fun _nGetGenerationId(ptr: Long): Int
external fun _nGetGenerationId(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Drawable__1nNotifyDrawingChanged")
external fun _nNotifyDrawingChanged(ptr: Long)
external fun _nNotifyDrawingChanged(ptr: NativePointer)
init {
staticLoad()
......@@ -130,12 +132,12 @@ abstract class Drawable : RefCnt(_nMake()) {
abstract fun onDraw(canvas: Canvas?)
abstract fun onGetBounds(): Rect
fun _onDraw(canvasPtr: Long) {
fun _onDraw(canvasPtr: NativePointer) {
onDraw(Canvas(canvasPtr, false, this))
}
@ExternalSymbolName("org_jetbrains_skia_Drawable__1nInit")
external fun _nInit(ptr: Long)
external fun _nInit(ptr: NativePointer)
init {
Stats.onNativeCall()
......
package org.jetbrains.skia
import org.jetbrains.skia.impl.NativePointer
class FilterMipmap constructor(
internal val filterMode: FilterMode,
internal val mipmapMode: MipmapMode = MipmapMode.NONE
) : SamplingMode {
override fun _pack(): Long {
return filterMode.ordinal.toLong() shl 32 or mipmapMode.ordinal.toLong()
}
override fun _pack() = filterMode.ordinal.toLong() shl 32 or mipmapMode.ordinal.toLong()
override fun equals(o: Any?): Boolean {
if (o === this) return true
......
......@@ -6,163 +6,164 @@ import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic
class Font : Managed {
companion object {
internal fun makeClone(ptr: Long): Font {
internal fun makeClone(ptr: NativePointer): Font {
Stats.onNativeCall()
return Font(_nMakeClone(ptr))
}
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetFinalizer")
external fun _nGetFinalizer(): Long
external fun _nGetFinalizer(): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nMakeDefault")
external fun _nMakeDefault(): Long
external fun _nMakeDefault(): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nMakeTypeface")
external fun _nMakeTypeface(typefacePtr: Long): Long
external fun _nMakeTypeface(typefacePtr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nMakeTypefaceSize")
external fun _nMakeTypefaceSize(typefacePtr: Long, size: Float): Long
external fun _nMakeTypefaceSize(typefacePtr: NativePointer, size: Float): NativePointer
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_Font__1nMakeClone")
external fun _nMakeClone(ptr: Long): Long
external fun _nMakeClone(ptr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nEquals")
external fun _nEquals(ptr: Long, otherPtr: Long): Boolean
external fun _nEquals(ptr: NativePointer, otherPtr: NativePointer): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nIsAutoHintingForced")
external fun _nIsAutoHintingForced(ptr: Long): Boolean
external fun _nIsAutoHintingForced(ptr: NativePointer): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nAreBitmapsEmbedded")
external fun _nAreBitmapsEmbedded(ptr: Long): Boolean
external fun _nAreBitmapsEmbedded(ptr: NativePointer): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nIsSubpixel")
external fun _nIsSubpixel(ptr: Long): Boolean
external fun _nIsSubpixel(ptr: NativePointer): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nAreMetricsLinear")
external fun _nAreMetricsLinear(ptr: Long): Boolean
external fun _nAreMetricsLinear(ptr: NativePointer): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nIsEmboldened")
external fun _nIsEmboldened(ptr: Long): Boolean
external fun _nIsEmboldened(ptr: NativePointer): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nIsBaselineSnapped")
external fun _nIsBaselineSnapped(ptr: Long): Boolean
external fun _nIsBaselineSnapped(ptr: NativePointer): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nSetAutoHintingForced")
external fun _nSetAutoHintingForced(ptr: Long, value: Boolean)
external fun _nSetAutoHintingForced(ptr: NativePointer, value: Boolean)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nSetBitmapsEmbedded")
external fun _nSetBitmapsEmbedded(ptr: Long, value: Boolean)
external fun _nSetBitmapsEmbedded(ptr: NativePointer, value: Boolean)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nSetSubpixel")
external fun _nSetSubpixel(ptr: Long, value: Boolean)
external fun _nSetSubpixel(ptr: NativePointer, value: Boolean)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nSetMetricsLinear")
external fun _nSetMetricsLinear(ptr: Long, value: Boolean)
external fun _nSetMetricsLinear(ptr: NativePointer, value: Boolean)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nSetEmboldened")
external fun _nSetEmboldened(ptr: Long, value: Boolean)
external fun _nSetEmboldened(ptr: NativePointer, value: Boolean)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nSetBaselineSnapped")
external fun _nSetBaselineSnapped(ptr: Long, value: Boolean)
external fun _nSetBaselineSnapped(ptr: NativePointer, value: Boolean)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetEdging")
external fun _nGetEdging(ptr: Long): Int
external fun _nGetEdging(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nSetEdging")
external fun _nSetEdging(ptr: Long, value: Int)
external fun _nSetEdging(ptr: NativePointer, value: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetHinting")
external fun _nGetHinting(ptr: Long): Int
external fun _nGetHinting(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nSetHinting")
external fun _nSetHinting(ptr: Long, value: Int)
external fun _nSetHinting(ptr: NativePointer, value: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetTypeface")
external fun _nGetTypeface(ptr: Long): Long
external fun _nGetTypeface(ptr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetTypefaceOrDefault")
external fun _nGetTypefaceOrDefault(ptr: Long): Long
external fun _nGetTypefaceOrDefault(ptr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetSize")
external fun _nGetSize(ptr: Long): Float
external fun _nGetSize(ptr: NativePointer): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetScaleX")
external fun _nGetScaleX(ptr: Long): Float
external fun _nGetScaleX(ptr: NativePointer): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetSkewX")
external fun _nGetSkewX(ptr: Long): Float
external fun _nGetSkewX(ptr: NativePointer): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nSetTypeface")
external fun _nSetTypeface(ptr: Long, typefacePtr: Long)
external fun _nSetTypeface(ptr: NativePointer, typefacePtr: NativePointer)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nSetSize")
external fun _nSetSize(ptr: Long, value: Float)
external fun _nSetSize(ptr: NativePointer, value: Float)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nSetScaleX")
external fun _nSetScaleX(ptr: Long, value: Float)
external fun _nSetScaleX(ptr: NativePointer, value: Float)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nSetSkewX")
external fun _nSetSkewX(ptr: Long, value: Float)
external fun _nSetSkewX(ptr: NativePointer, value: Float)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetStringGlyphs")
external fun _nGetStringGlyphs(ptr: Long, str: String?): ShortArray?
external fun _nGetStringGlyphs(ptr: NativePointer, str: String?): ShortArray?
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetUTF32Glyph")
external fun _nGetUTF32Glyph(ptr: Long, uni: Int): Short
external fun _nGetUTF32Glyph(ptr: NativePointer, uni: Int): Short
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetUTF32Glyphs")
external fun _nGetUTF32Glyphs(ptr: Long, uni: IntArray?): ShortArray
external fun _nGetUTF32Glyphs(ptr: NativePointer, uni: IntArray?): ShortArray
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetStringGlyphsCount")
external fun _nGetStringGlyphsCount(ptr: Long, str: String?): Int
external fun _nGetStringGlyphsCount(ptr: NativePointer, str: String?): Int
@JvmStatic
@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
@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
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetWidths")
external fun _nGetWidths(ptr: Long, glyphs: ShortArray?): FloatArray
external fun _nGetWidths(ptr: NativePointer, glyphs: ShortArray?): FloatArray
@JvmStatic
@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
@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
@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
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetPath")
external fun _nGetPath(ptr: Long, glyph: Short): Long
external fun _nGetPath(ptr: NativePointer, glyph: Short): NativePointer
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetMetrics")
external fun _nGetMetrics(ptr: Long): FontMetrics
external fun _nGetMetrics(ptr: NativePointer): FontMetrics
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetSpacing")
external fun _nGetSpacing(ptr: Long): Float
external fun _nGetSpacing(ptr: NativePointer): Float
init {
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
......@@ -430,7 +431,7 @@ class Font : Managed {
get() = try {
Stats.onNativeCall()
val ptr = _nGetTypeface(_ptr)
if (ptr == 0L) null else Typeface(ptr)
if (ptr == NullPointer) null else Typeface(ptr)
} finally {
reachabilityBarrier(this)
}
......@@ -696,7 +697,7 @@ class Font : Managed {
return try {
Stats.onNativeCall()
val ptr = _nGetPath(_ptr, glyph)
if (ptr == 0L) null else Path(ptr)
if (ptr == NullPointer) null else Path(ptr)
} finally {
reachabilityBarrier(this)
}
......
......@@ -5,41 +5,42 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic
open class FontMgr : RefCnt {
companion object {
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontMgr__1nGetFamiliesCount")
external fun _nGetFamiliesCount(ptr: Long): Int
external fun _nGetFamiliesCount(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontMgr__1nGetFamilyName")
external fun _nGetFamilyName(ptr: Long, index: Int): String
external fun _nGetFamilyName(ptr: NativePointer, index: Int): String
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontMgr__1nMakeStyleSet")
external fun _nMakeStyleSet(ptr: Long, index: Int): Long
external fun _nMakeStyleSet(ptr: NativePointer, index: Int): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontMgr__1nMatchFamily")
external fun _nMatchFamily(ptr: Long, familyName: String?): Long
external fun _nMatchFamily(ptr: NativePointer, familyName: String?): NativePointer
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_FontMgr__1nMatchFamilyStyleCharacter")
external fun _nMatchFamilyStyleCharacter(
ptr: Long,
ptr: NativePointer,
familyName: String?,
fontStyle: Int,
bcp47: Array<String?>?,
character: Int
): Long
): NativePointer
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_FontMgr__1nDefault")
external fun _nDefault(): Long
external fun _nDefault(): NativePointer
init {
staticLoad()
......@@ -69,7 +70,7 @@ open class FontMgr : RefCnt {
return try {
Stats.onNativeCall()
val ptr = _nMakeStyleSet(_ptr, index)
if (ptr == 0L) null else FontStyleSet(ptr)
if (ptr == NullPointer) null else FontStyleSet(ptr)
} finally {
reachabilityBarrier(this)
}
......@@ -111,7 +112,7 @@ open class FontMgr : RefCnt {
return try {
Stats.onNativeCall()
val ptr = _nMatchFamilyStyle(_ptr, familyName, style._value)
if (ptr == 0L) null else Typeface(ptr)
if (ptr == NullPointer) null else Typeface(ptr)
} finally {
reachabilityBarrier(this)
}
......@@ -149,7 +150,7 @@ open class FontMgr : RefCnt {
return try {
Stats.onNativeCall()
val ptr = _nMatchFamilyStyleCharacter(_ptr, familyName, style._value, bcp47, character)
if (ptr == 0L) null else Typeface(ptr)
if (ptr == NullPointer) null else Typeface(ptr)
} finally {
reachabilityBarrier(this)
}
......@@ -178,14 +179,14 @@ open class FontMgr : RefCnt {
Stats.onNativeCall()
val ptr =
_nMakeFromData(_ptr, getPtr(data), ttcIndex)
if (ptr == 0L) null else Typeface(ptr)
if (ptr == NullPointer) null else Typeface(ptr)
} finally {
reachabilityBarrier(this)
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
import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import kotlin.jvm.JvmStatic
class FontStyleSet internal constructor(ptr: Long) : RefCnt(ptr) {
class FontStyleSet internal constructor(ptr: NativePointer) : RefCnt(ptr) {
companion object {
fun makeEmpty(): FontStyleSet {
Stats.onNativeCall()
......@@ -17,22 +17,22 @@ class FontStyleSet internal constructor(ptr: Long) : RefCnt(ptr) {
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontStyleSet__1nMakeEmpty")
external fun _nMakeEmpty(): Long
external fun _nMakeEmpty(): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontStyleSet__1nCount")
external fun _nCount(ptr: Long): Int
external fun _nCount(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontStyleSet__1nGetStyle")
external fun _nGetStyle(ptr: Long, index: Int): Int
external fun _nGetStyle(ptr: NativePointer, index: Int): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontStyleSet__1nGetStyleName")
external fun _nGetStyleName(ptr: Long, index: Int): String
external fun _nGetStyleName(ptr: NativePointer, index: Int): String
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontStyleSet__1nGetTypeface")
external fun _nGetTypeface(ptr: Long, index: Int): Long
external fun _nGetTypeface(ptr: NativePointer, index: Int): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontStyleSet__1nMatchStyle")
external fun _nMatchStyle(ptr: Long, style: Int): Long
external fun _nMatchStyle(ptr: NativePointer, style: Int): NativePointer
init {
staticLoad()
......@@ -70,7 +70,7 @@ class FontStyleSet internal constructor(ptr: Long) : RefCnt(ptr) {
return try {
Stats.onNativeCall()
val ptr = _nGetTypeface(_ptr, index)
if (ptr == 0L) null else Typeface(ptr)
if (ptr == NullPointer) null else Typeface(ptr)
} finally {
reachabilityBarrier(this)
}
......@@ -80,7 +80,7 @@ class FontStyleSet internal constructor(ptr: Long) : RefCnt(ptr) {
return try {
Stats.onNativeCall()
val ptr = _nMatchStyle(_ptr, style._value)
if (ptr == 0L) null else Typeface(ptr)
if (ptr == NullPointer) null else Typeface(ptr)
} finally {
reachabilityBarrier(this)
}
......
package org.jetbrains.skia
import org.jetbrains.skia.impl.NativePointer
class IPoint(val x: Int, val y: Int) {
fun offset(dx: Int, dy: Int): IPoint {
......@@ -19,7 +21,7 @@ class IPoint(val x: Int, val y: Int) {
val other = o
if (!other.canEqual(this as Any)) 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 {
......@@ -40,8 +42,7 @@ class IPoint(val x: Int, val y: Int) {
companion object {
val ZERO = IPoint(0, 0)
internal fun _makeFromLong(l: Long): IPoint {
return IPoint((l ushr 32).toInt(), (l and -1).toInt())
}
}
}
\ No newline at end of file
}
fun toIPoint(p: Long): IPoint = IPoint((p ushr 32).toInt(), (p and -1).toInt())
package org.jetbrains.skia
import org.jetbrains.skia.impl.NativePointer
class IRange(val start: Int, val end: Int) {
......@@ -25,12 +27,6 @@ class IRange(val start: Int, val end: Int) {
}
override fun toString(): String {
return "IRange(_start=" + start + ", _end=" + end + ")"
}
companion object {
internal fun _makeFromLong(l: Long): IRange {
return IRange((l ushr 32).toInt(), (l and -1).toInt())
}
return "IRange(_start=$start, _end=$end)"
}
}
\ No newline at end of file
......@@ -5,10 +5,11 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic
class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo {
class Image internal constructor(ptr: NativePointer) : RefCnt(ptr), IHasImageInfo {
companion object {
/**
*
......@@ -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)
*/
fun makeRaster(imageInfo: ImageInfo, bytes: ByteArray, rowBytes: Long): Image {
fun makeRaster(imageInfo: ImageInfo, bytes: ByteArray, rowBytes: NativePointer): Image {
return try {
Stats.onNativeCall()
val ptr = _nMakeRaster(
......@@ -43,7 +44,7 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo {
bytes,
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)
} finally {
reachabilityBarrier(imageInfo.colorInfo.colorSpace)
......@@ -69,7 +70,7 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo {
* @param rowBytes how many bytes in a row
* @return Image
*/
fun makeRaster(imageInfo: ImageInfo, data: Data, rowBytes: Long): Image {
fun makeRaster(imageInfo: ImageInfo, data: Data, rowBytes: NativePointer): Image {
return try {
Stats.onNativeCall()
val ptr = _nMakeRasterData(
......@@ -81,7 +82,7 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo {
getPtr(data),
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)
} finally {
reachabilityBarrier(imageInfo.colorInfo.colorSpace)
......@@ -112,11 +113,10 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo {
*/
fun makeFromBitmap(bitmap: Bitmap): Image {
return try {
require(bitmap != null) { "Can’t makeFromBitmap with bitmap == null" }
Stats.onNativeCall()
val ptr =
_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)
} finally {
reachabilityBarrier(bitmap)
......@@ -125,11 +125,10 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo {
fun makeFromPixmap(pixmap: Pixmap): Image {
return try {
require(pixmap != null) { "Can’t makeFromPixmap with pixmap == null" }
Stats.onNativeCall()
val ptr =
_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)
} finally {
reachabilityBarrier(pixmap)
......@@ -139,7 +138,7 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo {
fun makeFromEncoded(bytes: ByteArray?): Image {
Stats.onNativeCall()
val ptr = _nMakeFromEncoded(bytes)
require(ptr != 0L) { "Failed to Image::makeFromEncoded" }
require(ptr != NullPointer) { "Failed to Image::makeFromEncoded" }
return Image(ptr)
}
......@@ -150,10 +149,10 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo {
height: Int,
colorType: Int,
alphaType: Int,
colorSpacePtr: Long,
colorSpacePtr: NativePointer,
pixels: ByteArray?,
rowBytes: Long
): Long
rowBytes: NativePointer
): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Image__1nMakeRasterData")
......@@ -162,44 +161,44 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo {
height: Int,
colorType: Int,
alphaType: Int,
colorSpacePtr: Long,
dataPtr: Long,
rowBytes: Long
): Long
colorSpacePtr: NativePointer,
dataPtr: NativePointer,
rowBytes: NativePointer
): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Image__1nMakeFromBitmap")
external fun _nMakeFromBitmap(bitmapPtr: Long): Long
external fun _nMakeFromBitmap(bitmapPtr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Image__1nMakeFromPixmap")
external fun _nMakeFromPixmap(pixmapPtr: Long): Long
external fun _nMakeFromPixmap(pixmapPtr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Image__1nMakeFromEncoded")
external fun _nMakeFromEncoded(bytes: ByteArray?): Long
external fun _nMakeFromEncoded(bytes: ByteArray?): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Image__1nGetImageInfo")
external fun _nGetImageInfo(ptr: Long): ImageInfo?
external fun _nGetImageInfo(ptr: NativePointer): ImageInfo?
@JvmStatic
@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
@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
@ExternalSymbolName("org_jetbrains_skia_Image__1nPeekPixels")
external fun _nPeekPixels(ptr: Long): ByteBuffer?
external fun _nPeekPixels(ptr: NativePointer): ByteBuffer?
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Image__1nPeekPixelsToPixmap")
external fun _nPeekPixelsToPixmap(ptr: Long, pixmapPtr: Long): Boolean
external fun _nPeekPixelsToPixmap(ptr: NativePointer, pixmapPtr: NativePointer): Boolean
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_Image__1nReadPixelsBitmap")
external fun _nReadPixelsBitmap(
ptr: Long,
contextPtr: Long,
bitmapPtr: Long,
ptr: NativePointer,
contextPtr: NativePointer,
bitmapPtr: NativePointer,
srcX: Int,
srcY: Int,
cache: Boolean
......@@ -207,7 +206,7 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo {
@JvmStatic
@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 {
staticLoad()
......@@ -270,7 +269,7 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo {
return try {
Stats.onNativeCall()
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 {
reachabilityBarrier(this)
}
......@@ -295,9 +294,6 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo {
localMatrix: Matrix33? = null
): Shader {
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()
Shader(
_nMakeShader(
......@@ -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 {
return try {
require(dst != null) { "Can’t readPixels with dst == null" }
_nReadPixelsBitmap(
_ptr,
getPtr(context),
......@@ -410,7 +405,6 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo {
fun readPixels(dst: Pixmap, srcX: Int, srcY: Int, cache: Boolean): Boolean {
return try {
require(dst != null) { "Can’t readPixels with dst == null" }
_nReadPixelsPixmap(
_ptr,
getPtr(dst),
......@@ -426,7 +420,6 @@ class Image internal constructor(ptr: Long) : RefCnt(ptr), IHasImageInfo {
fun scalePixels(dst: Pixmap, samplingMode: SamplingMode, cache: Boolean): Boolean {
return try {
require(dst != null) { "Can’t scalePixels with dst == null" }
_nScalePixels(
_ptr,
getPtr(dst),
......
......@@ -7,9 +7,11 @@ import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats
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
class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
class ImageFilter internal constructor(ptr: NativePointer) : RefCnt(ptr) {
companion object {
fun makeAlphaThreshold(
r: Region?,
......@@ -316,8 +318,7 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
fun makeMerge(filters: Array<ImageFilter?>, crop: IRect?): ImageFilter {
return try {
Stats.onNativeCall()
val filterPtrs = LongArray(filters.size)
filterPtrs.forEachIndexed { i: Int, _: Long -> getPtr(filters[i]) }
val filterPtrs = filters.map { getPtr(it) }.toTypedArray()
ImageFilter(_nMakeMerge(filterPtrs, crop))
} finally {
reachabilityBarrier(filters)
......@@ -611,12 +612,12 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeAlphaThreshold")
external fun _nMakeAlphaThreshold(
regionPtr: Long,
regionPtr: NativePointer,
innerMin: Float,
outerMax: Float,
input: Long,
input: NativePointer,
crop: IRect?
): Long
): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeArithmetic")
......@@ -626,33 +627,33 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
k3: Float,
k4: Float,
enforcePMColor: Boolean,
bg: Long,
fg: Long,
bg: NativePointer,
fg: NativePointer,
crop: IRect?
): Long
): NativePointer
@JvmStatic
@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
@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
@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
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeCompose")
external fun _nMakeCompose(outer: Long, inner: Long): Long
external fun _nMakeCompose(outer: NativePointer, inner: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeDisplacementMap")
external fun _nMakeDisplacementMap(
xChan: Int,
yChan: Int,
scale: Float,
displacement: Long,
color: Long,
displacement: NativePointer,
color: NativePointer,
crop: IRect?
): Long
): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeDropShadow")
......@@ -662,9 +663,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
sigmaX: Float,
sigmaY: Float,
color: Int,
input: Long,
input: NativePointer,
crop: IRect?
): Long
): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeDropShadowOnly")
......@@ -674,14 +675,14 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
sigmaX: Float,
sigmaY: Float,
color: Int,
input: Long,
input: NativePointer,
crop: IRect?
): Long
): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeImage")
external fun _nMakeImage(
image: Long,
image: NativePointer,
l0: Float,
t0: Float,
r0: Float,
......@@ -691,7 +692,7 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
r1: Float,
b1: Float,
samplingMode: Long
): Long
): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeMagnifier")
......@@ -701,9 +702,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
r: Float,
b: Float,
inset: Float,
input: Long,
input: NativePointer,
crop: IRect?
): Long
): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeMatrixConvolution")
......@@ -717,25 +718,25 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
offsetY: Int,
tileMode: Int,
convolveAlpha: Boolean,
input: Long,
input: NativePointer,
crop: IRect?
): Long
): NativePointer
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeMerge")
external fun _nMakeMerge(filters: LongArray?, crop: IRect?): Long
external fun _nMakeMerge(filters: Array<NativePointer>?, crop: IRect?): NativePointer
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakePaint")
external fun _nMakePaint(paint: Long, crop: IRect?): Long
external fun _nMakePaint(paint: NativePointer, crop: IRect?): NativePointer
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeTile")
external fun _nMakeTile(
......@@ -747,15 +748,15 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
t1: Float,
r1: Float,
b1: Float,
input: Long
): Long
input: NativePointer
): NativePointer
@JvmStatic
@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
@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
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeDistantLitDiffuse")
external fun _nMakeDistantLitDiffuse(
......@@ -765,9 +766,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
lightColor: Int,
surfaceScale: Float,
kd: Float,
input: Long,
input: NativePointer,
crop: IRect?
): Long
): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakePointLitDiffuse")
......@@ -778,9 +779,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
lightColor: Int,
surfaceScale: Float,
kd: Float,
input: Long,
input: NativePointer,
crop: IRect?
): Long
): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeSpotLitDiffuse")
......@@ -796,9 +797,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
lightColor: Int,
surfaceScale: Float,
kd: Float,
input: Long,
input: NativePointer,
crop: IRect?
): Long
): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeDistantLitSpecular")
......@@ -810,9 +811,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
surfaceScale: Float,
ks: Float,
shininess: Float,
input: Long,
input: NativePointer,
crop: IRect?
): Long
): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakePointLitSpecular")
......@@ -824,9 +825,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
surfaceScale: Float,
ks: Float,
shininess: Float,
input: Long,
input: NativePointer,
crop: IRect?
): Long
): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeSpotLitSpecular")
......@@ -843,9 +844,9 @@ class ImageFilter internal constructor(ptr: Long) : RefCnt(ptr) {
surfaceScale: Float,
ks: Float,
shininess: Float,
input: Long,
input: NativePointer,
crop: IRect?
): Long
): NativePointer
init {
staticLoad()
......
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
......@@ -32,14 +35,21 @@ class ImageInfo(val colorInfo: ColorInfo, val width: Int, val height: Int) {
) : 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,
height,
ColorType.values()[colorType],
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
get() = colorInfo.colorType
......@@ -119,12 +129,16 @@ class ImageInfo(val colorInfo: ColorInfo, val width: Int, val height: Int) {
get() = colorInfo.shiftPerPixel
/**
* 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.
* 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
*/
val minRowBytes: Long
get() = (width * bytesPerPixel).toLong()
fun isRowBytesValid(rowBytes: Long): Boolean {
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) {
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 {
if (o === this) return true
if (o !is ImageInfo) return false
......@@ -287,4 +289,4 @@ class ImageInfo(val colorInfo: ColorInfo, val width: Int, val height: Int) {
return ImageInfo(ColorInfo(ColorType.UNKNOWN, ColorAlphaType.UNKNOWN, null), width, height)
}
}
}
\ No newline at end of file
}
......@@ -6,31 +6,32 @@ import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
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 {
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ManagedString__1nMake")
external fun _nMake(s: String?): Long
external fun _nMake(s: String?): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ManagedString__1nGetFinalizer")
external fun _nGetFinalizer(): Long
external fun _nGetFinalizer(): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ManagedString__1nToString")
external fun _nToString(ptr: Long): String
external fun _nToString(ptr: NativePointer): String
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_ManagedString__1nAppend")
external fun _nAppend(ptr: Long, s: String?)
external fun _nAppend(ptr: NativePointer, s: String?)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ManagedString__1nRemoveSuffix")
external fun _nRemoveSuffix(ptr: Long, from: Int)
external fun _nRemoveSuffix(ptr: NativePointer, from: Int)
@JvmStatic
@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 {
staticLoad()
......
......@@ -6,9 +6,11 @@ import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats
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
class MaskFilter internal constructor(ptr: Long) : RefCnt(ptr) {
class MaskFilter internal constructor(ptr: NativePointer) : RefCnt(ptr) {
companion object {
fun makeBlur(mode: FilterBlurMode, sigma: Float, respectCTM: Boolean = true): MaskFilter {
Stats.onNativeCall()
......@@ -41,20 +43,20 @@ class MaskFilter internal constructor(ptr: Long) : RefCnt(ptr) {
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_MaskFilter__1nMakeShader")
external fun _nMakeShader(shaderPtr: Long): Long
external fun _nMakeShader(shaderPtr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_MaskFilter__1nMakeTable")
external fun _nMakeTable(table: ByteArray?): Long
external fun _nMakeTable(table: ByteArray?): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_MaskFilter__1nMakeGamma")
external fun _nMakeGamma(gamma: Float): Long
external fun _nMakeGamma(gamma: Float): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_MaskFilter__1nMakeClip")
external fun _nMakeClip(min: Byte, max: Byte): Long
external fun _nMakeClip(min: Byte, max: Byte): NativePointer
init {
staticLoad()
......
......@@ -4,16 +4,17 @@ package org.jetbrains.skia
import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import kotlin.jvm.JvmStatic
class OutputWStream(out: OutputStream?) : WStream(_nMake(out), _FinalizerHolder.PTR) {
companion object {
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_OutputWStream__1nGetFinalizer")
external fun _nGetFinalizer(): Long
external fun _nGetFinalizer(): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_OutputWStream__1nMake")
external fun _nMake(out: OutputStream?): Long
external fun _nMake(out: OutputStream?): NativePointer
init {
staticLoad()
......
......@@ -6,7 +6,8 @@ import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic
import kotlin.math.round
......@@ -14,127 +15,127 @@ class Paint : Managed {
companion object {
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetFinalizer")
external fun _nGetFinalizer(): Long
external fun _nGetFinalizer(): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nMake")
external fun _nMake(): Long
external fun _nMake(): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nMakeClone")
external fun _nMakeClone(ptr: Long): Long
external fun _nMakeClone(ptr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nEquals")
external fun _nEquals(ptr: Long, otherPtr: Long): Boolean
external fun _nEquals(ptr: NativePointer, otherPtr: NativePointer): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nReset")
external fun _nReset(ptr: Long)
external fun _nReset(ptr: NativePointer)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nIsAntiAlias")
external fun _nIsAntiAlias(ptr: Long): Boolean
external fun _nIsAntiAlias(ptr: NativePointer): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetAntiAlias")
external fun _nSetAntiAlias(ptr: Long, value: Boolean)
external fun _nSetAntiAlias(ptr: NativePointer, value: Boolean)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nIsDither")
external fun _nIsDither(ptr: Long): Boolean
external fun _nIsDither(ptr: NativePointer): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetDither")
external fun _nSetDither(ptr: Long, value: Boolean)
external fun _nSetDither(ptr: NativePointer, value: Boolean)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetMode")
external fun _nGetMode(ptr: Long): Int
external fun _nGetMode(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetMode")
external fun _nSetMode(ptr: Long, value: Int)
external fun _nSetMode(ptr: NativePointer, value: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetColor")
external fun _nGetColor(ptr: Long): Int
external fun _nGetColor(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetColor4f")
external fun _nGetColor4f(ptr: Long): Color4f
external fun _nGetColor4f(ptr: NativePointer): Color4f
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetColor")
external fun _nSetColor(ptr: Long, argb: Int)
external fun _nSetColor(ptr: NativePointer, argb: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetColor4f")
external fun _nSetColor4f(ptr: Long, r: Float, g: Float, b: Float, a: Float, colorSpacePtr: Long)
external fun _nSetColor4f(ptr: NativePointer, r: Float, g: Float, b: Float, a: Float, colorSpacePtr: NativePointer)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetStrokeWidth")
external fun _nGetStrokeWidth(ptr: Long): Float
external fun _nGetStrokeWidth(ptr: NativePointer): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetStrokeWidth")
external fun _nSetStrokeWidth(ptr: Long, value: Float)
external fun _nSetStrokeWidth(ptr: NativePointer, value: Float)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetStrokeMiter")
external fun _nGetStrokeMiter(ptr: Long): Float
external fun _nGetStrokeMiter(ptr: NativePointer): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetStrokeMiter")
external fun _nSetStrokeMiter(ptr: Long, value: Float)
external fun _nSetStrokeMiter(ptr: NativePointer, value: Float)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetStrokeCap")
external fun _nGetStrokeCap(ptr: Long): Int
external fun _nGetStrokeCap(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetStrokeCap")
external fun _nSetStrokeCap(ptr: Long, value: Int)
external fun _nSetStrokeCap(ptr: NativePointer, value: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetStrokeJoin")
external fun _nGetStrokeJoin(ptr: Long): Int
external fun _nGetStrokeJoin(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetStrokeJoin")
external fun _nSetStrokeJoin(ptr: Long, value: Int)
external fun _nSetStrokeJoin(ptr: NativePointer, value: Int)
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetFillPathCull")
external fun _nGetFillPathCull(
ptr: Long,
path: Long,
ptr: NativePointer,
path: NativePointer,
left: Float,
top: Float,
right: Float,
bottom: Float,
resScale: Float
): Long
): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetShader")
external fun _nGetShader(ptr: Long): Long
external fun _nGetShader(ptr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetShader")
external fun _nSetShader(ptr: Long, shaderPtr: Long)
external fun _nSetShader(ptr: NativePointer, shaderPtr: NativePointer)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetColorFilter")
external fun _nGetColorFilter(ptr: Long): Long
external fun _nGetColorFilter(ptr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetColorFilter")
external fun _nSetColorFilter(ptr: Long, colorFilterPtr: Long)
external fun _nSetColorFilter(ptr: NativePointer, colorFilterPtr: NativePointer)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetBlendMode")
external fun _nGetBlendMode(ptr: Long): Int
external fun _nGetBlendMode(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetBlendMode")
external fun _nSetBlendMode(ptr: Long, mode: Int)
external fun _nSetBlendMode(ptr: NativePointer, mode: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetPathEffect")
external fun _nGetPathEffect(ptr: Long): Long
external fun _nGetPathEffect(ptr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetPathEffect")
external fun _nSetPathEffect(ptr: Long, pathEffectPtr: Long)
external fun _nSetPathEffect(ptr: NativePointer, pathEffectPtr: NativePointer)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetMaskFilter")
external fun _nGetMaskFilter(ptr: Long): Long
external fun _nGetMaskFilter(ptr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetMaskFilter")
external fun _nSetMaskFilter(ptr: Long, filterPtr: Long)
external fun _nSetMaskFilter(ptr: NativePointer, filterPtr: NativePointer)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nGetImageFilter")
external fun _nGetImageFilter(ptr: Long): Long
external fun _nGetImageFilter(ptr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nSetImageFilter")
external fun _nSetImageFilter(ptr: Long, filterPtr: Long)
external fun _nSetImageFilter(ptr: NativePointer, filterPtr: NativePointer)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paint__1nHasNothingToDraw")
external fun _nHasNothingToDraw(ptr: Long): Boolean
external fun _nHasNothingToDraw(ptr: NativePointer): Boolean
init {
staticLoad()
......@@ -145,7 +146,7 @@ class Paint : Managed {
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.
......@@ -458,7 +459,7 @@ class Paint : Managed {
*/
fun setARGB(a: Int, r: Int, g: Int, b: Int): Paint {
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
}
......@@ -669,7 +670,7 @@ class Paint : Managed {
get() = try {
Stats.onNativeCall()
val shaderPtr = _nGetShader(_ptr)
if (shaderPtr == 0L) null else Shader(shaderPtr)
if (shaderPtr == NullPointer) null else Shader(shaderPtr)
} finally {
reachabilityBarrier(this)
}
......@@ -708,7 +709,7 @@ class Paint : Managed {
get() = try {
Stats.onNativeCall()
val colorFilterPtr = _nGetColorFilter(_ptr)
if (colorFilterPtr == 0L) null else ColorFilter(colorFilterPtr)
if (colorFilterPtr == NullPointer) null else ColorFilter(colorFilterPtr)
} finally {
reachabilityBarrier(this)
}
......@@ -787,7 +788,7 @@ class Paint : Managed {
get() = try {
Stats.onNativeCall()
val pathEffectPtr = _nGetPathEffect(_ptr)
if (pathEffectPtr == 0L) null else PathEffect(pathEffectPtr)
if (pathEffectPtr == NullPointer) null else PathEffect(pathEffectPtr)
} finally {
reachabilityBarrier(this)
}
......@@ -827,7 +828,7 @@ class Paint : Managed {
get() = try {
Stats.onNativeCall()
val maskFilterPtr = _nGetMaskFilter(_ptr)
if (maskFilterPtr == 0L) null else MaskFilter(maskFilterPtr)
if (maskFilterPtr == NullPointer) null else MaskFilter(maskFilterPtr)
} finally {
reachabilityBarrier(this)
}
......@@ -870,7 +871,7 @@ class Paint : Managed {
get() = try {
Stats.onNativeCall()
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 {
reachabilityBarrier(this)
}
......
......@@ -2,7 +2,9 @@
package org.jetbrains.skia
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.getPtr
import org.jetbrains.skia.impl.reachabilityBarrier
/**
......@@ -12,7 +14,7 @@ abstract class PaintFilterCanvas(canvas: Canvas, unrollDrawable: Boolean) :
Canvas(_nMake(getPtr(canvas), unrollDrawable), true, canvas) {
companion object {
@ExternalSymbolName("org_jetbrains_skia_PaintFilterCanvas__1nMake")
external fun _nMake(canvasPtr: Long, unrollDrawable: Boolean): Long
external fun _nMake(canvasPtr: NativePointer, unrollDrawable: Boolean): NativePointer
init {
staticLoad()
......@@ -29,13 +31,13 @@ abstract class PaintFilterCanvas(canvas: Canvas, unrollDrawable: Boolean) :
* Note: The base implementation calls onFilter() for top-level/explicit paints only.
*/
abstract fun onFilter(paint: Paint): Boolean
fun onFilter(paintPtr: Long): Boolean {
fun onFilter(paintPtr: NativePointer): Boolean {
val paint = Paint(paintPtr, false)
return onFilter(paint)
}
@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)
......
......@@ -6,7 +6,8 @@ import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic
/**
......@@ -33,11 +34,11 @@ import kotlin.jvm.JvmStatic
* Internally, Path lazily computes metrics likes bounds and convexity. Call
* [.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 {
fun makeFromSVGString(svg: String): Path {
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
)
}
......@@ -171,7 +172,7 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR),
getPtr(two),
op.ordinal
)
if (ptr == 0L) null else Path(ptr)
if (ptr == NullPointer) null else Path(ptr)
} finally {
reachabilityBarrier(one)
reachabilityBarrier(two)
......@@ -203,58 +204,58 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR),
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nGetFinalizer")
external fun _nGetFinalizer(): Long
external fun _nGetFinalizer(): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nMake")
external fun _nMake(): Long
external fun _nMake(): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nMakeFromSVGString")
external fun _nMakeFromSVGString(s: String?): Long
external fun _nMakeFromSVGString(s: String?): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nEquals")
external fun _nEquals(aPtr: Long, bPtr: Long): Boolean
external fun _nEquals(aPtr: NativePointer, bPtr: NativePointer): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nIsInterpolatable")
external fun _nIsInterpolatable(ptr: Long, comparePtr: Long): Boolean
external fun _nIsInterpolatable(ptr: NativePointer, comparePtr: NativePointer): Boolean
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_Path__1nGetFillMode")
external fun _nGetFillMode(ptr: Long): Int
external fun _nGetFillMode(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nSetFillMode")
external fun _nSetFillMode(ptr: Long, fillMode: Int)
external fun _nSetFillMode(ptr: NativePointer, fillMode: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nIsConvex")
external fun _nIsConvex(ptr: Long): Boolean
external fun _nIsConvex(ptr: NativePointer): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nIsOval")
external fun _nIsOval(ptr: Long): Rect
external fun _nIsOval(ptr: NativePointer): Rect
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nIsRRect")
external fun _nIsRRect(ptr: Long): RRect
external fun _nIsRRect(ptr: NativePointer): RRect
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nReset")
external fun _nReset(ptr: Long)
external fun _nReset(ptr: NativePointer)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nRewind")
external fun _nRewind(ptr: Long)
external fun _nRewind(ptr: NativePointer)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nIsEmpty")
external fun _nIsEmpty(ptr: Long): Boolean
external fun _nIsEmpty(ptr: NativePointer): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nIsLastContourClosed")
external fun _nIsLastContourClosed(ptr: Long): Boolean
external fun _nIsLastContourClosed(ptr: NativePointer): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nIsFinite")
external fun _nIsFinite(ptr: Long): Boolean
external fun _nIsFinite(ptr: NativePointer): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nIsVolatile")
external fun _nIsVolatile(ptr: Long): Boolean
external fun _nIsVolatile(ptr: NativePointer): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nSetVolatile")
external fun _nSetVolatile(ptr: Long, isVolatile: Boolean)
external fun _nSetVolatile(ptr: NativePointer, isVolatile: Boolean)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nIsLineDegenerate")
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),
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nMaybeGetAsLine")
external fun _nMaybeGetAsLine(ptr: Long): Array<Point>
external fun _nMaybeGetAsLine(ptr: NativePointer): Array<Point>
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nGetPointsCount")
external fun _nGetPointsCount(ptr: Long): Int
external fun _nGetPointsCount(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nGetPoint")
external fun _nGetPoint(ptr: Long, index: Int): Point
external fun _nGetPoint(ptr: NativePointer, index: Int): Point
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_Path__1nCountVerbs")
external fun _nCountVerbs(ptr: Long): Int
external fun _nCountVerbs(ptr: NativePointer): Int
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_Path__1nApproximateBytesUsed")
external fun _nApproximateBytesUsed(ptr: Long): Long
external fun _nApproximateBytesUsed(ptr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nSwap")
external fun _nSwap(ptr: Long, otherPtr: Long)
external fun _nSwap(ptr: NativePointer, otherPtr: NativePointer)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nGetBounds")
external fun _nGetBounds(ptr: Long): Rect
external fun _nGetBounds(ptr: NativePointer): Rect
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nUpdateBoundsCache")
external fun _nUpdateBoundsCache(ptr: Long)
external fun _nUpdateBoundsCache(ptr: NativePointer)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nComputeTightBounds")
external fun _nComputeTightBounds(ptr: Long): Rect
external fun _nComputeTightBounds(ptr: NativePointer): Rect
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_Path__1nIncReserve")
external fun _nIncReserve(ptr: Long, extraPtCount: Int)
external fun _nIncReserve(ptr: NativePointer, extraPtCount: Int)
@JvmStatic
@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
@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
@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
@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
@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
@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
@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
@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
@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
@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
@ExternalSymbolName("org_jetbrains_skia_Path__1nArcTo")
external fun _nArcTo(
ptr: Long,
ptr: NativePointer,
left: Float,
top: Float,
right: Float,
......@@ -368,11 +369,11 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR),
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_Path__1nEllipticalArcTo")
external fun _nEllipticalArcTo(
ptr: Long,
ptr: NativePointer,
rx: Float,
ry: Float,
xAxisRotate: Float,
......@@ -385,7 +386,7 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR),
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nREllipticalArcTo")
external fun _nREllipticalArcTo(
ptr: Long,
ptr: NativePointer,
rx: Float,
ry: Float,
xAxisRotate: Float,
......@@ -397,7 +398,7 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR),
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nClosePath")
external fun _nClosePath(ptr: Long)
external fun _nClosePath(ptr: NativePointer)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nConvertConicToQuads")
external fun _nConvertConicToQuads(
......@@ -413,23 +414,23 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR),
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nIsRect")
external fun _nIsRect(ptr: Long): Rect
external fun _nIsRect(ptr: NativePointer): Rect
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nAddRect")
external fun _nAddRect(ptr: Long, l: Float, t: Float, r: Float, b: Float, dir: Int, start: Int)
external fun _nAddRect(ptr: NativePointer, l: Float, t: Float, r: Float, b: Float, dir: Int, start: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nAddOval")
external fun _nAddOval(ptr: Long, l: Float, t: Float, r: Float, b: Float, dir: Int, start: Int)
external fun _nAddOval(ptr: NativePointer, l: Float, t: Float, r: Float, b: Float, dir: Int, start: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nAddCircle")
external fun _nAddCircle(ptr: Long, x: Float, y: Float, r: Float, dir: Int)
external fun _nAddCircle(ptr: NativePointer, x: Float, y: Float, r: Float, dir: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nAddArc")
external fun _nAddArc(ptr: Long, l: Float, t: Float, r: Float, b: Float, startAngle: Float, sweepAngle: Float)
external fun _nAddArc(ptr: NativePointer, l: Float, t: Float, r: Float, b: Float, startAngle: Float, sweepAngle: Float)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nAddRRect")
external fun _nAddRRect(
ptr: Long,
ptr: NativePointer,
l: Float,
t: Float,
r: Float,
......@@ -441,58 +442,58 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR),
@JvmStatic
@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
@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
@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
@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
@ExternalSymbolName("org_jetbrains_skia_Path__1nReverseAddPath")
external fun _nReverseAddPath(ptr: Long, srcPtr: Long)
external fun _nReverseAddPath(ptr: NativePointer, srcPtr: NativePointer)
@JvmStatic
@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
@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
@ExternalSymbolName("org_jetbrains_skia_Path__1nGetLastPt")
external fun _nGetLastPt(ptr: Long): Point
external fun _nGetLastPt(ptr: NativePointer): Point
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_Path__1nGetSegmentMasks")
external fun _nGetSegmentMasks(ptr: Long): Int
external fun _nGetSegmentMasks(ptr: NativePointer): Int
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_Path__1nDump")
external fun _nDump(ptr: Long)
external fun _nDump(ptr: NativePointer)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nDumpHex")
external fun _nDumpHex(ptr: Long)
external fun _nDumpHex(ptr: NativePointer)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nSerializeToBytes")
external fun _nSerializeToBytes(ptr: Long): ByteArray
external fun _nSerializeToBytes(ptr: NativePointer): ByteArray
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_Path__1nMakeFromBytes")
external fun _nMakeFromBytes(data: ByteArray?): Long
external fun _nMakeFromBytes(data: ByteArray?): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nGetGenerationId")
external fun _nGetGenerationId(ptr: Long): Int
external fun _nGetGenerationId(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Path__1nIsValid")
external fun _nIsValid(ptr: Long): Boolean
external fun _nIsValid(ptr: NativePointer): Boolean
init {
staticLoad()
......@@ -588,7 +589,7 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR),
getPtr(ending),
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)
} finally {
reachabilityBarrier(this)
......@@ -953,7 +954,7 @@ class Path internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR),
*
* @return approximate size
*/
val approximateBytesUsed: Long
val approximateBytesUsed: NativePointer
get() = try {
Stats.onNativeCall()
_nApproximateBytesUsed(_ptr)
......
......@@ -6,9 +6,11 @@ import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats
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
class PathEffect internal constructor(ptr: Long) : RefCnt(ptr) {
class PathEffect internal constructor(ptr: NativePointer) : RefCnt(ptr) {
companion object {
fun makePath1D(path: Path?, advance: Float, phase: Float, style: Style): PathEffect {
return try {
......@@ -62,28 +64,28 @@ class PathEffect internal constructor(ptr: Long) : RefCnt(ptr) {
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathEffect__1nMakeSum")
external fun _nMakeSum(firstPtr: Long, secondPtr: Long): Long
external fun _nMakeSum(firstPtr: NativePointer, secondPtr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathEffect__1nMakeCompose")
external fun _nMakeCompose(outerPtr: Long, innerPtr: Long): Long
external fun _nMakeCompose(outerPtr: NativePointer, innerPtr: NativePointer): NativePointer
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_PathEffect__1nMakePath2D")
external fun _nMakePath2D(matrix: FloatArray?, pathPtr: Long): Long
external fun _nMakePath2D(matrix: FloatArray?, pathPtr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathEffect__1nMakeLine2D")
external fun _nMakeLine2D(width: Float, matrix: FloatArray?): Long
external fun _nMakeLine2D(width: Float, matrix: FloatArray?): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathEffect__1nMakeCorner")
external fun _nMakeCorner(radius: Float): Long
external fun _nMakeCorner(radius: Float): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathEffect__1nMakeDash")
external fun _nMakeDash(intervals: FloatArray?, phase: Float): Long
external fun _nMakeDash(intervals: FloatArray?, phase: Float): NativePointer
@JvmStatic
@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 {
staticLoad()
......
......@@ -6,53 +6,55 @@ import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats
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
class PathMeasure internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) {
class PathMeasure internal constructor(ptr: NativePointer) : Managed(ptr, _FinalizerHolder.PTR) {
companion object {
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nGetFinalizer")
external fun _nGetFinalizer(): Long
external fun _nGetFinalizer(): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nMake")
external fun _nMake(): Long
external fun _nMake(): NativePointer
@JvmStatic
@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
@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
@ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nGetLength")
external fun _nGetLength(ptr: Long): Float
external fun _nGetLength(ptr: NativePointer): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nGetPosition")
external fun _nGetPosition(ptr: Long, distance: Float): Point?
external fun _nGetPosition(ptr: NativePointer, distance: Float): Point?
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nGetTangent")
external fun _nGetTangent(ptr: Long, distance: Float): Point?
external fun _nGetTangent(ptr: NativePointer, distance: Float): Point?
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nGetRSXform")
external fun _nGetRSXform(ptr: Long, distance: Float): RSXform?
external fun _nGetRSXform(ptr: NativePointer, distance: Float): RSXform?
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nGetSegment")
external fun _nGetSegment(
ptr: Long,
ptr: NativePointer,
startD: Float,
endD: Float,
dstPtr: Long,
dstPtr: NativePointer,
startWithMoveTo: Boolean
): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nIsClosed")
external fun _nIsClosed(ptr: Long): Boolean
external fun _nIsClosed(ptr: NativePointer): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathMeasure__1nNextContour")
external fun _nNextContour(ptr: Long): Boolean
external fun _nNextContour(ptr: NativePointer): Boolean
init {
staticLoad()
......
......@@ -3,11 +3,13 @@ package org.jetbrains.skia
import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.getPtr
import org.jetbrains.skia.impl.reachabilityBarrier
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?> {
companion object {
fun make(path: Path?, forceClose: Boolean): PathSegmentIterator {
......@@ -24,13 +26,13 @@ class PathSegmentIterator internal constructor(val _path: Path?, ptr: Long) : Ma
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathSegmentIterator__1nMake")
external fun _nMake(pathPtr: Long, forceClose: Boolean): Long
external fun _nMake(pathPtr: NativePointer, forceClose: Boolean): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathSegmentIterator__1nGetFinalizer")
external fun _nGetFinalizer(): Long
external fun _nGetFinalizer(): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PathSegmentIterator__1nNext")
external fun _nNext(ptr: Long): PathSegment?
external fun _nNext(ptr: NativePointer): PathSegment?
init {
staticLoad()
......
......@@ -5,10 +5,11 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic
class Picture internal constructor(ptr: Long) : RefCnt(ptr) {
class Picture internal constructor(ptr: NativePointer) : RefCnt(ptr) {
companion object {
/**
* Recreates Picture that was serialized into data. Returns constructed Picture
......@@ -19,7 +20,7 @@ class Picture internal constructor(ptr: Long) : RefCnt(ptr) {
return try {
Stats.onNativeCall()
val ptr = _nMakeFromData(getPtr(data))
if (ptr == 0L) null else Picture(ptr)
if (ptr == NullPointer) null else Picture(ptr)
} finally {
reachabilityBarrier(data)
}
......@@ -47,38 +48,38 @@ class Picture internal constructor(ptr: Long) : RefCnt(ptr) {
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Picture__1nMakeFromData")
external fun _nMakeFromData(dataPtr: Long /*, SkDeserialProcs */): Long
external fun _nMakeFromData(dataPtr: NativePointer /*, SkDeserialProcs */): NativePointer
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_Picture__1nGetCullRect")
external fun _nGetCullRect(ptr: Long): Rect
external fun _nGetCullRect(ptr: NativePointer): Rect
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Picture__1nGetUniqueId")
external fun _nGetUniqueId(ptr: Long): Int
external fun _nGetUniqueId(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Picture__1nSerializeToData")
external fun _nSerializeToData(ptr: Long /*, SkSerialProcs */): Long
external fun _nSerializeToData(ptr: NativePointer /*, SkSerialProcs */): NativePointer
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_Picture__1nGetApproximateOpCount")
external fun _nGetApproximateOpCount(ptr: Long): Int
external fun _nGetApproximateOpCount(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Picture__1nGetApproximateBytesUsed")
external fun _nGetApproximateBytesUsed(ptr: Long): Long
external fun _nGetApproximateBytesUsed(ptr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Picture__1nMakeShader")
external fun _nMakeShader(
ptr: Long,
ptr: NativePointer,
tmx: Int,
tmy: Int,
filterMode: Int,
localMatrix: FloatArray?,
tileRect: Rect?
): Long
): NativePointer
init {
staticLoad()
......@@ -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)
*/
val approximateBytesUsed: Long
val approximateBytesUsed: NativePointer
get() = try {
Stats.onNativeCall()
_nGetApproximateBytesUsed(_ptr)
......
......@@ -5,10 +5,10 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
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 {
// TODO
/**
......@@ -29,32 +29,32 @@ class PictureRecorder internal constructor(ptr: Long) : Managed(ptr, _FinalizerH
// }
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PictureRecorder__1nMake")
external fun _nMake(): Long
external fun _nMake(): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PictureRecorder__1nGetFinalizer")
external fun _nGetFinalizer(): Long
external fun _nGetFinalizer(): NativePointer
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_PictureRecorder__1nGetRecordingCanvas")
external fun _nGetRecordingCanvas(ptr: Long): Long
external fun _nGetRecordingCanvas(ptr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PictureRecorder__1nFinishRecordingAsPicture")
external fun _nFinishRecordingAsPicture(ptr: Long): Long
external fun _nFinishRecordingAsPicture(ptr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PictureRecorder__1nFinishRecordingAsPictureWithCull")
external fun _nFinishRecordingAsPictureWithCull(
ptr: Long,
ptr: NativePointer,
left: Float,
top: Float,
right: Float,
bottom: Float
): Long
): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PictureRecorder__1nFinishRecordingAsDrawable")
external fun _nFinishRecordingAsDrawable(ptr: Long): Long
external fun _nFinishRecordingAsDrawable(ptr: NativePointer): NativePointer
init {
staticLoad()
......@@ -100,7 +100,7 @@ class PictureRecorder internal constructor(ptr: Long) : Managed(ptr, _FinalizerH
get() = try {
Stats.onNativeCall()
val ptr = _nGetRecordingCanvas(_ptr)
if (ptr == 0L) null else Canvas(ptr, false, this)
if (ptr == NullPointer) null else Canvas(ptr, false, this)
} finally {
reachabilityBarrier(this)
}
......
......@@ -6,31 +6,32 @@ import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import kotlin.jvm.JvmStatic
class PixelRef internal constructor(ptr: Long) : RefCnt(ptr) {
class PixelRef internal constructor(ptr: NativePointer) : RefCnt(ptr) {
companion object {
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PixelRef__1nGetWidth")
external fun _nGetWidth(ptr: Long): Int
external fun _nGetWidth(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PixelRef__1nGetHeight")
external fun _nGetHeight(ptr: Long): Int
external fun _nGetHeight(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PixelRef__1nGetRowBytes")
external fun _nGetRowBytes(ptr: Long): Long
external fun _nGetRowBytes(ptr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PixelRef__1nGetGenerationId")
external fun _nGetGenerationId(ptr: Long): Int
external fun _nGetGenerationId(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PixelRef__1nNotifyPixelsChanged")
external fun _nNotifyPixelsChanged(ptr: Long)
external fun _nNotifyPixelsChanged(ptr: NativePointer)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PixelRef__1nIsImmutable")
external fun _nIsImmutable(ptr: Long): Boolean
external fun _nIsImmutable(ptr: NativePointer): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_PixelRef__1nSetImmutable")
external fun _nSetImmutable(ptr: Long)
external fun _nSetImmutable(ptr: NativePointer)
init {
staticLoad()
......@@ -51,7 +52,7 @@ class PixelRef internal constructor(ptr: Long) : RefCnt(ptr) {
} finally {
reachabilityBarrier(this)
}
val rowBytes: Long
val rowBytes: NativePointer
get() = try {
Stats.onNativeCall()
_nGetRowBytes(_ptr)
......
......@@ -2,10 +2,9 @@
package org.jetbrains.skia
import org.jetbrains.skia.impl.*
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
class Pixmap internal constructor(ptr: Long, managed: Boolean) :
class Pixmap internal constructor(ptr: NativePointer, managed: Boolean) :
Managed(ptr, _FinalizerHolder.PTR, managed) {
constructor() : this(_nMakeNull(), true) {
Stats.onNativeCall()
......@@ -17,7 +16,7 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) :
reachabilityBarrier(this)
}
fun reset(info: ImageInfo, addr: Long, rowBytes: Int) {
fun reset(info: ImageInfo, addr: NativePointer, rowBytes: Int) {
Stats.onNativeCall()
_nResetWithInfo(
_ptr,
......@@ -41,7 +40,7 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) :
reachabilityBarrier(colorSpace)
}
fun extractSubset(subsetPtr: Long, area: IRect): Boolean {
fun extractSubset(subsetPtr: NativePointer, area: IRect): Boolean {
return try {
Stats.onNativeCall()
_nExtractSubset(
......@@ -79,7 +78,7 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) :
reachabilityBarrier(this)
}
}
val addr: Long
val addr: NativePointer
get() {
Stats.onNativeCall()
return try {
......@@ -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()
return try {
_nGetAddrAt(_ptr, x, y)
......@@ -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()
return try {
_nReadPixels(
......@@ -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()
return try {
_nReadPixelsFromPoint(
......@@ -255,7 +254,7 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) :
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 {
val ptr = _nMake(
info.width, info.height,
......@@ -263,7 +262,7 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) :
info.colorInfo.alphaType.ordinal,
getPtr(info.colorInfo.colorSpace), addr, rowBytes
)
require(ptr != 0L) { "Failed to create Pixmap." }
require(ptr != NullPointer) { "Failed to create Pixmap." }
Pixmap(ptr, true)
} finally {
reachabilityBarrier(info.colorInfo.colorSpace)
......@@ -272,10 +271,10 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) :
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nGetFinalizer")
external fun _nGetFinalizer(): Long
external fun _nGetFinalizer(): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nMakeNull")
external fun _nMakeNull(): Long
external fun _nMakeNull(): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nMake")
external fun _nMake(
......@@ -283,89 +282,89 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) :
height: Int,
colorType: Int,
alphaType: Int,
colorSpacePtr: Long,
pixelsPtr: Long,
colorSpacePtr: NativePointer,
pixelsPtr: NativePointer,
rowBytes: Int
): Long
): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nReset")
external fun _nReset(ptr: Long)
external fun _nReset(ptr: NativePointer)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nResetWithInfo")
external fun _nResetWithInfo(
ptr: Long,
ptr: NativePointer,
width: Int,
height: Int,
colorType: Int,
alphaType: Int,
colorSpacePtr: Long,
pixelsPtr: Long,
colorSpacePtr: NativePointer,
pixelsPtr: NativePointer,
rowBytes: Int
)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nSetColorSpace")
external fun _nSetColorSpace(ptr: Long, colorSpacePtr: Long)
external fun _nSetColorSpace(ptr: NativePointer, colorSpacePtr: NativePointer)
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nGetInfo")
external fun _nGetInfo(ptr: Long): ImageInfo
external fun _nGetInfo(ptr: NativePointer): ImageInfo
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nGetRowBytes")
external fun _nGetRowBytes(ptr: Long): Int
external fun _nGetRowBytes(ptr: NativePointer): Int
@JvmStatic
@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.
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nGetRowBytesAsPixels")
external fun _nGetRowBytesAsPixels(ptr: Long): Int
external fun _nGetRowBytesAsPixels(ptr: NativePointer): Int
// TODO shiftPerPixel
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nComputeByteSize")
external fun _nComputeByteSize(ptr: Long): Int
external fun _nComputeByteSize(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nComputeIsOpaque")
external fun _nComputeIsOpaque(ptr: Long): Boolean
external fun _nComputeIsOpaque(ptr: NativePointer): Boolean
@JvmStatic
@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
@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
@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
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nReadPixels")
external fun _nReadPixels(
ptr: Long,
ptr: NativePointer,
width: Int,
height: Int,
colorType: Int,
alphaType: Int,
colorSpacePtr: Long,
dstPixelsPtr: Long,
colorSpacePtr: NativePointer,
dstPixelsPtr: NativePointer,
dstRowBytes: Int
): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nReadPixelsFromPoint")
external fun _nReadPixelsFromPoint(
ptr: Long,
ptr: NativePointer,
width: Int,
height: Int,
colorType: Int,
alphaType: Int,
colorSpacePtr: Long,
dstPixelsPtr: Long,
colorSpacePtr: NativePointer,
dstPixelsPtr: NativePointer,
dstRowBytes: Int,
srcX: Int,
srcY: Int
......@@ -373,20 +372,20 @@ class Pixmap internal constructor(ptr: Long, managed: Boolean) :
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nReadPixelsToPixmap")
external fun _nReadPixelsToPixmap(ptr: Long, dstPixmapPtr: Long): Boolean
external fun _nReadPixelsToPixmap(ptr: NativePointer, dstPixmapPtr: NativePointer): Boolean
@JvmStatic
@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
@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
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nErase")
external fun _nErase(ptr: Long, color: Int): Boolean
external fun _nErase(ptr: NativePointer, color: Int): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Pixmap__1nEraseSubset")
external fun _nEraseSubset(
ptr: Long,
ptr: NativePointer,
color: Int,
l: Int,
t: Int,
......
......@@ -6,102 +6,104 @@ import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats
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
class Region : Managed(_nMake(), _FinalizerHolder.PTR) {
companion object {
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nMake")
external fun _nMake(): Long
external fun _nMake(): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nGetFinalizer")
external fun _nGetFinalizer(): Long
external fun _nGetFinalizer(): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nSet")
external fun _nSet(ptr: Long, regoinPtr: Long): Boolean
external fun _nSet(ptr: NativePointer, regoinPtr: NativePointer): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nIsEmpty")
external fun _nIsEmpty(ptr: Long): Boolean
external fun _nIsEmpty(ptr: NativePointer): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nIsRect")
external fun _nIsRect(ptr: Long): Boolean
external fun _nIsRect(ptr: NativePointer): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nIsComplex")
external fun _nIsComplex(ptr: Long): Boolean
external fun _nIsComplex(ptr: NativePointer): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nGetBounds")
external fun _nGetBounds(ptr: Long): IRect
external fun _nGetBounds(ptr: NativePointer): IRect
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nComputeRegionComplexity")
external fun _nComputeRegionComplexity(ptr: Long): Int
external fun _nComputeRegionComplexity(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nGetBoundaryPath")
external fun _nGetBoundaryPath(ptr: Long, pathPtr: Long): Boolean
external fun _nGetBoundaryPath(ptr: NativePointer, pathPtr: NativePointer): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nSetEmpty")
external fun _nSetEmpty(ptr: Long): Boolean
external fun _nSetEmpty(ptr: NativePointer): Boolean
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_Region__1nSetRects")
external fun _nSetRects(ptr: Long, rects: IntArray?): Boolean
external fun _nSetRects(ptr: NativePointer, rects: IntArray?): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nSetRegion")
external fun _nSetRegion(ptr: Long, regionPtr: Long): Boolean
external fun _nSetRegion(ptr: NativePointer, regionPtr: NativePointer): Boolean
@JvmStatic
@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
@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
@ExternalSymbolName("org_jetbrains_skia_Region__1nIntersectsRegion")
external fun _nIntersectsRegion(ptr: Long, regionPtr: Long): Boolean
external fun _nIntersectsRegion(ptr: NativePointer, regionPtr: NativePointer): Boolean
@JvmStatic
@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
@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
@ExternalSymbolName("org_jetbrains_skia_Region__1nContainsRegion")
external fun _nContainsRegion(ptr: Long, regionPtr: Long): Boolean
external fun _nContainsRegion(ptr: NativePointer, regionPtr: NativePointer): Boolean
@JvmStatic
@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
@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
@ExternalSymbolName("org_jetbrains_skia_Region__1nQuickRejectRegion")
external fun _nQuickRejectRegion(ptr: Long, regionPtr: Long): Boolean
external fun _nQuickRejectRegion(ptr: NativePointer, regionPtr: NativePointer): Boolean
@JvmStatic
@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
@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
@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
@ExternalSymbolName("org_jetbrains_skia_Region__1nOpIRectRegion")
external fun _nOpIRectRegion(
ptr: Long,
ptr: NativePointer,
left: Int,
top: Int,
right: Int,
bottom: Int,
regionPtr: Long,
regionPtr: NativePointer,
op: Int
): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Region__1nOpRegionIRect")
external fun _nOpRegionIRect(
ptr: Long,
regionPtr: Long,
ptr: NativePointer,
regionPtr: NativePointer,
left: Int,
top: Int,
right: Int,
......@@ -111,7 +113,7 @@ class Region : Managed(_nMake(), _FinalizerHolder.PTR) {
@JvmStatic
@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 {
staticLoad()
......
......@@ -6,9 +6,11 @@ import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic
class RuntimeEffect internal constructor(ptr: Long) : RefCnt(ptr) {
class RuntimeEffect internal constructor(ptr: NativePointer) : RefCnt(ptr) {
companion object {
fun makeForShader(sksl: String?): RuntimeEffect {
Stats.onNativeCall()
......@@ -23,16 +25,16 @@ class RuntimeEffect internal constructor(ptr: Long) : RefCnt(ptr) {
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_RuntimeEffect__1nMakeShader")
external fun _nMakeShader(
runtimeEffectPtr: Long, uniformPtr: Long, childrenPtrs: LongArray?,
runtimeEffectPtr: NativePointer, uniformPtr: NativePointer, childrenPtrs: Array<NativePointer>?,
localMatrix: FloatArray?, isOpaque: Boolean
): Long
): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_RuntimeEffect__1nMakeForShader")
external fun _nMakeForShader(sksl: String?): Long
external fun _nMakeForShader(sksl: String?): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_RuntimeEffect__1nMakeForColorFilter")
external fun _nMakeForColorFilter(sksl: String?): Long
external fun _nMakeForColorFilter(sksl: String?): NativePointer
init {
staticLoad()
......@@ -45,8 +47,8 @@ class RuntimeEffect internal constructor(ptr: Long) : RefCnt(ptr) {
): Shader {
Stats.onNativeCall()
val childCount = children?.size ?: 0
val childrenPtrs = LongArray(childCount)
for (i in 0 until childCount) childrenPtrs[i] = Native.Companion.getPtr(children!![i])
val childrenPtrs = arrayOf<NativePointer>()
for (i in 0 until childCount) childrenPtrs[i] = getPtr(children!![i])
val matrix = localMatrix?.mat
return Shader(_nMakeShader(_ptr, getPtr(uniforms), childrenPtrs, matrix, isOpaque))
}
......
package org.jetbrains.skia
import org.jetbrains.skia.impl.NativePointer
/**
* @see org.jetbrains.skia.FilterMipmap
*
......
......@@ -6,9 +6,11 @@ import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats
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
class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
class Shader internal constructor(ptr: NativePointer) : RefCnt(ptr) {
companion object {
// Linear
fun makeLinearGradient(p0: Point, p1: Point, colors: IntArray): Shader {
......@@ -487,7 +489,7 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeWithColorFilter")
external fun _nMakeWithColorFilter(ptr: Long, colorFilterPtr: Long): Long
external fun _nMakeWithColorFilter(ptr: NativePointer, colorFilterPtr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeLinearGradient")
external fun _nMakeLinearGradient(
......@@ -500,7 +502,7 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
tileType: Int,
flags: Int,
matrix: FloatArray?
): Long
): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeLinearGradientCS")
......@@ -510,12 +512,12 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
x1: Float,
y1: Float,
colors: FloatArray?,
colorSpacePtr: Long,
colorSpacePtr: NativePointer,
positions: FloatArray?,
tileType: Int,
flags: Int,
matrix: FloatArray?
): Long
): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeRadialGradient")
......@@ -528,7 +530,7 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
tileType: Int,
flags: Int,
matrix: FloatArray?
): Long
): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeRadialGradientCS")
......@@ -537,12 +539,12 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
y: Float,
r: Float,
colors: FloatArray?,
colorSpacePtr: Long,
colorSpacePtr: NativePointer,
positions: FloatArray?,
tileType: Int,
flags: Int,
matrix: FloatArray?
): Long
): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeTwoPointConicalGradient")
......@@ -558,7 +560,7 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
tileType: Int,
flags: Int,
matrix: FloatArray?
): Long
): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeTwoPointConicalGradientCS")
......@@ -570,12 +572,12 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
y1: Float,
r1: Float,
colors: FloatArray?,
colorSpacePtr: Long,
colorSpacePtr: NativePointer,
positions: FloatArray?,
tileType: Int,
flags: Int,
matrix: FloatArray?
): Long
): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeSweepGradient")
......@@ -589,7 +591,7 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
tileType: Int,
flags: Int,
matrix: FloatArray?
): Long
): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeSweepGradientCS")
......@@ -599,12 +601,12 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
startAngle: Float,
endAngle: Float,
colors: FloatArray?,
colorSpacePtr: Long,
colorSpacePtr: NativePointer,
positions: FloatArray?,
tileType: Int,
flags: Int,
matrix: FloatArray?
): Long
): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeFractalNoise")
......@@ -614,7 +616,7 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
numOctaves: Int,
seed: Float,
tiles: IntArray?
): Long
): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeTurbulence")
......@@ -624,20 +626,20 @@ class Shader internal constructor(ptr: Long) : RefCnt(ptr) {
numOctaves: Int,
seed: Float,
tiles: IntArray?
): Long
): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeEmpty")
external fun _nMakeEmpty(): Long
external fun _nMakeEmpty(): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Shader__1nMakeColor")
external fun _nMakeColor(color: Int): Long
external fun _nMakeColor(color: Int): NativePointer
@JvmStatic
@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
@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 {
staticLoad()
......
......@@ -5,6 +5,8 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic
object ShadowUtils {
......@@ -42,8 +44,8 @@ object ShadowUtils {
if (transparentOccluder) flags = flags or 1
if (geometricOnly) flags = flags or 2
_nDrawShadow(
Native.getPtr(canvas),
Native.getPtr(path),
getPtr(canvas),
getPtr(path),
zPlaneParams.x,
zPlaneParams.y,
zPlaneParams.z,
......@@ -84,8 +86,8 @@ object ShadowUtils {
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ShadowUtils__1nDrawShadow")
external fun _nDrawShadow(
canvasPtr: Long,
pathPtr: Long,
canvasPtr: NativePointer,
pathPtr: NativePointer,
zPlaneX: Float,
zPlaneY: Float,
zPlaneZ: Float,
......
......@@ -5,7 +5,8 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic
class Surface : RefCnt {
......@@ -43,8 +44,8 @@ class Surface : RefCnt {
*/
fun makeRasterDirect(
imageInfo: ImageInfo,
pixelsPtr: Long,
rowBytes: Long
pixelsPtr: NativePointer,
rowBytes: NativePointer
): Surface {
return makeRasterDirect(imageInfo, pixelsPtr, rowBytes, null)
}
......@@ -58,7 +59,7 @@ class Surface : RefCnt {
val ptr = _nMakeRasterDirectWithPixmap(
getPtr(pixmap), surfaceProps
)
require(ptr != 0L) {
require(ptr != NullPointer) {
"Failed Surface.makeRasterDirect($pixmap, $surfaceProps)"
}
Surface(ptr)
......@@ -98,8 +99,8 @@ class Surface : RefCnt {
*/
fun makeRasterDirect(
imageInfo: ImageInfo,
pixelsPtr: Long,
rowBytes: Long,
pixelsPtr: NativePointer,
rowBytes: NativePointer,
surfaceProps: SurfaceProps?
): Surface {
return try {
......@@ -114,7 +115,7 @@ class Surface : RefCnt {
rowBytes,
surfaceProps
)
require(ptr != 0L) {
require(ptr != NullPointer) {
"Failed Surface.makeRasterDirect($imageInfo, $pixelsPtr, $rowBytes, $surfaceProps)"
}
Surface(ptr)
......@@ -140,7 +141,7 @@ class Surface : RefCnt {
* @return new Surface
*/
fun makeRaster(imageInfo: ImageInfo): Surface {
return makeRaster(imageInfo, 0, null)
return makeRaster(imageInfo, NullPointer, null)
}
/**
......@@ -167,7 +168,7 @@ class Surface : RefCnt {
*/
fun makeRaster(
imageInfo: ImageInfo,
rowBytes: Long
rowBytes: NativePointer
): Surface {
return makeRaster(imageInfo, rowBytes, null)
}
......@@ -198,7 +199,7 @@ class Surface : RefCnt {
*/
fun makeRaster(
imageInfo: ImageInfo,
rowBytes: Long,
rowBytes: NativePointer,
surfaceProps: SurfaceProps?
): Surface {
return try {
......@@ -212,7 +213,7 @@ class Surface : RefCnt {
rowBytes,
surfaceProps
)
require(ptr != 0L) {
require(ptr != NullPointer) {
"Failed Surface.makeRaster($imageInfo, $rowBytes, $surfaceProps)"
}
Surface(ptr)
......@@ -283,7 +284,7 @@ class Surface : RefCnt {
getPtr(colorSpace),
surfaceProps
)
require(ptr != 0L) {
require(ptr != NullPointer) {
"Failed Surface.makeFromBackendRenderTarget($context, $rt, $origin, $colorFormat, $colorSpace)"
}
Surface(ptr, context, rt)
......@@ -296,7 +297,7 @@ class Surface : RefCnt {
fun makeFromMTKView(
context: DirectContext,
mtkViewPtr: Long,
mtkViewPtr: NativePointer,
origin: SurfaceOrigin,
sampleCount: Int,
colorFormat: SurfaceColorFormat,
......@@ -314,7 +315,7 @@ class Surface : RefCnt {
getPtr(colorSpace),
surfaceProps
)
require(ptr != 0L) {
require(ptr != NullPointer) {
"Failed Surface.makeFromMTKView($context, $mtkViewPtr $origin, $colorFormat, $surfaceProps)"
}
Surface(ptr, context)
......@@ -350,7 +351,7 @@ class Surface : RefCnt {
fun makeRasterN32Premul(width: Int, height: Int): Surface {
Stats.onNativeCall()
val ptr = _nMakeRasterN32Premul(width, height)
require(ptr != 0L) { "Failed Surface.makeRasterN32Premul($width, $height)" }
require(ptr != NullPointer) { "Failed Surface.makeRasterN32Premul($width, $height)" }
return Surface(ptr)
}
......@@ -500,7 +501,7 @@ class Surface : RefCnt {
surfaceProps,
shouldCreateWithMips
)
require(ptr != 0L) {
require(ptr != NullPointer) {
"Failed Surface.makeRenderTarget($context, $budgeted, $imageInfo, $sampleCount, $origin, $surfaceProps, $shouldCreateWithMips)"
}
Surface(ptr, context)
......@@ -523,7 +524,7 @@ class Surface : RefCnt {
fun makeNull(width: Int, height: Int): Surface {
Stats.onNativeCall()
val ptr = _nMakeNull(width, height)
require(ptr != 0L) { "Failed Surface.makeNull($width, $height)" }
require(ptr != NullPointer) { "Failed Surface.makeNull($width, $height)" }
return Surface(ptr)
}
......@@ -534,15 +535,15 @@ class Surface : RefCnt {
height: Int,
colorType: Int,
alphaType: Int,
colorSpacePtr: Long,
pixelsPtr: Long,
rowBytes: Long,
colorSpacePtr: NativePointer,
pixelsPtr: NativePointer,
rowBytes: NativePointer,
surfaceProps: SurfaceProps?
): Long
): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeRasterDirectWithPixmap")
external fun _nMakeRasterDirectWithPixmap(pixmapPtr: Long, surfaceProps: SurfaceProps?): Long
external fun _nMakeRasterDirectWithPixmap(pixmapPtr: NativePointer, surfaceProps: SurfaceProps?): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeRaster")
external fun _nMakeRaster(
......@@ -550,124 +551,124 @@ class Surface : RefCnt {
height: Int,
colorType: Int,
alphaType: Int,
colorSpacePtr: Long,
rowBytes: Long,
colorSpacePtr: NativePointer,
rowBytes: NativePointer,
surfaceProps: SurfaceProps?
): Long
): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeRasterN32Premul")
external fun _nMakeRasterN32Premul(width: Int, height: Int): Long
external fun _nMakeRasterN32Premul(width: Int, height: Int): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeFromBackendRenderTarget")
external fun _nMakeFromBackendRenderTarget(
pContext: Long,
pBackendRenderTarget: Long,
pContext: NativePointer,
pBackendRenderTarget: NativePointer,
surfaceOrigin: Int,
colorType: Int,
colorSpacePtr: Long,
colorSpacePtr: NativePointer,
surfaceProps: SurfaceProps?
): Long
): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeFromMTKView")
external fun _nMakeFromMTKView(
contextPtr: Long,
mtkViewPtr: Long,
contextPtr: NativePointer,
mtkViewPtr: NativePointer,
surfaceOrigin: Int,
sampleCount: Int,
colorType: Int,
colorSpacePtr: Long,
colorSpacePtr: NativePointer,
surfaceProps: SurfaceProps?
): Long
): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeRenderTarget")
external fun _nMakeRenderTarget(
contextPtr: Long,
contextPtr: NativePointer,
budgeted: Boolean,
width: Int,
height: Int,
colorType: Int,
alphaType: Int,
colorSpacePtr: Long,
colorSpacePtr: NativePointer,
sampleCount: Int,
surfaceOrigin: Int,
surfaceProps: SurfaceProps?,
shouldCreateWithMips: Boolean
): Long
): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeNull")
external fun _nMakeNull(width: Int, height: Int): Long
external fun _nMakeNull(width: Int, height: Int): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nGetWidth")
external fun _nGetWidth(ptr: Long): Int
external fun _nGetWidth(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nGetHeight")
external fun _nGetHeight(ptr: Long): Int
external fun _nGetHeight(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nGetImageInfo")
external fun _nGetImageInfo(ptr: Long): ImageInfo
external fun _nGetImageInfo(ptr: NativePointer): ImageInfo
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nGenerationId")
external fun _nGenerationId(ptr: Long): Int
external fun _nGenerationId(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nNotifyContentWillChange")
external fun _nNotifyContentWillChange(ptr: Long, mode: Int)
external fun _nNotifyContentWillChange(ptr: NativePointer, mode: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nGetRecordingContext")
external fun _nGetRecordingContext(ptr: Long): Long
external fun _nGetRecordingContext(ptr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nGetCanvas")
external fun _nGetCanvas(ptr: Long): Long
external fun _nGetCanvas(ptr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeSurfaceI")
external fun _nMakeSurfaceI(
ptr: Long,
ptr: NativePointer,
width: Int,
height: Int,
colorType: Int,
alphaType: Int,
colorSpacePtr: Long
): Long
colorSpacePtr: NativePointer
): NativePointer
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeImageSnapshot")
external fun _nMakeImageSnapshot(ptr: Long): Long
external fun _nMakeImageSnapshot(ptr: NativePointer): NativePointer
@JvmStatic
@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
@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
@ExternalSymbolName("org_jetbrains_skia_Surface__1nPeekPixels")
external fun _nPeekPixels(ptr: Long, pixmapPtr: Long): Boolean
external fun _nPeekPixels(ptr: NativePointer, pixmapPtr: NativePointer): Boolean
@JvmStatic
@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
@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
@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
@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
@ExternalSymbolName("org_jetbrains_skia_Surface__1nFlushAndSubmit")
external fun _nFlushAndSubmit(ptr: Long, syncCpu: Boolean)
external fun _nFlushAndSubmit(ptr: NativePointer, syncCpu: Boolean)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nFlush")
external fun _nFlush(ptr: Long)
external fun _nFlush(ptr: NativePointer)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Surface__1nUnique")
external fun _nUnique(ptr: Long): Boolean
external fun _nUnique(ptr: NativePointer): Boolean
init {
staticLoad()
......@@ -768,7 +769,7 @@ class Surface : RefCnt {
get() = try {
Stats.onNativeCall()
val ptr = _nGetRecordingContext(_ptr)
if (ptr == 0L) null else DirectContext(ptr)
if (ptr == NullPointer) null else DirectContext(ptr)
} finally {
reachabilityBarrier(this)
}
......@@ -787,7 +788,7 @@ class Surface : RefCnt {
get() = try {
Stats.onNativeCall()
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 {
reachabilityBarrier(this)
}
......@@ -1114,17 +1115,17 @@ class Surface : RefCnt {
reachabilityBarrier(this)
}
internal constructor(ptr: Long) : super(ptr) {
internal constructor(ptr: NativePointer) : super(ptr) {
_context = null
_renderTarget = null
}
internal constructor(ptr: Long, context: DirectContext?) : super(ptr) {
internal constructor(ptr: NativePointer, context: DirectContext?) : super(ptr) {
_context = context
_renderTarget = null
}
internal constructor(ptr: Long, context: DirectContext?, renderTarget: BackendRenderTarget?) : super(ptr) {
internal constructor(ptr: NativePointer, context: DirectContext?, renderTarget: BackendRenderTarget?) : super(ptr) {
_context = context
_renderTarget = renderTarget
}
......
......@@ -5,10 +5,11 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
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 {
/**
* 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
ypos,
getPtr(font)
)
if (ptr == 0L) null else TextBlob(ptr)
if (ptr == NullPointer) null else TextBlob(ptr)
} finally {
reachabilityBarrier(font)
}
......@@ -56,7 +57,7 @@ class TextBlob internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.P
Stats.onNativeCall()
val ptr =
_nMakeFromPos(glyphs, floatPos, getPtr(font))
if (ptr == 0L) null else TextBlob(ptr)
if (ptr == NullPointer) null else TextBlob(ptr)
} finally {
reachabilityBarrier(font)
}
......@@ -78,7 +79,7 @@ class TextBlob internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.P
floatXform,
getPtr(font)
)
if (ptr == 0L) null else TextBlob(ptr)
if (ptr == NullPointer) null else TextBlob(ptr)
} finally {
reachabilityBarrier(font)
}
......@@ -88,7 +89,7 @@ class TextBlob internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.P
return try {
Stats.onNativeCall()
val ptr = _nMakeFromData(getPtr(data))
if (ptr == 0L) null else TextBlob(ptr)
if (ptr == NullPointer) null else TextBlob(ptr)
} finally {
reachabilityBarrier(data)
}
......@@ -96,52 +97,52 @@ class TextBlob internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.P
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetFinalizer")
external fun _nGetFinalizer(): Long
external fun _nGetFinalizer(): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nBounds")
external fun _nBounds(ptr: Long): Rect
external fun _nBounds(ptr: NativePointer): Rect
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetUniqueId")
external fun _nGetUniqueId(ptr: Long): Int
external fun _nGetUniqueId(ptr: NativePointer): Int
@JvmStatic
@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
@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
@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
@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
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nSerializeToData")
external fun _nSerializeToData(ptr: Long /*, SkSerialProcs */): Long
external fun _nSerializeToData(ptr: NativePointer /*, SkSerialProcs */): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nMakeFromData")
external fun _nMakeFromData(dataPtr: Long /*, SkDeserialProcs */): Long
external fun _nMakeFromData(dataPtr: NativePointer /*, SkDeserialProcs */): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetGlyphs")
external fun _nGetGlyphs(ptr: Long): ShortArray
external fun _nGetGlyphs(ptr: NativePointer): ShortArray
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetPositions")
external fun _nGetPositions(ptr: Long): FloatArray
external fun _nGetPositions(ptr: NativePointer): FloatArray
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetClusters")
external fun _nGetClusters(ptr: Long): IntArray
external fun _nGetClusters(ptr: NativePointer): IntArray
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetTightBounds")
external fun _nGetTightBounds(ptr: Long): Rect
external fun _nGetTightBounds(ptr: NativePointer): Rect
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetBlockBounds")
external fun _nGetBlockBounds(ptr: Long): Rect
external fun _nGetBlockBounds(ptr: NativePointer): Rect
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetFirstBaseline")
external fun _nGetFirstBaseline(ptr: Long): Float
external fun _nGetFirstBaseline(ptr: NativePointer): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlob__1nGetLastBaseline")
external fun _nGetLastBaseline(ptr: Long): Float
external fun _nGetLastBaseline(ptr: NativePointer): Float
init {
staticLoad()
......
......@@ -5,28 +5,29 @@ import org.jetbrains.skia.impl.Library.Companion.staticLoad
import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
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 {
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlobBuilder__1nGetFinalizer")
external fun _nGetFinalizer(): Long
external fun _nGetFinalizer(): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlobBuilder__1nMake")
external fun _nMake(): Long
external fun _nMake(): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextBlobBuilder__1nBuild")
external fun _nBuild(ptr: Long): Long
external fun _nBuild(ptr: NativePointer): NativePointer
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_TextBlobBuilder__1nAppendRunPosH")
external fun _nAppendRunPosH(
ptr: Long,
fontPtr: Long,
ptr: NativePointer,
fontPtr: NativePointer,
glyphs: ShortArray?,
xs: FloatArray?,
y: Float,
......@@ -35,10 +36,10 @@ class TextBlobBuilder internal constructor(ptr: Long) : Managed(ptr, _FinalizerH
@JvmStatic
@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
@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 {
staticLoad()
......@@ -72,7 +73,7 @@ class TextBlobBuilder internal constructor(ptr: Long) : Managed(ptr, _FinalizerH
return try {
Stats.onNativeCall()
val ptr = _nBuild(_ptr)
if (ptr == 0L) null else TextBlob(ptr)
if (ptr == NullPointer) null else TextBlob(ptr)
} finally {
reachabilityBarrier(this)
}
......
......@@ -3,10 +3,9 @@ package org.jetbrains.skia
import org.jetbrains.skia.impl.*
import org.jetbrains.skia.shaper.*
import org.jetbrains.skia.ExternalSymbolName
import kotlin.jvm.JvmStatic
class TextLine internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.PTR) {
class TextLine internal constructor(ptr: NativePointer) : Managed(ptr, _FinalizerHolder.PTR) {
companion object {
fun make(text: String?, font: Font?): TextLine {
return make(text, font, ShapingOptions.DEFAULT)
......@@ -18,55 +17,55 @@ class TextLine internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.P
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetFinalizer")
external fun _nGetFinalizer(): Long
external fun _nGetFinalizer(): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetAscent")
external fun _nGetAscent(ptr: Long): Float
external fun _nGetAscent(ptr: NativePointer): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetCapHeight")
external fun _nGetCapHeight(ptr: Long): Float
external fun _nGetCapHeight(ptr: NativePointer): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetXHeight")
external fun _nGetXHeight(ptr: Long): Float
external fun _nGetXHeight(ptr: NativePointer): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetDescent")
external fun _nGetDescent(ptr: Long): Float
external fun _nGetDescent(ptr: NativePointer): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetLeading")
external fun _nGetLeading(ptr: Long): Float
external fun _nGetLeading(ptr: NativePointer): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetWidth")
external fun _nGetWidth(ptr: Long): Float
external fun _nGetWidth(ptr: NativePointer): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetHeight")
external fun _nGetHeight(ptr: Long): Float
external fun _nGetHeight(ptr: NativePointer): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetTextBlob")
external fun _nGetTextBlob(ptr: Long): Long
external fun _nGetTextBlob(ptr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetGlyphs")
external fun _nGetGlyphs(ptr: Long): ShortArray
external fun _nGetGlyphs(ptr: NativePointer): ShortArray
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetPositions")
external fun _nGetPositions(ptr: Long): FloatArray
external fun _nGetPositions(ptr: NativePointer): FloatArray
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetRunPositions")
external fun _nGetRunPositions(ptr: Long): FloatArray?
external fun _nGetRunPositions(ptr: NativePointer): FloatArray?
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetBreakPositions")
external fun _nGetBreakPositions(ptr: Long): FloatArray?
external fun _nGetBreakPositions(ptr: NativePointer): FloatArray?
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetBreakOffsets")
external fun _nGetBreakOffsets(ptr: Long): IntArray?
external fun _nGetBreakOffsets(ptr: NativePointer): IntArray?
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetOffsetAtCoord")
external fun _nGetOffsetAtCoord(ptr: Long, x: Float): Int
external fun _nGetOffsetAtCoord(ptr: NativePointer, x: Float): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetLeftOffsetAtCoord")
external fun _nGetLeftOffsetAtCoord(ptr: Long, x: Float): Int
external fun _nGetLeftOffsetAtCoord(ptr: NativePointer, x: Float): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TextLine__1nGetCoordAtOffset")
external fun _nGetCoordAtOffset(ptr: Long, offset: Int): Float
external fun _nGetCoordAtOffset(ptr: NativePointer, offset: Int): Float
init {
Library.staticLoad()
......@@ -145,7 +144,7 @@ class TextLine internal constructor(ptr: Long) : Managed(ptr, _FinalizerHolder.P
Stats.onNativeCall()
return try {
val res = _nGetTextBlob(_ptr)
if (res == 0L) null else TextBlob(res)
if (res == NullPointer) null else TextBlob(res)
} finally {
reachabilityBarrier(this)
}
......
......@@ -6,10 +6,11 @@ import org.jetbrains.skia.impl.RefCnt
import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import kotlin.jvm.JvmStatic
class Typeface internal constructor(ptr: Long) : RefCnt(ptr) {
class Typeface internal constructor(ptr: NativePointer) : RefCnt(ptr) {
companion object {
/**
* @return the default normal typeface, which is never null
......@@ -42,7 +43,7 @@ class Typeface internal constructor(ptr: Long) : RefCnt(ptr) {
fun makeFromFile(path: String, index: Int = 0): Typeface {
Stats.onNativeCall()
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)
}
/**
......@@ -57,7 +58,7 @@ class Typeface internal constructor(ptr: Long) : RefCnt(ptr) {
return try {
Stats.onNativeCall()
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)
} finally {
reachabilityBarrier(data)
......@@ -66,73 +67,73 @@ class Typeface internal constructor(ptr: Long) : RefCnt(ptr) {
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetFontStyle")
external fun _nGetFontStyle(ptr: Long): Int
external fun _nGetFontStyle(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nIsFixedPitch")
external fun _nIsFixedPitch(ptr: Long): Boolean
external fun _nIsFixedPitch(ptr: NativePointer): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetVariations")
external fun _nGetVariations(ptr: Long): Array<FontVariation>?
external fun _nGetVariations(ptr: NativePointer): Array<FontVariation>?
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetVariationAxes")
external fun _nGetVariationAxes(ptr: Long): Array<FontVariationAxis>?
external fun _nGetVariationAxes(ptr: NativePointer): Array<FontVariationAxis>?
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetUniqueId")
external fun _nGetUniqueId(ptr: Long): Int
external fun _nGetUniqueId(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nEquals")
external fun _nEquals(ptr: Long, otherPtr: Long): Boolean
external fun _nEquals(ptr: NativePointer, otherPtr: NativePointer): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nMakeDefault")
external fun _nMakeDefault(): Long
external fun _nMakeDefault(): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nMakeFromName")
external fun _nMakeFromName(name: String?, fontStyle: Int): Long
external fun _nMakeFromName(name: String?, fontStyle: Int): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nMakeFromFile")
external fun _nMakeFromFile(path: String?, index: Int): Long
external fun _nMakeFromFile(path: String?, index: Int): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nMakeFromData")
external fun _nMakeFromData(dataPtr: Long, index: Int): Long
external fun _nMakeFromData(dataPtr: NativePointer, index: Int): NativePointer
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetUTF32Glyphs")
external fun _nGetUTF32Glyphs(ptr: Long, uni: IntArray?): ShortArray
external fun _nGetUTF32Glyphs(ptr: NativePointer, uni: IntArray?): ShortArray
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetUTF32Glyph")
external fun _nGetUTF32Glyph(ptr: Long, unichar: Int): Short
external fun _nGetUTF32Glyph(ptr: NativePointer, unichar: Int): Short
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetGlyphsCount")
external fun _nGetGlyphsCount(ptr: Long): Int
external fun _nGetGlyphsCount(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetTablesCount")
external fun _nGetTablesCount(ptr: Long): Int
external fun _nGetTablesCount(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetTableTags")
external fun _nGetTableTags(ptr: Long): IntArray?
external fun _nGetTableTags(ptr: NativePointer): IntArray?
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetTableSize")
external fun _nGetTableSize(ptr: Long, tag: Int): Long
external fun _nGetTableSize(ptr: NativePointer, tag: Int): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetTableData")
external fun _nGetTableData(ptr: Long, tag: Int): Long
external fun _nGetTableData(ptr: NativePointer, tag: Int): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetUnitsPerEm")
external fun _nGetUnitsPerEm(ptr: Long): Int
external fun _nGetUnitsPerEm(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetKerningPairAdjustments")
external fun _nGetKerningPairAdjustments(ptr: Long, glyphs: ShortArray?): IntArray?
external fun _nGetKerningPairAdjustments(ptr: NativePointer, glyphs: ShortArray?): IntArray?
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetFamilyNames")
external fun _nGetFamilyNames(ptr: Long): Array<FontFamilyName>
external fun _nGetFamilyNames(ptr: NativePointer): Array<FontFamilyName>
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetFamilyName")
external fun _nGetFamilyName(ptr: Long): String
external fun _nGetFamilyName(ptr: NativePointer): String
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetBounds")
external fun _nGetBounds(ptr: Long): Rect
external fun _nGetBounds(ptr: NativePointer): Rect
init {
staticLoad()
......@@ -250,7 +251,7 @@ class Typeface internal constructor(ptr: Long) : RefCnt(ptr) {
if (variations.size == 0) return this
Stats.onNativeCall()
val ptr = _nMakeClone(_ptr, variations, collectionIndex)
require(ptr != 0L) {
require(ptr != NullPointer) {
"Failed to clone Typeface $this with $variations"
}
Typeface(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
*/
fun getTableSize(tag: String): Long {
fun getTableSize(tag: String): NativePointer {
return try {
Stats.onNativeCall()
_nGetTableSize(_ptr, FourByteTag.fromString(tag))
......@@ -351,7 +352,7 @@ class Typeface internal constructor(ptr: Long) : RefCnt(ptr) {
return try {
Stats.onNativeCall()
val ptr = _nGetTableData(_ptr, FourByteTag.fromString(tag))
if (ptr == 0L) null else Data(ptr)
if (ptr == NullPointer) null else Data(ptr)
} finally {
reachabilityBarrier(this)
}
......
......@@ -6,22 +6,23 @@ import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats
import org.jetbrains.skia.impl.reachabilityBarrier
import org.jetbrains.skia.ExternalSymbolName
import org.jetbrains.skia.impl.NativePointer
import kotlin.jvm.JvmStatic
/**
* 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 {
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_U16String__1nMake")
external fun _nMake(s: String?): Long
external fun _nMake(s: String?): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_U16String__1nGetFinalizer")
external fun _nGetFinalizer(): Long
external fun _nGetFinalizer(): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_U16String__1nToString")
external fun _nToString(ptr: Long): String
external fun _nToString(ptr: NativePointer): String
init {
staticLoad()
......
package org.jetbrains.skia
import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.NativePointer
abstract class WStream : Managed {
constructor(ptr: Long, finalizer: Long) : super(ptr, finalizer)
constructor(ptr: Long, finalizer: Long, managed: Boolean) : super(ptr, finalizer, managed)
constructor(ptr: NativePointer, finalizer: NativePointer) : super(ptr, finalizer)
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
import kotlin.jvm.JvmStatic
object BufferUtil {
fun getByteBufferFromPointer(ptr: Long, size: Int): ByteBuffer {
fun getByteBufferFromPointer(ptr: NativePointer, size: Int): ByteBuffer {
return _nGetByteBufferFromPointer(ptr, size)
?: 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)
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
}
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_BufferUtil__1nGetByteBufferFromPointer")
external fun _nGetByteBufferFromPointer(ptr: Long, size: Int): ByteBuffer?
external fun _nGetByteBufferFromPointer(ptr: NativePointer, size: Int): ByteBuffer?
@JvmStatic
@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
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 val isClosed: Boolean
}
......
package org.jetbrains.skia.impl
expect abstract class Native(ptr: Long) {
var _ptr: Long
import org.jetbrains.skia.IPoint
companion object {
fun getPtr(n: Native?): Long
}
expect class NativePointer
expect abstract class Native(ptr: NativePointer) {
var _ptr: NativePointer
open fun _nativeEquals(other: Native?): Boolean
companion object {
val NullPointer: NativePointer
}
}
expect fun reachabilityBarrier(obj: Any?)
fun getPtr(n: Native?): NativePointer = n?._ptr ?: Native.NullPointer
package org.jetbrains.skia.impl
expect abstract class RefCnt : Managed {
protected constructor(ptr: Long)
protected constructor(ptr: Long, allowClose: Boolean)
protected constructor(ptr: NativePointer)
protected constructor(ptr: NativePointer, allowClose: Boolean)
}
\ No newline at end of file
......@@ -7,46 +7,48 @@ import org.jetbrains.skia.*
import org.jetbrains.skia.impl.Stats
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
class FontCollection internal constructor(ptr: Long) : RefCnt(ptr) {
class FontCollection internal constructor(ptr: NativePointer) : RefCnt(ptr) {
companion object {
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontCollection__1nMake")
external fun _nMake(): Long
external fun _nMake(): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontCollection__1nGetFontManagersCount")
external fun _nGetFontManagersCount(ptr: Long): Long
external fun _nGetFontManagersCount(ptr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontCollection__1nSetAssetFontManager")
external fun _nSetAssetFontManager(ptr: Long, fontManagerPtr: Long): Long
external fun _nSetAssetFontManager(ptr: NativePointer, fontManagerPtr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontCollection__1nSetDynamicFontManager")
external fun _nSetDynamicFontManager(ptr: Long, fontManagerPtr: Long): Long
external fun _nSetDynamicFontManager(ptr: NativePointer, fontManagerPtr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontCollection__1nSetTestFontManager")
external fun _nSetTestFontManager(ptr: Long, fontManagerPtr: Long): Long
external fun _nSetTestFontManager(ptr: NativePointer, fontManagerPtr: NativePointer): NativePointer
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_FontCollection__1nGetFallbackManager")
external fun _nGetFallbackManager(ptr: Long): Long
external fun _nGetFallbackManager(ptr: NativePointer): NativePointer
@JvmStatic
@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
@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
@ExternalSymbolName("org_jetbrains_skia_FontCollection__1nDefaultFallback")
external fun _nDefaultFallback(ptr: Long): Long
external fun _nDefaultFallback(ptr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontCollection__1nSetEnableFallback")
external fun _nSetEnableFallback(ptr: Long, value: Boolean): Long
external fun _nSetEnableFallback(ptr: NativePointer, value: Boolean): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_FontCollection__1nGetParagraphCache")
external fun _nGetParagraphCache(ptr: Long): Long
external fun _nGetParagraphCache(ptr: NativePointer): NativePointer
init {
staticLoad()
......@@ -57,7 +59,7 @@ class FontCollection internal constructor(ptr: Long) : RefCnt(ptr) {
Stats.onNativeCall()
}
val fontManagersCount: Long
val fontManagersCount: NativePointer
get() = try {
Stats.onNativeCall()
_nGetFontManagersCount(_ptr)
......@@ -120,7 +122,7 @@ class FontCollection internal constructor(ptr: Long) : RefCnt(ptr) {
get() = try {
Stats.onNativeCall()
val ptr = _nGetFallbackManager(_ptr)
if (ptr == 0L) null else FontMgr(ptr)
if (ptr == NullPointer) null else FontMgr(ptr)
} finally {
reachabilityBarrier(this)
}
......@@ -141,7 +143,7 @@ class FontCollection internal constructor(ptr: Long) : RefCnt(ptr) {
return try {
Stats.onNativeCall()
val ptr = _nDefaultFallbackChar(_ptr, unicode, style._value, locale)
if (ptr == 0L) null else Typeface(ptr)
if (ptr == NullPointer) null else Typeface(ptr)
} finally {
reachabilityBarrier(this)
}
......@@ -151,7 +153,7 @@ class FontCollection internal constructor(ptr: Long) : RefCnt(ptr) {
return try {
Stats.onNativeCall()
val ptr = _nDefaultFallback(_ptr)
if (ptr == 0L) null else Typeface(ptr)
if (ptr == NullPointer) null else Typeface(ptr)
} finally {
reachabilityBarrier(this)
}
......
......@@ -7,47 +7,49 @@ import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats
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
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 {
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetFinalizer")
external fun _nGetFinalizer(): Long
external fun _nGetFinalizer(): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetMaxWidth")
external fun _nGetMaxWidth(ptr: Long): Float
external fun _nGetMaxWidth(ptr: NativePointer): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetHeight")
external fun _nGetHeight(ptr: Long): Float
external fun _nGetHeight(ptr: NativePointer): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetMinIntrinsicWidth")
external fun _nGetMinIntrinsicWidth(ptr: Long): Float
external fun _nGetMinIntrinsicWidth(ptr: NativePointer): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetMaxIntrinsicWidth")
external fun _nGetMaxIntrinsicWidth(ptr: Long): Float
external fun _nGetMaxIntrinsicWidth(ptr: NativePointer): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetAlphabeticBaseline")
external fun _nGetAlphabeticBaseline(ptr: Long): Float
external fun _nGetAlphabeticBaseline(ptr: NativePointer): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetIdeographicBaseline")
external fun _nGetIdeographicBaseline(ptr: Long): Float
external fun _nGetIdeographicBaseline(ptr: NativePointer): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetLongestLine")
external fun _nGetLongestLine(ptr: Long): Float
external fun _nGetLongestLine(ptr: NativePointer): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nDidExceedMaxLines")
external fun _nDidExceedMaxLines(ptr: Long): Boolean
external fun _nDidExceedMaxLines(ptr: NativePointer): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nLayout")
external fun _nLayout(ptr: Long, width: Float)
external fun _nLayout(ptr: NativePointer, width: Float)
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetRectsForRange")
external fun _nGetRectsForRange(
ptr: Long,
ptr: NativePointer,
start: Int,
end: Int,
rectHeightMode: Int,
......@@ -56,38 +58,38 @@ class Paragraph internal constructor(ptr: Long, text: ManagedString?) : Managed(
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetRectsForPlaceholders")
external fun _nGetRectsForPlaceholders(ptr: Long): Array<TextBox>
external fun _nGetRectsForPlaceholders(ptr: NativePointer): Array<TextBox>
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetWordBoundary")
external fun _nGetWordBoundary(ptr: Long, offset: Int): Long
external fun _nGetWordBoundary(ptr: NativePointer, offset: Int): Long
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetLineNumber")
external fun _nGetLineNumber(ptr: Long): Long
external fun _nGetLineNumber(ptr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nMarkDirty")
external fun _nMarkDirty(ptr: Long)
external fun _nMarkDirty(ptr: NativePointer)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nGetUnresolvedGlyphsCount")
external fun _nGetUnresolvedGlyphsCount(ptr: Long): Int
external fun _nGetUnresolvedGlyphsCount(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_Paragraph__1nUpdateAlignment")
external fun _nUpdateAlignment(ptr: Long, Align: Int)
external fun _nUpdateAlignment(ptr: NativePointer, Align: Int)
@JvmStatic
@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
@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
@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 {
staticLoad()
......@@ -217,15 +219,19 @@ class Paragraph internal constructor(ptr: Long, text: ManagedString?) : Managed(
}
}
fun getWordBoundary(offset: Int): IRange {
return try {
Stats.onNativeCall()
IRange.Companion._makeFromLong(_nGetWordBoundary(_ptr, offset))
toIRange(_nGetWordBoundary(_ptr, offset))
} finally {
reachabilityBarrier(this)
}
}
private fun toIRange(p: Long) = IRange((p ushr 32).toInt(), (p and -1).toInt())
val lineMetrics: Array<LineMetrics?>
get() = try {
if (_text == null) {
......@@ -238,7 +244,7 @@ class Paragraph internal constructor(ptr: Long, text: ManagedString?) : Managed(
reachabilityBarrier(this)
reachabilityBarrier(_text)
}
val lineNumber: Long
val lineNumber: NativePointer
get() = try {
Stats.onNativeCall()
_nGetLineNumber(_ptr)
......
......@@ -7,6 +7,8 @@ import org.jetbrains.skia.impl.Managed
import org.jetbrains.skia.impl.Stats
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
class ParagraphBuilder(style: ParagraphStyle?, fc: FontCollection?) :
......@@ -14,23 +16,23 @@ class ParagraphBuilder(style: ParagraphStyle?, fc: FontCollection?) :
companion object {
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphBuilder__1nMake")
external fun _nMake(paragraphStylePtr: Long, fontCollectionPtr: Long): Long
external fun _nMake(paragraphStylePtr: NativePointer, fontCollectionPtr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphBuilder__1nGetFinalizer")
external fun _nGetFinalizer(): Long
external fun _nGetFinalizer(): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphBuilder__1nPushStyle")
external fun _nPushStyle(ptr: Long, textStylePtr: Long)
external fun _nPushStyle(ptr: NativePointer, textStylePtr: NativePointer)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphBuilder__1nPopStyle")
external fun _nPopStyle(ptr: Long)
external fun _nPopStyle(ptr: NativePointer)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphBuilder__1nAddText")
external fun _nAddText(ptr: Long, text: String?)
external fun _nAddText(ptr: NativePointer, text: String?)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphBuilder__1nAddPlaceholder")
external fun _nAddPlaceholder(
ptr: Long,
ptr: NativePointer,
width: Float,
height: Float,
alignment: Int,
......@@ -40,10 +42,10 @@ class ParagraphBuilder(style: ParagraphStyle?, fc: FontCollection?) :
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphBuilder__1nSetParagraphStyle")
external fun _nSetParagraphStyle(ptr: Long, stylePtr: Long)
external fun _nSetParagraphStyle(ptr: NativePointer, stylePtr: NativePointer)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphBuilder__1nBuild")
external fun _nBuild(ptr: Long): Long
external fun _nBuild(ptr: NativePointer): NativePointer
init {
staticLoad()
......
......@@ -6,31 +6,33 @@ import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats
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
class ParagraphCache internal constructor(owner: FontCollection, ptr: Long) : Native(ptr) {
class ParagraphCache internal constructor(owner: FontCollection, ptr: NativePointer) : Native(ptr) {
companion object {
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphCache__1nAbandon")
external fun _nAbandon(ptr: Long)
external fun _nAbandon(ptr: NativePointer)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphCache__1nReset")
external fun _nReset(ptr: Long)
external fun _nReset(ptr: NativePointer)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphCache__1nUpdateParagraph")
external fun _nUpdateParagraph(ptr: Long, paragraphPtr: Long): Boolean
external fun _nUpdateParagraph(ptr: NativePointer, paragraphPtr: NativePointer): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphCache__1nFindParagraph")
external fun _nFindParagraph(ptr: Long, paragraphPtr: Long): Boolean
external fun _nFindParagraph(ptr: NativePointer, paragraphPtr: NativePointer): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphCache__1nPrintStatistics")
external fun _nPrintStatistics(ptr: Long)
external fun _nPrintStatistics(ptr: NativePointer)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphCache__1nSetEnabled")
external fun _nSetEnabled(ptr: Long, value: Boolean)
external fun _nSetEnabled(ptr: NativePointer, value: Boolean)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphCache__1nGetCount")
external fun _nGetCount(ptr: Long): Int
external fun _nGetCount(ptr: NativePointer): Int
init {
staticLoad()
......@@ -111,7 +113,7 @@ class ParagraphCache internal constructor(owner: FontCollection, ptr: Long) : Na
internal val _owner: FontCollection
internal fun _validate() {
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 {
reachabilityBarrier(_owner)
}
......
......@@ -7,76 +7,78 @@ import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats
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
class ParagraphStyle : Managed(_nMake(), _FinalizerHolder.PTR) {
companion object {
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetFinalizer")
external fun _nGetFinalizer(): Long
external fun _nGetFinalizer(): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nMake")
external fun _nMake(): Long
external fun _nMake(): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nEquals")
external fun _nEquals(ptr: Long, otherPtr: Long): Boolean
external fun _nEquals(ptr: NativePointer, otherPtr: NativePointer): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetStrutStyle")
external fun _nGetStrutStyle(ptr: Long): Long
external fun _nGetStrutStyle(ptr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nSetStrutStyle")
external fun _nSetStrutStyle(ptr: Long, stylePtr: Long)
external fun _nSetStrutStyle(ptr: NativePointer, stylePtr: NativePointer)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetTextStyle")
external fun _nGetTextStyle(ptr: Long): Long
external fun _nGetTextStyle(ptr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nSetTextStyle")
external fun _nSetTextStyle(ptr: Long, textStylePtr: Long)
external fun _nSetTextStyle(ptr: NativePointer, textStylePtr: NativePointer)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetDirection")
external fun _nGetDirection(ptr: Long): Int
external fun _nGetDirection(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nSetDirection")
external fun _nSetDirection(ptr: Long, direction: Int)
external fun _nSetDirection(ptr: NativePointer, direction: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetAlignment")
external fun _nGetAlignment(ptr: Long): Int
external fun _nGetAlignment(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nSetAlignment")
external fun _nSetAlignment(ptr: Long, align: Int)
external fun _nSetAlignment(ptr: NativePointer, align: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetMaxLinesCount")
external fun _nGetMaxLinesCount(ptr: Long): Long
external fun _nGetMaxLinesCount(ptr: NativePointer): NativePointer
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nSetMaxLinesCount")
external fun _nSetMaxLinesCount(ptr: Long, maxLines: Long)
external fun _nSetMaxLinesCount(ptr: NativePointer, maxLines: NativePointer)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetEllipsis")
external fun _nGetEllipsis(ptr: Long): String
external fun _nGetEllipsis(ptr: NativePointer): String
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nSetEllipsis")
external fun _nSetEllipsis(ptr: Long, ellipsis: String?)
external fun _nSetEllipsis(ptr: NativePointer, ellipsis: String?)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetHeight")
external fun _nGetHeight(ptr: Long): Float
external fun _nGetHeight(ptr: NativePointer): Float
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nSetHeight")
external fun _nSetHeight(ptr: Long, height: Float)
external fun _nSetHeight(ptr: NativePointer, height: Float)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetHeightMode")
external fun _nGetHeightMode(ptr: Long): Int
external fun _nGetHeightMode(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nSetHeightMode")
external fun _nSetHeightMode(ptr: Long, v: Int)
external fun _nSetHeightMode(ptr: NativePointer, v: Int)
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nGetEffectiveAlignment")
external fun _nGetEffectiveAlignment(ptr: Long): Int
external fun _nGetEffectiveAlignment(ptr: NativePointer): Int
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nIsHintingEnabled")
external fun _nIsHintingEnabled(ptr: Long): Boolean
external fun _nIsHintingEnabled(ptr: NativePointer): Boolean
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_ParagraphStyle__1nDisableHinting")
external fun _nDisableHinting(ptr: Long)
external fun _nDisableHinting(ptr: NativePointer)
init {
staticLoad()
......@@ -169,7 +171,7 @@ class ParagraphStyle : Managed(_nMake(), _FinalizerHolder.PTR) {
return this
}
var maxLinesCount: Long
var maxLinesCount: NativePointer
get() = try {
Stats.onNativeCall()
_nGetMaxLinesCount(_ptr)
......@@ -180,7 +182,7 @@ class ParagraphStyle : Managed(_nMake(), _FinalizerHolder.PTR) {
setMaxLinesCount(value)
}
fun setMaxLinesCount(count: Long): ParagraphStyle {
fun setMaxLinesCount(count: NativePointer): ParagraphStyle {
Stats.onNativeCall()
_nSetMaxLinesCount(_ptr, count)
return this
......
......@@ -7,16 +7,18 @@ import org.jetbrains.skia.FontMgr
import org.jetbrains.skia.impl.Stats
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
class TypefaceFontProvider : FontMgr(_nMake()) {
companion object {
@JvmStatic
@ExternalSymbolName("org_jetbrains_skia_TypefaceFontProvider__1nMake")
external fun _nMake(): Long
external fun _nMake(): NativePointer
@JvmStatic
@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 {
staticLoad()
......
......@@ -7,19 +7,21 @@ import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.Stats
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
class FontMgrRunIterator(text: ManagedString?, manageText: Boolean, font: Font?, opts: ShapingOptions) :
ManagedRunIterator<FontRun?>(
_nMake(Native.getPtr(text), Native.getPtr(font), opts), text, manageText
_nMake(getPtr(text), getPtr(font), opts), text, manageText
) {
companion object {
@JvmStatic
@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
@ExternalSymbolName("org_jetbrains_skia_FontMgrRunIterator__1nGetCurrentFont")
external fun _nGetCurrentFont(ptr: Long): Long
external fun _nGetCurrentFont(ptr: NativePointer): NativePointer
init {
staticLoad()
......
......@@ -2,12 +2,14 @@ package org.jetbrains.skia.shaper
import org.jetbrains.skia.*
import org.jetbrains.skia.impl.Native
import org.jetbrains.skia.impl.NativePointer
import org.jetbrains.skia.impl.getPtr
import org.jetbrains.skia.impl.reachabilityBarrier
class FontRun(internal val end: Int, internal val font: Font) {
private fun _getFontPtr(): Long {
private fun _getFontPtr(): NativePointer {
return try {
Native.Companion.getPtr(font)
getPtr(font)
} finally {
reachabilityBarrier(font)
}
......
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