Unverified Commit 4f96dccf authored by igoriakovlev's avatar igoriakovlev Committed by GitHub

Fix skiko declaration bridges (#627)

parent 42fd44dc
...@@ -77,7 +77,7 @@ private external fun _nMakeGL(width: Int, height: Int, sampleCnt: Int, stencilBi ...@@ -77,7 +77,7 @@ private external fun _nMakeGL(width: Int, height: Int, sampleCnt: Int, stencilBi
@ExternalSymbolName("BackendRenderTarget_nMakeMetal") @ExternalSymbolName("BackendRenderTarget_nMakeMetal")
private external fun _nMakeMetal(width: Int, height: Int, texturePtr: NativePointer): NativePointer private external fun _nMakeMetal(width: Int, height: Int, texturePtr: NativePointer): NativePointer
@ExternalSymbolName("BackendRenderTarget_nMakeDirect3D") @ExternalSymbolName("BackendRenderTarget_MakeDirect3D")
private external fun _nMakeDirect3D( private external fun _nMakeDirect3D(
width: Int, width: Int,
height: Int, height: Int,
......
...@@ -647,8 +647,9 @@ class Bitmap internal constructor(ptr: NativePointer) : Managed(ptr, _FinalizerH ...@@ -647,8 +647,9 @@ class Bitmap internal constructor(ptr: NativePointer) : Managed(ptr, _FinalizerH
val pixelRefOrigin: IPoint val pixelRefOrigin: IPoint
get() = try { get() = try {
Stats.onNativeCall() Stats.onNativeCall()
val res = _nGetPixelRefOrigin(_ptr) val resX = _nGetPixelRefOriginX(_ptr)
toIPoint(res) val resY = _nGetPixelRefOriginY(_ptr)
IPoint(resX, resY)
} finally { } finally {
reachabilityBarrier(this) reachabilityBarrier(this)
} }
...@@ -1154,8 +1155,11 @@ private external fun _nAllocPixels(ptr: NativePointer): Boolean ...@@ -1154,8 +1155,11 @@ private external fun _nAllocPixels(ptr: NativePointer): Boolean
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetPixelRef") @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetPixelRef")
private external fun _nGetPixelRef(ptr: NativePointer): NativePointer private external fun _nGetPixelRef(ptr: NativePointer): NativePointer
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetPixelRefOrigin") @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetPixelRefOriginX")
private external fun _nGetPixelRefOrigin(ptr: NativePointer): Long private external fun _nGetPixelRefOriginX(ptr: NativePointer): Int
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nGetPixelRefOriginY")
private external fun _nGetPixelRefOriginY(ptr: NativePointer): Int
@ExternalSymbolName("org_jetbrains_skia_Bitmap__1nSetPixelRef") @ExternalSymbolName("org_jetbrains_skia_Bitmap__1nSetPixelRef")
private external fun _nSetPixelRef(ptr: NativePointer, pixelRefPtr: NativePointer, dx: Int, dy: Int) private external fun _nSetPixelRef(ptr: NativePointer, pixelRefPtr: NativePointer, dx: Int, dy: Int)
......
...@@ -469,7 +469,9 @@ open class Canvas internal constructor(ptr: NativePointer, managed: Boolean, int ...@@ -469,7 +469,9 @@ open class Canvas internal constructor(ptr: NativePointer, managed: Boolean, int
fun drawString(s: String, x: Float, y: Float, font: Font?, paint: Paint): Canvas { fun drawString(s: String, x: Float, y: Float, font: Font?, paint: Paint): Canvas {
Stats.onNativeCall() Stats.onNativeCall()
_nDrawString(_ptr, s, x, y, getPtr(font), getPtr(paint)) interopScope {
_nDrawString(_ptr, toInterop(s), x, y, getPtr(font), getPtr(paint))
}
reachabilityBarrier(font) reachabilityBarrier(font)
reachabilityBarrier(paint) reachabilityBarrier(paint)
return this return this
...@@ -1345,7 +1347,7 @@ private external fun _nDrawImageNine( ...@@ -1345,7 +1347,7 @@ private external fun _nDrawImageNine(
private external fun _nDrawRegion(ptr: NativePointer, nativeRegion: NativePointer, paintPtr: NativePointer) private external fun _nDrawRegion(ptr: NativePointer, nativeRegion: NativePointer, paintPtr: NativePointer)
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawString") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawString")
private external fun _nDrawString(ptr: NativePointer, string: String?, x: Float, y: Float, font: NativePointer, paint: NativePointer) private external fun _nDrawString(ptr: NativePointer, string: InteropPointer, x: Float, y: Float, font: NativePointer, paint: NativePointer)
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawTextBlob") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawTextBlob")
private external fun _nDrawTextBlob(ptr: NativePointer, blob: NativePointer, x: Float, y: Float, paint: NativePointer) private external fun _nDrawTextBlob(ptr: NativePointer, blob: NativePointer, x: Float, y: Float, paint: NativePointer)
...@@ -1353,7 +1355,6 @@ private external fun _nDrawTextBlob(ptr: NativePointer, blob: NativePointer, x: ...@@ -1353,7 +1355,6 @@ private external fun _nDrawTextBlob(ptr: NativePointer, blob: NativePointer, x:
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawPicture") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawPicture")
private external fun _nDrawPicture(ptr: NativePointer, picturePtr: NativePointer, matrix: InteropPointer, paintPtr: NativePointer) private external fun _nDrawPicture(ptr: NativePointer, picturePtr: NativePointer, matrix: InteropPointer, paintPtr: NativePointer)
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawVertices") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nDrawVertices")
private external fun _nDrawVertices( private external fun _nDrawVertices(
ptr: NativePointer, ptr: NativePointer,
...@@ -1409,7 +1410,6 @@ private external fun _nClipRect( ...@@ -1409,7 +1410,6 @@ private external fun _nClipRect(
antiAlias: Boolean antiAlias: Boolean
) )
@ExternalSymbolName("org_jetbrains_skia_Canvas__1nClipRRect") @ExternalSymbolName("org_jetbrains_skia_Canvas__1nClipRRect")
private external fun _nClipRRect( private external fun _nClipRRect(
ptr: NativePointer, ptr: NativePointer,
......
...@@ -94,8 +94,7 @@ class ColorSpace : Managed { ...@@ -94,8 +94,7 @@ class ColorSpace : Managed {
private external fun ColorSpace_nGetFinalizer(): NativePointer private external fun ColorSpace_nGetFinalizer(): NativePointer
@ExternalSymbolName("org_jetbrains_skia_ColorSpace__nConvert") @ExternalSymbolName("org_jetbrains_skia_ColorSpace__nConvert")
private external fun _nConvert( private external fun _nConvert(fromPtr: NativePointer, toPtr: NativePointer, r: Float, g: Float, b: Float, a: Float, result: InteropPointer)
fromPtr: NativePointer, toPtr: NativePointer, r: Float, g: Float, b: Float, a: Float, result: InteropPointer)
@ExternalSymbolName("org_jetbrains_skia_ColorSpace__1nMakeSRGB") @ExternalSymbolName("org_jetbrains_skia_ColorSpace__1nMakeSRGB")
private external fun _nMakeSRGB(): NativePointer private external fun _nMakeSRGB(): NativePointer
......
...@@ -102,7 +102,7 @@ class DirectContext internal constructor(ptr: NativePointer) : RefCnt(ptr) { ...@@ -102,7 +102,7 @@ class DirectContext internal constructor(ptr: NativePointer) : RefCnt(ptr) {
fun abandon() { fun abandon() {
try { try {
Stats.onNativeCall() Stats.onNativeCall()
_nAbandon(_ptr) _nAbandon(_ptr, 0)
} finally { } finally {
reachabilityBarrier(this) reachabilityBarrier(this)
} }
...@@ -114,7 +114,7 @@ fun <R> DirectContext.useContext(block: (ctx: DirectContext) -> R): R = use { ...@@ -114,7 +114,7 @@ fun <R> DirectContext.useContext(block: (ctx: DirectContext) -> R): R = use {
} }
@ExternalSymbolName("org_jetbrains_skia_DirectContext__1nFlush") @ExternalSymbolName("org_jetbrains_skia_DirectContext__1nFlush")
private external fun DirectContext_nFlush(ptr: NativePointer): NativePointer private external fun DirectContext_nFlush(ptr: NativePointer)
@ExternalSymbolName("org_jetbrains_skia_DirectContext__1nMakeGL") @ExternalSymbolName("org_jetbrains_skia_DirectContext__1nMakeGL")
private external fun _nMakeGL(): NativePointer private external fun _nMakeGL(): NativePointer
...@@ -126,10 +126,10 @@ private external fun _nMakeMetal(devicePtr: NativePointer, queuePtr: NativePoint ...@@ -126,10 +126,10 @@ private external fun _nMakeMetal(devicePtr: NativePointer, queuePtr: NativePoint
private external fun _nMakeDirect3D(adapterPtr: NativePointer, devicePtr: NativePointer, queuePtr: NativePointer): NativePointer private external fun _nMakeDirect3D(adapterPtr: NativePointer, devicePtr: NativePointer, queuePtr: NativePointer): NativePointer
@ExternalSymbolName("org_jetbrains_skia_DirectContext__1nSubmit") @ExternalSymbolName("org_jetbrains_skia_DirectContext__1nSubmit")
private external fun _nSubmit(ptr: NativePointer, syncCpu: Boolean): NativePointer private external fun _nSubmit(ptr: NativePointer, syncCpu: Boolean)
@ExternalSymbolName("org_jetbrains_skia_DirectContext__1nReset") @ExternalSymbolName("org_jetbrains_skia_DirectContext__1nReset")
private external fun _nReset(ptr: NativePointer, flags: Int) private external fun _nReset(ptr: NativePointer, flags: Int)
@ExternalSymbolName("org_jetbrains_skia_DirectContext__1nAbandon") @ExternalSymbolName("org_jetbrains_skia_DirectContext__1nAbandon")
private external fun _nAbandon(ptr: NativePointer) private external fun _nAbandon(ptr: NativePointer, flags: Int)
...@@ -572,7 +572,7 @@ class Font : Managed { ...@@ -572,7 +572,7 @@ class Font : Managed {
val spacing: Float val spacing: Float
get() = try { get() = try {
Stats.onNativeCall() Stats.onNativeCall()
_nGetSpacing(_ptr) _nGetSpacing(_ptr, NullPointer)
} finally { } finally {
reachabilityBarrier(this) reachabilityBarrier(this)
} }
...@@ -716,4 +716,4 @@ private external fun _nGetPaths(ptr: NativePointer, glyphs: InteropPointer, coun ...@@ -716,4 +716,4 @@ private external fun _nGetPaths(ptr: NativePointer, glyphs: InteropPointer, coun
private external fun _nGetMetrics(ptr: NativePointer, metrics: InteropPointer) private external fun _nGetMetrics(ptr: NativePointer, metrics: InteropPointer)
@ExternalSymbolName("org_jetbrains_skia_Font__1nGetSpacing") @ExternalSymbolName("org_jetbrains_skia_Font__1nGetSpacing")
private external fun _nGetSpacing(ptr: NativePointer): Float private external fun _nGetSpacing(ptr: NativePointer, glyphsArr: NativePointer): Float
...@@ -83,7 +83,7 @@ open class FontMgr : RefCnt { ...@@ -83,7 +83,7 @@ open class FontMgr : RefCnt {
fun matchFamilyStyle(familyName: String?, style: FontStyle): Typeface? { fun matchFamilyStyle(familyName: String?, style: FontStyle): Typeface? {
return try { return try {
Stats.onNativeCall() Stats.onNativeCall()
val ptr = _nMatchFamilyStyle(_ptr, familyName, style._value) val ptr = interopScope { _nMatchFamilyStyle(_ptr, toInterop(familyName), style._value) }
if (ptr == NullPointer) null else Typeface(ptr) if (ptr == NullPointer) null else Typeface(ptr)
} finally { } finally {
reachabilityBarrier(this) reachabilityBarrier(this)
...@@ -116,12 +116,21 @@ open class FontMgr : RefCnt { ...@@ -116,12 +116,21 @@ open class FontMgr : RefCnt {
fun matchFamilyStyleCharacter( fun matchFamilyStyleCharacter(
familyName: String?, familyName: String?,
style: FontStyle, style: FontStyle,
bcp47: Array<String?>?, bcp47: Array<String>?,
character: Int character: Int
): Typeface? { ): Typeface? {
return try { return try {
Stats.onNativeCall() Stats.onNativeCall()
val ptr = _nMatchFamilyStyleCharacter(_ptr, familyName, style._value, bcp47, bcp47?.size ?: 0, character) val ptr = interopScope {
_nMatchFamilyStyleCharacter(
_ptr,
toInterop(familyName),
style._value,
toInterop(bcp47 ?: emptyArray()),
bcp47?.size ?: 0,
character
)
}
if (ptr == NullPointer) null else Typeface(ptr) if (ptr == NullPointer) null else Typeface(ptr)
} finally { } finally {
reachabilityBarrier(this) reachabilityBarrier(this)
...@@ -131,7 +140,7 @@ open class FontMgr : RefCnt { ...@@ -131,7 +140,7 @@ open class FontMgr : RefCnt {
fun matchFamiliesStyleCharacter( fun matchFamiliesStyleCharacter(
families: Array<String?>, families: Array<String?>,
style: FontStyle, style: FontStyle,
bcp47: Array<String?>?, bcp47: Array<String>?,
character: Int character: Int
): Typeface? { ): Typeface? {
for (family in families) { for (family in families) {
...@@ -177,14 +186,14 @@ private external fun _nMakeStyleSet(ptr: NativePointer, index: Int): NativePoint ...@@ -177,14 +186,14 @@ private external fun _nMakeStyleSet(ptr: NativePointer, index: Int): NativePoint
private external fun _nMatchFamily(ptr: NativePointer, familyName: InteropPointer): NativePointer private external fun _nMatchFamily(ptr: NativePointer, familyName: InteropPointer): NativePointer
@ExternalSymbolName("org_jetbrains_skia_FontMgr__1nMatchFamilyStyle") @ExternalSymbolName("org_jetbrains_skia_FontMgr__1nMatchFamilyStyle")
private external fun _nMatchFamilyStyle(ptr: NativePointer, familyName: String?, fontStyle: Int): NativePointer private external fun _nMatchFamilyStyle(ptr: NativePointer, familyName: InteropPointer, fontStyle: Int): NativePointer
@ExternalSymbolName("org_jetbrains_skia_FontMgr__1nMatchFamilyStyleCharacter") @ExternalSymbolName("org_jetbrains_skia_FontMgr__1nMatchFamilyStyleCharacter")
private external fun _nMatchFamilyStyleCharacter( private external fun _nMatchFamilyStyleCharacter(
ptr: NativePointer, ptr: NativePointer,
familyName: String?, familyName: InteropPointer,
fontStyle: Int, fontStyle: Int,
bcp47: Array<String?>?, bcp47: InteropPointer,
bcp47size: Int, bcp47size: Int,
character: Int character: Int
): NativePointer ): NativePointer
......
...@@ -786,18 +786,25 @@ private external fun _nMakeMatrixConvolution( ...@@ -786,18 +786,25 @@ private external fun _nMakeMatrixConvolution(
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeMatrixTransform") @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeMatrixTransform")
private external fun _nMakeMatrixTransform(matrix: InteropPointer, samplingModeVal1: Int, samplingModeVal2: Int, input: NativePointer): NativePointer private external fun _nMakeMatrixTransform(matrix: InteropPointer, samplingModeVal1: Int, samplingModeVal2: Int, input: NativePointer): NativePointer
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeMerge") @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeMerge")
private external fun _nMakeMerge(filters: InteropPointer, filtersLength: Int, crop: InteropPointer): NativePointer private external fun _nMakeMerge(filters: InteropPointer, filtersLength: Int, crop: InteropPointer): NativePointer
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeOffset") @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeOffset")
private external fun _nMakeOffset(dx: Float, dy: Float, input: NativePointer, crop: InteropPointer): NativePointer private external fun _nMakeOffset(dx: Float, dy: Float, input: NativePointer, crop: InteropPointer): NativePointer
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakePaint") @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakePaint")
private external fun _nMakePaint(paint: NativePointer, crop: InteropPointer): NativePointer private external fun _nMakePaint(paint: NativePointer, crop: InteropPointer): NativePointer
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakePicture") @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakePicture")
private external fun _nMakePicture(picture: NativePointer, l: Float, t: Float, r: Float, b: Float): NativePointer private external fun _nMakePicture(picture: NativePointer, l: Float, t: Float, r: Float, b: Float): NativePointer
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeRuntimeShader") @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeRuntimeShader")
private external fun _nMakeRuntimeShader(runtimeShaderBuilderPtr: NativePointer, childShaderName: InteropPointer, input: NativePointer): NativePointer private external fun _nMakeRuntimeShader(runtimeShaderBuilderPtr: NativePointer, childShaderName: InteropPointer, input: NativePointer): NativePointer
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeRuntimeShaderFromArray") @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeRuntimeShaderFromArray")
private external fun _nMakeRuntimeShaderFromArray(runtimeShaderBuilderPtr: NativePointer, childShaderNames: InteropPointer, inputs: InteropPointer, inputLength: Int): NativePointer private external fun _nMakeRuntimeShaderFromArray(runtimeShaderBuilderPtr: NativePointer, childShaderNames: InteropPointer, inputs: InteropPointer, inputLength: Int): NativePointer
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeTile") @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeTile")
private external fun _nMakeTile( private external fun _nMakeTile(
l0: Float, l0: Float,
...@@ -813,8 +820,10 @@ private external fun _nMakeTile( ...@@ -813,8 +820,10 @@ private external fun _nMakeTile(
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeDilate") @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeDilate")
private external fun _nMakeDilate(rx: Float, ry: Float, input: NativePointer, crop: InteropPointer): NativePointer private external fun _nMakeDilate(rx: Float, ry: Float, input: NativePointer, crop: InteropPointer): NativePointer
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeErode") @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeErode")
private external fun _nMakeErode(rx: Float, ry: Float, input: NativePointer, crop: InteropPointer): NativePointer private external fun _nMakeErode(rx: Float, ry: Float, input: NativePointer, crop: InteropPointer): NativePointer
@ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeDistantLitDiffuse") @ExternalSymbolName("org_jetbrains_skia_ImageFilter__1nMakeDistantLitDiffuse")
private external fun _nMakeDistantLitDiffuse( private external fun _nMakeDistantLitDiffuse(
x: Float, x: Float,
......
...@@ -40,7 +40,6 @@ class RuntimeEffect internal constructor(ptr: NativePointer) : RefCnt(ptr) { ...@@ -40,7 +40,6 @@ class RuntimeEffect internal constructor(ptr: NativePointer) : RefCnt(ptr) {
internal expect fun RuntimeEffect.Companion.makeFromResultPtr(ptr: NativePointer): RuntimeEffect internal expect fun RuntimeEffect.Companion.makeFromResultPtr(ptr: NativePointer): RuntimeEffect
@ExternalSymbolName("org_jetbrains_skia_RuntimeEffect__1nMakeShader") @ExternalSymbolName("org_jetbrains_skia_RuntimeEffect__1nMakeShader")
private external fun _nMakeShader( private external fun _nMakeShader(
runtimeEffectPtr: NativePointer, uniformPtr: NativePointer, childrenPtrs: InteropPointer, runtimeEffectPtr: NativePointer, uniformPtr: NativePointer, childrenPtrs: InteropPointer,
......
...@@ -277,14 +277,16 @@ class Surface : RefCnt { ...@@ -277,14 +277,16 @@ class Surface : RefCnt {
): Surface? { ): Surface? {
return try { return try {
Stats.onNativeCall() Stats.onNativeCall()
val ptr = _nMakeFromBackendRenderTarget( val ptr = interopScope {
_nMakeFromBackendRenderTarget(
getPtr(context), getPtr(context),
getPtr(rt), getPtr(rt),
origin.ordinal, origin.ordinal,
colorFormat.ordinal, colorFormat.ordinal,
getPtr(colorSpace), getPtr(colorSpace),
surfaceProps toInterop(surfaceProps?.packToIntArray())
) )
}
if (ptr == NullPointer) if (ptr == NullPointer)
null null
else else
...@@ -307,15 +309,17 @@ class Surface : RefCnt { ...@@ -307,15 +309,17 @@ class Surface : RefCnt {
): Surface { ): Surface {
return try { return try {
Stats.onNativeCall() Stats.onNativeCall()
val ptr = _nMakeFromMTKView( val ptr = interopScope {
_nMakeFromMTKView(
getPtr(context), getPtr(context),
mtkViewPtr, mtkViewPtr,
origin.ordinal, origin.ordinal,
sampleCount, sampleCount,
colorFormat.ordinal, colorFormat.ordinal,
getPtr(colorSpace), getPtr(colorSpace),
surfaceProps toInterop(surfaceProps?.packToIntArray())
) )
}
require(ptr != NullPointer) { require(ptr != NullPointer) {
"Failed Surface.makeFromMTKView($context, $mtkViewPtr $origin, $colorFormat, $surfaceProps)" "Failed Surface.makeFromMTKView($context, $mtkViewPtr $origin, $colorFormat, $surfaceProps)"
} }
...@@ -489,7 +493,8 @@ class Surface : RefCnt { ...@@ -489,7 +493,8 @@ class Surface : RefCnt {
): Surface { ): Surface {
return try { return try {
Stats.onNativeCall() Stats.onNativeCall()
val ptr = _nMakeRenderTarget( val ptr = interopScope {
_nMakeRenderTarget(
getPtr(context), getPtr(context),
budgeted, budgeted,
imageInfo.width, imageInfo.width,
...@@ -499,9 +504,10 @@ class Surface : RefCnt { ...@@ -499,9 +504,10 @@ class Surface : RefCnt {
getPtr(imageInfo.colorInfo.colorSpace), getPtr(imageInfo.colorInfo.colorSpace),
sampleCount, sampleCount,
origin.ordinal, origin.ordinal,
surfaceProps, toInterop(surfaceProps?.packToIntArray()),
shouldCreateWithMips shouldCreateWithMips
) )
}
require(ptr != NullPointer) { require(ptr != NullPointer) {
"Failed Surface.makeRenderTarget($context, $budgeted, $imageInfo, $sampleCount, $origin, $surfaceProps, $shouldCreateWithMips)" "Failed Surface.makeRenderTarget($context, $budgeted, $imageInfo, $sampleCount, $origin, $surfaceProps, $shouldCreateWithMips)"
} }
...@@ -1066,10 +1072,9 @@ private external fun _nMakeFromBackendRenderTarget( ...@@ -1066,10 +1072,9 @@ private external fun _nMakeFromBackendRenderTarget(
surfaceOrigin: Int, surfaceOrigin: Int,
colorType: Int, colorType: Int,
colorSpacePtr: NativePointer, colorSpacePtr: NativePointer,
surfaceProps: SurfaceProps? surfaceProps: InteropPointer
): NativePointer ): NativePointer
@ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeFromMTKView") @ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeFromMTKView")
private external fun _nMakeFromMTKView( private external fun _nMakeFromMTKView(
contextPtr: NativePointer, contextPtr: NativePointer,
...@@ -1078,10 +1083,9 @@ private external fun _nMakeFromMTKView( ...@@ -1078,10 +1083,9 @@ private external fun _nMakeFromMTKView(
sampleCount: Int, sampleCount: Int,
colorType: Int, colorType: Int,
colorSpacePtr: NativePointer, colorSpacePtr: NativePointer,
surfaceProps: SurfaceProps? surfaceProps: InteropPointer
): NativePointer ): NativePointer
@ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeRenderTarget") @ExternalSymbolName("org_jetbrains_skia_Surface__1nMakeRenderTarget")
private external fun _nMakeRenderTarget( private external fun _nMakeRenderTarget(
contextPtr: NativePointer, contextPtr: NativePointer,
...@@ -1093,7 +1097,7 @@ private external fun _nMakeRenderTarget( ...@@ -1093,7 +1097,7 @@ private external fun _nMakeRenderTarget(
colorSpacePtr: NativePointer, colorSpacePtr: NativePointer,
sampleCount: Int, sampleCount: Int,
surfaceOrigin: Int, surfaceOrigin: Int,
surfaceProps: SurfaceProps?, surfaceProps: InteropPointer,
shouldCreateWithMips: Boolean shouldCreateWithMips: Boolean
): NativePointer ): NativePointer
......
...@@ -342,7 +342,7 @@ class Typeface internal constructor(ptr: NativePointer) : RefCnt(ptr) { ...@@ -342,7 +342,7 @@ class Typeface internal constructor(ptr: NativePointer) : RefCnt(ptr) {
if (glyphs != null) { if (glyphs != null) {
if (glyphs.size > 0) { if (glyphs.size > 0) {
withNullableResult(IntArray(glyphs.size)) { withNullableResult(IntArray(glyphs.size)) {
_nGetKerningPairAdjustments(_ptr, glyphs, glyphs.size, it) _nGetKerningPairAdjustments(_ptr, toInterop(glyphs), glyphs.size, it)
} }
} else null } else null
} else null } else null
...@@ -485,7 +485,7 @@ private external fun _nGetUnitsPerEm(ptr: NativePointer): Int ...@@ -485,7 +485,7 @@ private external fun _nGetUnitsPerEm(ptr: NativePointer): Int
@ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetKerningPairAdjustments") @ExternalSymbolName("org_jetbrains_skia_Typeface__1nGetKerningPairAdjustments")
private external fun _nGetKerningPairAdjustments( private external fun _nGetKerningPairAdjustments(
ptr: NativePointer, ptr: NativePointer,
glyphs: ShortArray, glyphs: InteropPointer,
count: Int, count: Int,
adjustments: InteropPointer adjustments: InteropPointer
): Boolean ): Boolean
......
...@@ -27,7 +27,7 @@ class FontCollection internal constructor(ptr: NativePointer) : RefCnt(ptr) { ...@@ -27,7 +27,7 @@ class FontCollection internal constructor(ptr: NativePointer) : RefCnt(ptr) {
fun setAssetFontManager(fontMgr: FontMgr?): FontCollection { fun setAssetFontManager(fontMgr: FontMgr?): FontCollection {
return try { return try {
Stats.onNativeCall() Stats.onNativeCall()
_nSetAssetFontManager(_ptr, getPtr(fontMgr)) _nSetAssetFontManager(_ptr, getPtr(fontMgr), NullPointer)
this this
} finally { } finally {
reachabilityBarrier(fontMgr) reachabilityBarrier(fontMgr)
...@@ -39,7 +39,8 @@ class FontCollection internal constructor(ptr: NativePointer) : RefCnt(ptr) { ...@@ -39,7 +39,8 @@ class FontCollection internal constructor(ptr: NativePointer) : RefCnt(ptr) {
Stats.onNativeCall() Stats.onNativeCall()
_nSetDynamicFontManager( _nSetDynamicFontManager(
_ptr, _ptr,
getPtr(fontMgr) getPtr(fontMgr),
NullPointer
) )
this this
} finally { } finally {
...@@ -50,7 +51,7 @@ class FontCollection internal constructor(ptr: NativePointer) : RefCnt(ptr) { ...@@ -50,7 +51,7 @@ class FontCollection internal constructor(ptr: NativePointer) : RefCnt(ptr) {
fun setTestFontManager(fontMgr: FontMgr?): FontCollection { fun setTestFontManager(fontMgr: FontMgr?): FontCollection {
return try { return try {
Stats.onNativeCall() Stats.onNativeCall()
_nSetTestFontManager(_ptr, getPtr(fontMgr)) _nSetTestFontManager(_ptr, getPtr(fontMgr), NullPointer)
this this
} finally { } finally {
reachabilityBarrier(fontMgr) reachabilityBarrier(fontMgr)
...@@ -143,16 +144,16 @@ private external fun _nMake(): NativePointer ...@@ -143,16 +144,16 @@ private external fun _nMake(): NativePointer
private external fun _nGetFontManagersCount(ptr: NativePointer): Int private external fun _nGetFontManagersCount(ptr: NativePointer): Int
@ExternalSymbolName("org_jetbrains_skia_paragraph_FontCollection__1nSetAssetFontManager") @ExternalSymbolName("org_jetbrains_skia_paragraph_FontCollection__1nSetAssetFontManager")
private external fun _nSetAssetFontManager(ptr: NativePointer, fontManagerPtr: NativePointer): NativePointer private external fun _nSetAssetFontManager(ptr: NativePointer, fontManagerPtr: NativePointer, defaultFamilyNameStr: NativePointer)
@ExternalSymbolName("org_jetbrains_skia_paragraph_FontCollection__1nSetDynamicFontManager") @ExternalSymbolName("org_jetbrains_skia_paragraph_FontCollection__1nSetDynamicFontManager")
private external fun _nSetDynamicFontManager(ptr: NativePointer, fontManagerPtr: NativePointer): NativePointer private external fun _nSetDynamicFontManager(ptr: NativePointer, fontManagerPtr: NativePointer, defaultFamilyNameStr: NativePointer)
@ExternalSymbolName("org_jetbrains_skia_paragraph_FontCollection__1nSetTestFontManager") @ExternalSymbolName("org_jetbrains_skia_paragraph_FontCollection__1nSetTestFontManager")
private external fun _nSetTestFontManager(ptr: NativePointer, fontManagerPtr: NativePointer): NativePointer private external fun _nSetTestFontManager(ptr: NativePointer, fontManagerPtr: NativePointer, defaultFamilyNameStr: NativePointer)
@ExternalSymbolName("org_jetbrains_skia_paragraph_FontCollection__1nSetDefaultFontManager") @ExternalSymbolName("org_jetbrains_skia_paragraph_FontCollection__1nSetDefaultFontManager")
private external fun _nSetDefaultFontManager(ptr: NativePointer, fontManagerPtr: NativePointer, defaultFamilyName: InteropPointer): NativePointer private external fun _nSetDefaultFontManager(ptr: NativePointer, fontManagerPtr: NativePointer, defaultFamilyName: InteropPointer)
@ExternalSymbolName("org_jetbrains_skia_paragraph_FontCollection__1nGetFallbackManager") @ExternalSymbolName("org_jetbrains_skia_paragraph_FontCollection__1nGetFallbackManager")
private external fun _nGetFallbackManager(ptr: NativePointer): NativePointer private external fun _nGetFallbackManager(ptr: NativePointer): NativePointer
...@@ -167,7 +168,7 @@ private external fun _nDefaultFallbackChar(ptr: NativePointer, unicode: Int, fon ...@@ -167,7 +168,7 @@ private external fun _nDefaultFallbackChar(ptr: NativePointer, unicode: Int, fon
private external fun _nDefaultFallback(ptr: NativePointer): NativePointer private external fun _nDefaultFallback(ptr: NativePointer): NativePointer
@ExternalSymbolName("org_jetbrains_skia_paragraph_FontCollection__1nSetEnableFallback") @ExternalSymbolName("org_jetbrains_skia_paragraph_FontCollection__1nSetEnableFallback")
private external fun _nSetEnableFallback(ptr: NativePointer, value: Boolean): NativePointer private external fun _nSetEnableFallback(ptr: NativePointer, value: Boolean)
@ExternalSymbolName("org_jetbrains_skia_paragraph_FontCollection__1nGetParagraphCache") @ExternalSymbolName("org_jetbrains_skia_paragraph_FontCollection__1nGetParagraphCache")
private external fun _nGetParagraphCache(ptr: NativePointer): NativePointer private external fun _nGetParagraphCache(ptr: NativePointer): NativePointer
...@@ -306,7 +306,7 @@ private external fun _nDidExceedMaxLines(ptr: NativePointer): Boolean ...@@ -306,7 +306,7 @@ private external fun _nDidExceedMaxLines(ptr: NativePointer): Boolean
private external fun _nLayout(ptr: NativePointer, width: Float) private external fun _nLayout(ptr: NativePointer, width: Float)
@ExternalSymbolName("org_jetbrains_skia_paragraph_Paragraph__1nPaint") @ExternalSymbolName("org_jetbrains_skia_paragraph_Paragraph__1nPaint")
private external fun _nPaint(ptr: NativePointer, canvasPtr: NativePointer, x: Float, y: Float): NativePointer private external fun _nPaint(ptr: NativePointer, canvasPtr: NativePointer, x: Float, y: Float)
@ExternalSymbolName("org_jetbrains_skia_paragraph_Paragraph__1nGetRectsForRange") @ExternalSymbolName("org_jetbrains_skia_paragraph_Paragraph__1nGetRectsForRange")
private external fun _nGetRectsForRange( private external fun _nGetRectsForRange(
......
...@@ -26,7 +26,7 @@ class ParagraphBuilder(style: ParagraphStyle?, fc: FontCollection?) : ...@@ -26,7 +26,7 @@ class ParagraphBuilder(style: ParagraphStyle?, fc: FontCollection?) :
fun popStyle(): ParagraphBuilder { fun popStyle(): ParagraphBuilder {
Stats.onNativeCall() Stats.onNativeCall()
_nPopStyle(_ptr) _nPopStyle(_ptr, NullPointer)
return this return this
} }
...@@ -84,7 +84,7 @@ private external fun _nMake(paragraphStylePtr: NativePointer, fontCollectionPtr: ...@@ -84,7 +84,7 @@ private external fun _nMake(paragraphStylePtr: NativePointer, fontCollectionPtr:
private external fun _nPushStyle(ptr: NativePointer, textStylePtr: NativePointer) private external fun _nPushStyle(ptr: NativePointer, textStylePtr: NativePointer)
@ExternalSymbolName("org_jetbrains_skia_paragraph_ParagraphBuilder__1nPopStyle") @ExternalSymbolName("org_jetbrains_skia_paragraph_ParagraphBuilder__1nPopStyle")
private external fun _nPopStyle(ptr: NativePointer) private external fun _nPopStyle(ptr: NativePointer, textStylePtr: NativePointer)
@ExternalSymbolName("org_jetbrains_skia_paragraph_ParagraphBuilder__1nAddText") @ExternalSymbolName("org_jetbrains_skia_paragraph_ParagraphBuilder__1nAddText")
private external fun _nAddText(ptr: NativePointer, text: InteropPointer) private external fun _nAddText(ptr: NativePointer, text: InteropPointer)
......
...@@ -61,7 +61,7 @@ class ParagraphCache internal constructor(owner: FontCollection, ptr: NativePoin ...@@ -61,7 +61,7 @@ class ParagraphCache internal constructor(owner: FontCollection, ptr: NativePoin
try { try {
_validate() _validate()
Stats.onNativeCall() Stats.onNativeCall()
_nPrintStatistics(_ptr) _nPrintStatistics(_ptr, NullPointer)
} finally { } finally {
reachabilityBarrier(this) reachabilityBarrier(this)
} }
...@@ -113,7 +113,7 @@ private external fun _nUpdateParagraph(ptr: NativePointer, paragraphPtr: NativeP ...@@ -113,7 +113,7 @@ private external fun _nUpdateParagraph(ptr: NativePointer, paragraphPtr: NativeP
private external fun _nFindParagraph(ptr: NativePointer, paragraphPtr: NativePointer): Boolean private external fun _nFindParagraph(ptr: NativePointer, paragraphPtr: NativePointer): Boolean
@ExternalSymbolName("org_jetbrains_skia_paragraph_ParagraphCache__1nPrintStatistics") @ExternalSymbolName("org_jetbrains_skia_paragraph_ParagraphCache__1nPrintStatistics")
private external fun _nPrintStatistics(ptr: NativePointer) private external fun _nPrintStatistics(ptr: NativePointer, paragraphPtr: NativePointer)
@ExternalSymbolName("org_jetbrains_skia_paragraph_ParagraphCache__1nSetEnabled") @ExternalSymbolName("org_jetbrains_skia_paragraph_ParagraphCache__1nSetEnabled")
private external fun _nSetEnabled(ptr: NativePointer, value: Boolean) private external fun _nSetEnabled(ptr: NativePointer, value: Boolean)
......
...@@ -223,7 +223,7 @@ private external fun _nGetFontFamilies(ptr: NativePointer): NativePointer ...@@ -223,7 +223,7 @@ private external fun _nGetFontFamilies(ptr: NativePointer): NativePointer
private external fun StrutStyle_nSetFontFamilies(ptr: NativePointer, families: InteropPointer, familiesCount: Int) private external fun StrutStyle_nSetFontFamilies(ptr: NativePointer, families: InteropPointer, familiesCount: Int)
@ExternalSymbolName("org_jetbrains_skia_paragraph_StrutStyle__1nGetFontStyle") @ExternalSymbolName("org_jetbrains_skia_paragraph_StrutStyle__1nGetFontStyle")
private external fun _nGetFontStyle(ptr: NativePointer, fontStyleData: InteropPointer): Int private external fun _nGetFontStyle(ptr: NativePointer, fontStyleData: InteropPointer)
@ExternalSymbolName("org_jetbrains_skia_paragraph_StrutStyle__1nSetFontStyle") @ExternalSymbolName("org_jetbrains_skia_paragraph_StrutStyle__1nSetFontStyle")
private external fun _nSetFontStyle(ptr: NativePointer, value: Int) private external fun _nSetFontStyle(ptr: NativePointer, value: Int)
......
...@@ -277,7 +277,7 @@ class TextStyle internal constructor(ptr: NativePointer) : Managed(ptr, _Finaliz ...@@ -277,7 +277,7 @@ class TextStyle internal constructor(ptr: NativePointer) : Managed(ptr, _Finaliz
var isHalfLeading: Boolean var isHalfLeading: Boolean
get() = try { get() = try {
Stats.onNativeCall() Stats.onNativeCall()
TextStyle_nIsHalfLeading(_ptr) TextStyle_nGetHalfLeading(_ptr)
} finally { } finally {
reachabilityBarrier(this) reachabilityBarrier(this)
} }
...@@ -465,8 +465,8 @@ private external fun TextStyle_nGetHeight(ptr: NativePointer): Float ...@@ -465,8 +465,8 @@ private external fun TextStyle_nGetHeight(ptr: NativePointer): Float
@ExternalSymbolName("org_jetbrains_skia_paragraph_TextStyle__1nSetHeight") @ExternalSymbolName("org_jetbrains_skia_paragraph_TextStyle__1nSetHeight")
private external fun TextStyle_nSetHeight(ptr: NativePointer, override: Boolean, height: Float) private external fun TextStyle_nSetHeight(ptr: NativePointer, override: Boolean, height: Float)
@ExternalSymbolName("org_jetbrains_skia_paragraph_TextStyle__1nIsHalfLeading") @ExternalSymbolName("org_jetbrains_skia_paragraph_TextStyle__1nGetHalfLeading")
private external fun TextStyle_nIsHalfLeading(ptr: NativePointer): Boolean private external fun TextStyle_nGetHalfLeading(ptr: NativePointer): Boolean
@ExternalSymbolName("org_jetbrains_skia_paragraph_TextStyle__1nSetHalfLeading") @ExternalSymbolName("org_jetbrains_skia_paragraph_TextStyle__1nSetHalfLeading")
private external fun TextStyle_nSetHalfLeading(ptr: NativePointer, value: Boolean) private external fun TextStyle_nSetHalfLeading(ptr: NativePointer, value: Boolean)
......
...@@ -70,6 +70,7 @@ class BitmapTest { ...@@ -70,6 +70,7 @@ class BitmapTest {
assertTrue(bitmap.rowBytes > 0) assertTrue(bitmap.rowBytes > 0)
assertEquals(5 * bitmap.rowBytes, result.size) assertEquals(5 * bitmap.rowBytes, result.size)
} }
@Test @Test
fun canPeekPixels() = runTest { fun canPeekPixels() = runTest {
val bitmap = Bitmap() val bitmap = Bitmap()
...@@ -130,4 +131,19 @@ class BitmapTest { ...@@ -130,4 +131,19 @@ class BitmapTest {
assertEquals(value, dataBytes[ix]) assertEquals(value, dataBytes[ix])
} }
} }
@Test
fun canSetOrGetPixelRefOrigin() = runTest {
val source = Bitmap()
source.allocPixels(ImageInfo.makeS32(15, 15, ColorAlphaType.OPAQUE))
val subset = Bitmap()
source.extractSubset(subset, IRect.makeXYWH(5, 5, 10, 10))
val sourceOrigin = source.pixelRefOrigin
val subsetOrigin = subset.pixelRefOrigin
assertEquals(sourceOrigin.x, 0)
assertEquals(sourceOrigin.y, 0)
assertEquals(subsetOrigin.x, 5)
assertEquals(subsetOrigin.y, 5)
}
} }
\ No newline at end of file
...@@ -93,9 +93,7 @@ class CanvasTest { ...@@ -93,9 +93,7 @@ class CanvasTest {
private suspend fun fontInter36() = private suspend fun fontInter36() =
Font(Typeface.makeFromResource("./fonts/Inter-Hinted-Regular.ttf"), 36f) Font(Typeface.makeFromResource("./fonts/Inter-Hinted-Regular.ttf"), 36f)
// TODO(karpovich): enable for all platforms @Test
// native and js don't work: resulting image has no changed pixels (typeface implementations required)
@Test @SkipNativeTarget @SkipJsTarget
fun drawString() = runTest { fun drawString() = runTest {
val surface = Surface.makeRasterN32Premul(100, 100) val surface = Surface.makeRasterN32Premul(100, 100)
......
...@@ -161,11 +161,18 @@ extern "C" JNIEXPORT jlong JNICALL Java_org_jetbrains_skia_BitmapKt__1nGetPixelR ...@@ -161,11 +161,18 @@ extern "C" JNIEXPORT jlong JNICALL Java_org_jetbrains_skia_BitmapKt__1nGetPixelR
return reinterpret_cast<jlong>(pixelRef); return reinterpret_cast<jlong>(pixelRef);
} }
extern "C" JNIEXPORT jlong JNICALL Java_org_jetbrains_skia_BitmapKt__1nGetPixelRefOrigin extern "C" JNIEXPORT jint JNICALL Java_org_jetbrains_skia_BitmapKt__1nGetPixelRefOriginX
(JNIEnv* env, jclass jclass, jlong ptr) { (JNIEnv* env, jclass jclass, jlong ptr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr)); SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr));
SkIPoint origin = instance->pixelRefOrigin(); SkIPoint origin = instance->pixelRefOrigin();
return packIPoint(origin); return origin.x();
}
extern "C" JNIEXPORT jint JNICALL Java_org_jetbrains_skia_BitmapKt__1nGetPixelRefOriginY
(JNIEnv* env, jclass jclass, jlong ptr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>(static_cast<uintptr_t>(ptr));
SkIPoint origin = instance->pixelRefOrigin();
return origin.y();
} }
extern "C" JNIEXPORT void JNICALL Java_org_jetbrains_skia_BitmapKt__1nSetPixelRef extern "C" JNIEXPORT void JNICALL Java_org_jetbrains_skia_BitmapKt__1nSetPixelRef
......
...@@ -245,7 +245,7 @@ extern "C" JNIEXPORT void JNICALL Java_org_jetbrains_skia_paragraph_TextStyleKt_ ...@@ -245,7 +245,7 @@ extern "C" JNIEXPORT void JNICALL Java_org_jetbrains_skia_paragraph_TextStyleKt_
instance->setHeight(height); instance->setHeight(height);
} }
extern "C" JNIEXPORT jboolean JNICALL Java_org_jetbrains_skia_paragraph_TextStyleKt_TextStyle_1nIsHalfLeading extern "C" JNIEXPORT jboolean JNICALL Java_org_jetbrains_skia_paragraph_TextStyleKt_TextStyle_1nGetHalfLeading
(JNIEnv* env, jclass jclass, jlong ptr) { (JNIEnv* env, jclass jclass, jlong ptr) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr)); TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
return instance->getHalfLeading(); return instance->getHalfLeading();
......
...@@ -173,11 +173,18 @@ SKIKO_EXPORT KNativePointer org_jetbrains_skia_Bitmap__1nGetPixelRef ...@@ -173,11 +173,18 @@ SKIKO_EXPORT KNativePointer org_jetbrains_skia_Bitmap__1nGetPixelRef
return reinterpret_cast<KNativePointer>(pixelRef); return reinterpret_cast<KNativePointer>(pixelRef);
} }
SKIKO_EXPORT KLong org_jetbrains_skia_Bitmap__1nGetPixelRefOrigin SKIKO_EXPORT KInt org_jetbrains_skia_Bitmap__1nGetPixelRefOriginX
(KNativePointer ptr) { (KNativePointer ptr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>((ptr)); SkBitmap* instance = reinterpret_cast<SkBitmap*>((ptr));
SkIPoint origin = instance->pixelRefOrigin(); SkIPoint origin = instance->pixelRefOrigin();
return packIPoint(origin); return origin.x();
}
SKIKO_EXPORT KInt org_jetbrains_skia_Bitmap__1nGetPixelRefOriginY
(KNativePointer ptr) {
SkBitmap* instance = reinterpret_cast<SkBitmap*>((ptr));
SkIPoint origin = instance->pixelRefOrigin();
return origin.y();
} }
SKIKO_EXPORT void org_jetbrains_skia_Bitmap__1nSetPixelRef SKIKO_EXPORT void org_jetbrains_skia_Bitmap__1nSetPixelRef
......
...@@ -70,10 +70,10 @@ SKIKO_EXPORT KInt org_jetbrains_skia_Picture__1nGetApproximateOpCount ...@@ -70,10 +70,10 @@ SKIKO_EXPORT KInt org_jetbrains_skia_Picture__1nGetApproximateOpCount
return instance->approximateOpCount(); return instance->approximateOpCount();
} }
SKIKO_EXPORT KLong org_jetbrains_skia_Picture__1nGetApproximateBytesUsed SKIKO_EXPORT KNativePointer org_jetbrains_skia_Picture__1nGetApproximateBytesUsed
(KNativePointer ptr) { (KNativePointer ptr) {
SkPicture* instance = reinterpret_cast<SkPicture*>((ptr)); SkPicture* instance = reinterpret_cast<SkPicture*>((ptr));
return instance->approximateBytesUsed(); return reinterpret_cast<KNativePointer>(instance->approximateBytesUsed());
} }
......
...@@ -177,7 +177,7 @@ SKIKO_EXPORT KInt org_jetbrains_skia_Typeface__1nGetUnitsPerEm ...@@ -177,7 +177,7 @@ SKIKO_EXPORT KInt org_jetbrains_skia_Typeface__1nGetUnitsPerEm
SKIKO_EXPORT bool org_jetbrains_skia_Typeface__1nGetKerningPairAdjustments SKIKO_EXPORT bool org_jetbrains_skia_Typeface__1nGetKerningPairAdjustments
(KNativePointer ptr, KShort* glyphs, KInt count, KInt* res) { (KNativePointer ptr, KInteropPointer glyphs, KInt count, KInt* res) {
SkTypeface* instance = reinterpret_cast<SkTypeface*>(ptr); SkTypeface* instance = reinterpret_cast<SkTypeface*>(ptr);
if (count > 0) { if (count > 0) {
std::vector<int> adjustments(count); std::vector<int> adjustments(count);
......
...@@ -243,7 +243,7 @@ SKIKO_EXPORT void org_jetbrains_skia_paragraph_TextStyle__1nSetHeight ...@@ -243,7 +243,7 @@ SKIKO_EXPORT void org_jetbrains_skia_paragraph_TextStyle__1nSetHeight
instance->setHeight(height); instance->setHeight(height);
} }
SKIKO_EXPORT KFloat org_jetbrains_skia_paragraph_TextStyle__1nGetHalfLeading SKIKO_EXPORT KBoolean org_jetbrains_skia_paragraph_TextStyle__1nGetHalfLeading
(KNativePointer ptr) { (KNativePointer ptr) {
TextStyle* instance = reinterpret_cast<TextStyle*>(ptr); TextStyle* instance = reinterpret_cast<TextStyle*>(ptr);
return instance->getHalfLeading(); return instance->getHalfLeading();
......
...@@ -26,5 +26,6 @@ actual abstract class RefCnt : Managed { ...@@ -26,5 +26,6 @@ actual abstract class RefCnt : Managed {
@ExternalSymbolName("org_jetbrains_skia_impl_RefCnt__getFinalizer") @ExternalSymbolName("org_jetbrains_skia_impl_RefCnt__getFinalizer")
internal actual external fun RefCnt_nGetFinalizer(): NativePointer internal actual external fun RefCnt_nGetFinalizer(): NativePointer
@ExternalSymbolName("org_jetbrains_skia_impl_RefCnt__getRefCount") @ExternalSymbolName("org_jetbrains_skia_impl_RefCnt__getRefCount")
private external fun _nGetRefCount(ptr: NativePointer): Int private external fun _nGetRefCount(ptr: NativePointer): Int
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