Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
skiko
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
liuqiang
skiko
Commits
bcbda1d8
Unverified
Commit
bcbda1d8
authored
Sep 16, 2021
by
alexander-gorshenev
Committed by
GitHub
Sep 16, 2021
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
interopScope {} for all functions receiving primitive arrays (#195)
parent
9c835488
Changes
19
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
437 additions
and
354 deletions
+437
-354
Bitmap.kt
skiko/src/commonMain/kotlin/org/jetbrains/skia/Bitmap.kt
+24
-24
Canvas.kt
skiko/src/commonMain/kotlin/org/jetbrains/skia/Canvas.kt
+32
-20
ColorFilter.kt
...o/src/commonMain/kotlin/org/jetbrains/skia/ColorFilter.kt
+18
-6
Data.kt
skiko/src/commonMain/kotlin/org/jetbrains/skia/Data.kt
+7
-8
Drawable.kt
skiko/src/commonMain/kotlin/org/jetbrains/skia/Drawable.kt
+9
-11
Image.kt
skiko/src/commonMain/kotlin/org/jetbrains/skia/Image.kt
+27
-25
ImageFilter.kt
...o/src/commonMain/kotlin/org/jetbrains/skia/ImageFilter.kt
+24
-20
MaskFilter.kt
skiko/src/commonMain/kotlin/org/jetbrains/skia/MaskFilter.kt
+7
-7
Path.kt
skiko/src/commonMain/kotlin/org/jetbrains/skia/Path.kt
+32
-20
PathEffect.kt
skiko/src/commonMain/kotlin/org/jetbrains/skia/PathEffect.kt
+20
-14
Picture.kt
skiko/src/commonMain/kotlin/org/jetbrains/skia/Picture.kt
+7
-7
Region.kt
skiko/src/commonMain/kotlin/org/jetbrains/skia/Region.kt
+5
-7
Shader.kt
skiko/src/commonMain/kotlin/org/jetbrains/skia/Shader.kt
+147
-127
TextBlob.kt
skiko/src/commonMain/kotlin/org/jetbrains/skia/TextBlob.kt
+22
-20
TextBlobBuilder.kt
...c/commonMain/kotlin/org/jetbrains/skia/TextBlobBuilder.kt
+31
-29
Native.kt
...o/src/commonMain/kotlin/org/jetbrains/skia/impl/Native.kt
+1
-8
Native.js.kt
skiko/src/jsMain/kotlin/org/jetbrains/skia/impl/Native.js.kt
+9
-0
Native.jvm.kt
.../src/jvmMain/kotlin/org/jetbrains/skia/impl/Native.jvm.kt
+6
-1
Native.native.kt
...ativeMain/kotlin/org/jetbrains/skia/impl/Native.native.kt
+9
-0
No files found.
skiko/src/commonMain/kotlin/org/jetbrains/skia/Bitmap.kt
View file @
bcbda1d8
@file
:
Suppress
(
"NESTED_EXTERNAL_DECLARATION"
)
@file
:
Suppress
(
"NESTED_EXTERNAL_DECLARATION"
)
package
org.jetbrains.skia
package
org.jetbrains.skia
import
org.jetbrains.skia.impl.*
import
org.jetbrains.skia.impl.Library.Companion.staticLoad
import
org.jetbrains.skia.impl.Library.Companion.staticLoad
import
org.jetbrains.skia.impl.Managed
import
org.jetbrains.skia.impl.Stats
import
org.jetbrains.skia.impl.reachabilityBarrier
import
org.jetbrains.skia.impl.NativePointer
import
org.jetbrains.skia.impl.getPtr
class
Bitmap
internal
constructor
(
ptr
:
NativePointer
)
:
Managed
(
ptr
,
_FinalizerHolder
.
PTR
),
IHasImageInfo
{
class
Bitmap
internal
constructor
(
ptr
:
NativePointer
)
:
Managed
(
ptr
,
_FinalizerHolder
.
PTR
),
IHasImageInfo
{
companion
object
{
companion
object
{
...
@@ -564,16 +560,18 @@ class Bitmap internal constructor(ptr: NativePointer) : Managed(ptr, _FinalizerH
...
@@ -564,16 +560,18 @@ class Bitmap internal constructor(ptr: NativePointer) : Managed(ptr, _FinalizerH
return
try
{
return
try
{
_imageInfo
=
null
_imageInfo
=
null
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
_nInstallPixels
(
interopScope
{
_ptr
,
_nInstallPixels
(
info
.
width
,
_ptr
,
info
.
height
,
info
.
width
,
info
.
colorInfo
.
colorType
.
ordinal
,
info
.
height
,
info
.
colorInfo
.
alphaType
.
ordinal
,
info
.
colorInfo
.
colorType
.
ordinal
,
getPtr
(
info
.
colorInfo
.
colorSpace
),
info
.
colorInfo
.
alphaType
.
ordinal
,
pixels
,
getPtr
(
info
.
colorInfo
.
colorSpace
),
rowBytes
toInterop
(
pixels
),
)
rowBytes
)
}
}
finally
{
}
finally
{
reachabilityBarrier
(
this
)
reachabilityBarrier
(
this
)
reachabilityBarrier
(
info
.
colorInfo
.
colorSpace
)
reachabilityBarrier
(
info
.
colorInfo
.
colorSpace
)
...
@@ -1004,13 +1002,15 @@ class Bitmap internal constructor(ptr: NativePointer) : Managed(ptr, _FinalizerH
...
@@ -1004,13 +1002,15 @@ class Bitmap internal constructor(ptr: NativePointer) : Managed(ptr, _FinalizerH
require
(
sampling
!=
null
)
{
"Can’t Bitmap.makeShader with sampling == null"
}
require
(
sampling
!=
null
)
{
"Can’t Bitmap.makeShader with sampling == null"
}
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
Shader
(
Shader
(
_nMakeShader
(
interopScope
{
_ptr
,
_nMakeShader
(
tmx
.
ordinal
,
_ptr
,
tmy
.
ordinal
,
tmx
.
ordinal
,
sampling
.
_pack
(),
tmy
.
ordinal
,
localMatrix
?.
mat
sampling
.
_pack
(),
)
toInterop
(
localMatrix
?.
mat
)
)
}
)
)
}
finally
{
}
finally
{
reachabilityBarrier
(
this
)
reachabilityBarrier
(
this
)
...
@@ -1118,7 +1118,7 @@ private external fun _nInstallPixels(
...
@@ -1118,7 +1118,7 @@ private external fun _nInstallPixels(
colorType
:
Int
,
colorType
:
Int
,
alphaType
:
Int
,
alphaType
:
Int
,
colorSpacePtr
:
NativePointer
,
colorSpacePtr
:
NativePointer
,
pixels
:
ByteArray
?
,
pixels
:
InteropPointer
,
rowBytes
:
Long
rowBytes
:
Long
):
Boolean
):
Boolean
...
@@ -1180,4 +1180,4 @@ private external fun _nExtractAlpha(ptr: NativePointer, dstPtr: NativePointer, p
...
@@ -1180,4 +1180,4 @@ private external fun _nExtractAlpha(ptr: NativePointer, dstPtr: NativePointer, p
private
external
fun
_nPeekPixels
(
ptr
:
NativePointer
):
ByteBuffer
?
private
external
fun
_nPeekPixels
(
ptr
:
NativePointer
):
ByteBuffer
?
@ExternalSymbolName
(
"org_jetbrains_skia_Bitmap__1nMakeShader"
)
@ExternalSymbolName
(
"org_jetbrains_skia_Bitmap__1nMakeShader"
)
private
external
fun
_nMakeShader
(
ptr
:
NativePointer
,
tmx
:
Int
,
tmy
:
Int
,
samplingMode
:
Long
,
localMatrix
:
FloatArray
?):
NativePointer
private
external
fun
_nMakeShader
(
ptr
:
NativePointer
,
tmx
:
Int
,
tmy
:
Int
,
samplingMode
:
Long
,
localMatrix
:
InteropPointer
):
NativePointer
\ No newline at end of file
\ No newline at end of file
skiko/src/commonMain/kotlin/org/jetbrains/skia/Canvas.kt
View file @
bcbda1d8
...
@@ -2,8 +2,8 @@
...
@@ -2,8 +2,8 @@
package
org.jetbrains.skia
package
org.jetbrains.skia
import
org.jetbrains.skia.ImageFilter.Companion.makeDropShadowOnly
import
org.jetbrains.skia.ImageFilter.Companion.makeDropShadowOnly
import
org.jetbrains.skia.impl.Library.Companion.staticLoad
import
org.jetbrains.skia.impl.*
import
org.jetbrains.skia.impl.*
import
org.jetbrains.skia.impl.Library.Companion.staticLoad
open
class
Canvas
internal
constructor
(
ptr
:
NativePointer
,
managed
:
Boolean
,
internal
val
_owner
:
Any
)
:
open
class
Canvas
internal
constructor
(
ptr
:
NativePointer
,
managed
:
Boolean
,
internal
val
_owner
:
Any
)
:
Managed
(
ptr
,
_FinalizerHolder
.
PTR
,
managed
)
{
Managed
(
ptr
,
_FinalizerHolder
.
PTR
,
managed
)
{
...
@@ -119,7 +119,9 @@ open class Canvas internal constructor(ptr: NativePointer, managed: Boolean, int
...
@@ -119,7 +119,9 @@ open class Canvas internal constructor(ptr: NativePointer, managed: Boolean, int
*/
*/
fun
drawPoints
(
coords
:
FloatArray
,
paint
:
Paint
):
Canvas
{
fun
drawPoints
(
coords
:
FloatArray
,
paint
:
Paint
):
Canvas
{
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
_nDrawPoints
(
_ptr
,
0
/* SkCanvas::PointMode::kPoints_PointMode */
,
coords
,
getPtr
(
paint
))
interopScope
{
_nDrawPoints
(
_ptr
,
0
/* SkCanvas::PointMode::kPoints_PointMode */
,
toInterop
(
coords
),
getPtr
(
paint
))
}
reachabilityBarrier
(
paint
)
reachabilityBarrier
(
paint
)
return
this
return
this
}
}
...
@@ -176,7 +178,9 @@ open class Canvas internal constructor(ptr: NativePointer, managed: Boolean, int
...
@@ -176,7 +178,9 @@ open class Canvas internal constructor(ptr: NativePointer, managed: Boolean, int
*/
*/
fun
drawLines
(
coords
:
FloatArray
,
paint
:
Paint
):
Canvas
{
fun
drawLines
(
coords
:
FloatArray
,
paint
:
Paint
):
Canvas
{
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
_nDrawPoints
(
_ptr
,
1
/* SkCanvas::PointMode::kLines_PointMode */
,
coords
,
getPtr
(
paint
))
interopScope
{
_nDrawPoints
(
_ptr
,
1
/* SkCanvas::PointMode::kLines_PointMode */
,
toInterop
(
coords
),
getPtr
(
paint
))
}
reachabilityBarrier
(
paint
)
reachabilityBarrier
(
paint
)
return
this
return
this
}
}
...
@@ -231,7 +235,9 @@ open class Canvas internal constructor(ptr: NativePointer, managed: Boolean, int
...
@@ -231,7 +235,9 @@ open class Canvas internal constructor(ptr: NativePointer, managed: Boolean, int
*/
*/
fun
drawPolygon
(
coords
:
FloatArray
,
paint
:
Paint
):
Canvas
{
fun
drawPolygon
(
coords
:
FloatArray
,
paint
:
Paint
):
Canvas
{
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
_nDrawPoints
(
_ptr
,
2
/* SkCanvas::PointMode::kPolygon_PointMode */
,
coords
,
getPtr
(
paint
))
interopScope
{
_nDrawPoints
(
_ptr
,
2
/* SkCanvas::PointMode::kPolygon_PointMode */
,
toInterop
(
coords
),
getPtr
(
paint
))
}
reachabilityBarrier
(
paint
)
reachabilityBarrier
(
paint
)
return
this
return
this
}
}
...
@@ -979,14 +985,16 @@ open class Canvas internal constructor(ptr: NativePointer, managed: Boolean, int
...
@@ -979,14 +985,16 @@ open class Canvas internal constructor(ptr: NativePointer, managed: Boolean, int
require
(
colors
.
size
==
4
)
{
"Expected colors.length == 4, got: "
+
colors
.
size
}
require
(
colors
.
size
==
4
)
{
"Expected colors.length == 4, got: "
+
colors
.
size
}
require
(
texCoords
==
null
||
texCoords
.
size
==
4
)
{
"Expected texCoords.length == 4, got: "
+
texCoords
!!
.
size
}
require
(
texCoords
==
null
||
texCoords
.
size
==
4
)
{
"Expected texCoords.length == 4, got: "
+
texCoords
!!
.
size
}
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
_nDrawPatch
(
interopScope
{
_ptr
,
_nDrawPatch
(
Point
.
flattenArray
(
cubics
),
_ptr
,
colors
,
toInterop
(
Point
.
flattenArray
(
cubics
)),
Point
.
flattenArray
(
texCoords
),
toInterop
(
colors
),
mode
.
ordinal
,
toInterop
(
Point
.
flattenArray
(
texCoords
)),
getPtr
(
paint
)
mode
.
ordinal
,
)
getPtr
(
paint
)
)
}
reachabilityBarrier
(
paint
)
reachabilityBarrier
(
paint
)
return
this
return
this
}
}
...
@@ -1048,7 +1056,9 @@ open class Canvas internal constructor(ptr: NativePointer, managed: Boolean, int
...
@@ -1048,7 +1056,9 @@ open class Canvas internal constructor(ptr: NativePointer, managed: Boolean, int
*/
*/
fun
drawDrawable
(
drawable
:
Drawable
,
matrix
:
Matrix33
?):
Canvas
{
fun
drawDrawable
(
drawable
:
Drawable
,
matrix
:
Matrix33
?):
Canvas
{
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
_nDrawDrawable
(
_ptr
,
getPtr
(
drawable
),
matrix
?.
mat
)
interopScope
{
_nDrawDrawable
(
_ptr
,
getPtr
(
drawable
),
toInterop
(
matrix
?.
mat
))
}
reachabilityBarrier
(
drawable
)
reachabilityBarrier
(
drawable
)
return
this
return
this
}
}
...
@@ -1076,7 +1086,9 @@ open class Canvas internal constructor(ptr: NativePointer, managed: Boolean, int
...
@@ -1076,7 +1086,9 @@ open class Canvas internal constructor(ptr: NativePointer, managed: Boolean, int
*/
*/
fun
setMatrix
(
matrix
:
Matrix33
):
Canvas
{
fun
setMatrix
(
matrix
:
Matrix33
):
Canvas
{
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
_nSetMatrix
(
_ptr
,
matrix
.
mat
)
interopScope
{
_nSetMatrix
(
_ptr
,
toInterop
(
matrix
.
mat
))
}
return
this
return
this
}
}
...
@@ -1451,7 +1463,7 @@ private external fun _nMakeFromBitmap(bitmapPtr: NativePointer, flags: Int, pixe
...
@@ -1451,7 +1463,7 @@ private external fun _nMakeFromBitmap(bitmapPtr: NativePointer, flags: Int, pixe
private
external
fun
_nDrawPoint
(
ptr
:
NativePointer
,
x
:
Float
,
y
:
Float
,
paintPtr
:
NativePointer
)
private
external
fun
_nDrawPoint
(
ptr
:
NativePointer
,
x
:
Float
,
y
:
Float
,
paintPtr
:
NativePointer
)
@ExternalSymbolName
(
"org_jetbrains_skia_Canvas__1nDrawPoints"
)
@ExternalSymbolName
(
"org_jetbrains_skia_Canvas__1nDrawPoints"
)
private
external
fun
_nDrawPoints
(
ptr
:
NativePointer
,
mode
:
Int
,
coords
:
FloatArray
?
,
paintPtr
:
NativePointer
)
private
external
fun
_nDrawPoints
(
ptr
:
NativePointer
,
mode
:
Int
,
coords
:
InteropPointer
,
paintPtr
:
NativePointer
)
@ExternalSymbolName
(
"org_jetbrains_skia_Canvas__1nDrawLine"
)
@ExternalSymbolName
(
"org_jetbrains_skia_Canvas__1nDrawLine"
)
private
external
fun
_nDrawLine
(
ptr
:
NativePointer
,
x0
:
Float
,
y0
:
Float
,
x1
:
Float
,
y1
:
Float
,
paintPtr
:
NativePointer
)
private
external
fun
_nDrawLine
(
ptr
:
NativePointer
,
x0
:
Float
,
y0
:
Float
,
x1
:
Float
,
y1
:
Float
,
paintPtr
:
NativePointer
)
...
@@ -1575,16 +1587,16 @@ private external fun _nDrawVertices(
...
@@ -1575,16 +1587,16 @@ private external fun _nDrawVertices(
@ExternalSymbolName
(
"org_jetbrains_skia_Canvas__1nDrawPatch"
)
@ExternalSymbolName
(
"org_jetbrains_skia_Canvas__1nDrawPatch"
)
private
external
fun
_nDrawPatch
(
private
external
fun
_nDrawPatch
(
ptr
:
NativePointer
,
ptr
:
NativePointer
,
cubics
:
FloatArray
?
,
cubics
:
InteropPointer
,
colors
:
Int
Array
?
,
colors
:
Int
eropPointer
,
texCoords
:
FloatArray
?
,
texCoords
:
InteropPointer
,
blendMode
:
Int
,
blendMode
:
Int
,
paintPtr
:
NativePointer
paintPtr
:
NativePointer
)
)
@ExternalSymbolName
(
"org_jetbrains_skia_Canvas__1nDrawDrawable"
)
@ExternalSymbolName
(
"org_jetbrains_skia_Canvas__1nDrawDrawable"
)
private
external
fun
_nDrawDrawable
(
ptr
:
NativePointer
,
drawablePrt
:
NativePointer
,
matrix
:
FloatArray
?
)
private
external
fun
_nDrawDrawable
(
ptr
:
NativePointer
,
drawablePrt
:
NativePointer
,
matrix
:
InteropPointer
)
@ExternalSymbolName
(
"org_jetbrains_skia_Canvas__1nClear"
)
@ExternalSymbolName
(
"org_jetbrains_skia_Canvas__1nClear"
)
private
external
fun
_nClear
(
ptr
:
NativePointer
,
color
:
Int
)
private
external
fun
_nClear
(
ptr
:
NativePointer
,
color
:
Int
)
...
@@ -1593,7 +1605,7 @@ private external fun _nClear(ptr: NativePointer, color: Int)
...
@@ -1593,7 +1605,7 @@ private external fun _nClear(ptr: NativePointer, color: Int)
private
external
fun
_nDrawPaint
(
ptr
:
NativePointer
,
paintPtr
:
NativePointer
)
private
external
fun
_nDrawPaint
(
ptr
:
NativePointer
,
paintPtr
:
NativePointer
)
@ExternalSymbolName
(
"org_jetbrains_skia_Canvas__1nSetMatrix"
)
@ExternalSymbolName
(
"org_jetbrains_skia_Canvas__1nSetMatrix"
)
private
external
fun
_nSetMatrix
(
ptr
:
NativePointer
,
matrix
:
FloatArray
?
)
private
external
fun
_nSetMatrix
(
ptr
:
NativePointer
,
matrix
:
InteropPointer
)
@ExternalSymbolName
(
"org_jetbrains_skia_Canvas__1nGetLocalToDevice"
)
@ExternalSymbolName
(
"org_jetbrains_skia_Canvas__1nGetLocalToDevice"
)
private
external
fun
_nGetLocalToDevice
(
ptr
:
NativePointer
):
FloatArray
private
external
fun
_nGetLocalToDevice
(
ptr
:
NativePointer
):
FloatArray
...
...
skiko/src/commonMain/kotlin/org/jetbrains/skia/ColorFilter.kt
View file @
bcbda1d8
...
@@ -28,12 +28,20 @@ class ColorFilter : RefCnt {
...
@@ -28,12 +28,20 @@ class ColorFilter : RefCnt {
fun
makeMatrix
(
matrix
:
ColorMatrix
):
ColorFilter
{
fun
makeMatrix
(
matrix
:
ColorMatrix
):
ColorFilter
{
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
return
ColorFilter
(
_nMakeMatrix
(
matrix
.
mat
))
return
ColorFilter
(
interopScope
{
_nMakeMatrix
(
toInterop
(
matrix
.
mat
))
}
)
}
}
fun
makeHSLAMatrix
(
matrix
:
ColorMatrix
):
ColorFilter
{
fun
makeHSLAMatrix
(
matrix
:
ColorMatrix
):
ColorFilter
{
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
return
ColorFilter
(
_nMakeHSLAMatrix
(
matrix
.
mat
))
return
ColorFilter
(
interopScope
{
_nMakeHSLAMatrix
(
toInterop
(
matrix
.
mat
))
}
)
}
}
fun
makeLerp
(
dst
:
ColorFilter
?,
src
:
ColorFilter
?,
t
:
Float
):
ColorFilter
{
fun
makeLerp
(
dst
:
ColorFilter
?,
src
:
ColorFilter
?,
t
:
Float
):
ColorFilter
{
...
@@ -61,7 +69,11 @@ class ColorFilter : RefCnt {
...
@@ -61,7 +69,11 @@ class ColorFilter : RefCnt {
fun
makeTable
(
table
:
ByteArray
):
ColorFilter
{
fun
makeTable
(
table
:
ByteArray
):
ColorFilter
{
require
(
table
.
size
==
256
)
{
"Expected 256 elements, got "
+
table
.
size
}
require
(
table
.
size
==
256
)
{
"Expected 256 elements, got "
+
table
.
size
}
return
ColorFilter
(
_nMakeTable
(
table
))
return
ColorFilter
(
interopScope
{
_nMakeTable
(
toInterop
(
table
))
}
)
}
}
fun
makeTableARGB
(
a
:
ByteArray
?,
r
:
ByteArray
?,
g
:
ByteArray
?,
b
:
ByteArray
?):
ColorFilter
{
fun
makeTableARGB
(
a
:
ByteArray
?,
r
:
ByteArray
?,
g
:
ByteArray
?,
b
:
ByteArray
?):
ColorFilter
{
...
@@ -104,10 +116,10 @@ private external fun _nMakeComposed(outer: NativePointer, inner: NativePointer):
...
@@ -104,10 +116,10 @@ private external fun _nMakeComposed(outer: NativePointer, inner: NativePointer):
private
external
fun
_nMakeBlend
(
color
:
Int
,
blendMode
:
Int
):
NativePointer
private
external
fun
_nMakeBlend
(
color
:
Int
,
blendMode
:
Int
):
NativePointer
@ExternalSymbolName
(
"org_jetbrains_skia_ColorFilter__1nMakeMatrix"
)
@ExternalSymbolName
(
"org_jetbrains_skia_ColorFilter__1nMakeMatrix"
)
private
external
fun
_nMakeMatrix
(
rowMajor
:
FloatArray
?
):
NativePointer
private
external
fun
_nMakeMatrix
(
rowMajor
:
InteropPointer
):
NativePointer
@ExternalSymbolName
(
"org_jetbrains_skia_ColorFilter__1nMakeHSLAMatrix"
)
@ExternalSymbolName
(
"org_jetbrains_skia_ColorFilter__1nMakeHSLAMatrix"
)
private
external
fun
_nMakeHSLAMatrix
(
rowMajor
:
FloatArray
?
):
NativePointer
private
external
fun
_nMakeHSLAMatrix
(
rowMajor
:
InteropPointer
):
NativePointer
@ExternalSymbolName
(
"org_jetbrains_skia_ColorFilter__1nGetLinearToSRGBGamma"
)
@ExternalSymbolName
(
"org_jetbrains_skia_ColorFilter__1nGetLinearToSRGBGamma"
)
private
external
fun
_nGetLinearToSRGBGamma
():
NativePointer
private
external
fun
_nGetLinearToSRGBGamma
():
NativePointer
...
@@ -125,7 +137,7 @@ private external fun _nMakeLighting(colorMul: Int, colorAdd: Int): NativePointer
...
@@ -125,7 +137,7 @@ private external fun _nMakeLighting(colorMul: Int, colorAdd: Int): NativePointer
private
external
fun
_nMakeHighContrast
(
grayscale
:
Boolean
,
inversionMode
:
Int
,
contrast
:
Float
):
NativePointer
private
external
fun
_nMakeHighContrast
(
grayscale
:
Boolean
,
inversionMode
:
Int
,
contrast
:
Float
):
NativePointer
@ExternalSymbolName
(
"org_jetbrains_skia_ColorFilter__1nMakeTable"
)
@ExternalSymbolName
(
"org_jetbrains_skia_ColorFilter__1nMakeTable"
)
private
external
fun
_nMakeTable
(
table
:
ByteArray
?
):
NativePointer
private
external
fun
_nMakeTable
(
table
:
InteropPointer
):
NativePointer
@ExternalSymbolName
(
"org_jetbrains_skia_ColorFilter__1nMakeOverdraw"
)
@ExternalSymbolName
(
"org_jetbrains_skia_ColorFilter__1nMakeOverdraw"
)
private
external
fun
_nMakeOverdraw
(
c0
:
Int
,
c1
:
Int
,
c2
:
Int
,
c3
:
Int
,
c4
:
Int
,
c5
:
Int
):
NativePointer
private
external
fun
_nMakeOverdraw
(
c0
:
Int
,
c1
:
Int
,
c2
:
Int
,
c3
:
Int
,
c4
:
Int
,
c5
:
Int
):
NativePointer
...
...
skiko/src/commonMain/kotlin/org/jetbrains/skia/Data.kt
View file @
bcbda1d8
@file
:
Suppress
(
"NESTED_EXTERNAL_DECLARATION"
)
@file
:
Suppress
(
"NESTED_EXTERNAL_DECLARATION"
)
package
org.jetbrains.skia
package
org.jetbrains.skia
import
org.jetbrains.skia.impl.*
import
org.jetbrains.skia.impl.Library.Companion.staticLoad
import
org.jetbrains.skia.impl.Library.Companion.staticLoad
import
org.jetbrains.skia.impl.Managed
import
org.jetbrains.skia.impl.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
/**
/**
* Data holds an immutable data buffer.
* Data holds an immutable data buffer.
...
@@ -16,7 +11,11 @@ class Data internal constructor(ptr: NativePointer) : Managed(ptr, _FinalizerHol
...
@@ -16,7 +11,11 @@ class Data internal constructor(ptr: NativePointer) : Managed(ptr, _FinalizerHol
companion
object
{
companion
object
{
fun
makeFromBytes
(
bytes
:
ByteArray
,
offset
:
Long
=
0L
,
length
:
Long
=
bytes
.
size
.
toLong
()):
Data
{
fun
makeFromBytes
(
bytes
:
ByteArray
,
offset
:
Long
=
0L
,
length
:
Long
=
bytes
.
size
.
toLong
()):
Data
{
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
return
Data
(
_nMakeFromBytes
(
bytes
,
offset
,
length
))
return
Data
(
interopScope
{
_nMakeFromBytes
(
toInterop
(
bytes
),
offset
,
length
)
}
)
}
}
/**
/**
...
@@ -128,7 +127,7 @@ private external fun _nEquals(ptr: NativePointer, otherPtr: NativePointer): Bool
...
@@ -128,7 +127,7 @@ private external fun _nEquals(ptr: NativePointer, otherPtr: NativePointer): Bool
private
external
fun
_nToByteBuffer
(
ptr
:
NativePointer
):
ByteBuffer
private
external
fun
_nToByteBuffer
(
ptr
:
NativePointer
):
ByteBuffer
@ExternalSymbolName
(
"org_jetbrains_skia_Data__1nMakeFromBytes"
)
@ExternalSymbolName
(
"org_jetbrains_skia_Data__1nMakeFromBytes"
)
private
external
fun
_nMakeFromBytes
(
bytes
:
ByteArray
?
,
offset
:
Long
,
length
:
Long
):
NativePointer
private
external
fun
_nMakeFromBytes
(
bytes
:
InteropPointer
,
offset
:
Long
,
length
:
Long
):
NativePointer
@ExternalSymbolName
(
"org_jetbrains_skia_Data__1nMakeFromFileName"
)
@ExternalSymbolName
(
"org_jetbrains_skia_Data__1nMakeFromFileName"
)
private
external
fun
_nMakeFromFileName
(
path
:
String
?):
NativePointer
private
external
fun
_nMakeFromFileName
(
path
:
String
?):
NativePointer
...
...
skiko/src/commonMain/kotlin/org/jetbrains/skia/Drawable.kt
View file @
bcbda1d8
@file
:
Suppress
(
"NESTED_EXTERNAL_DECLARATION"
)
@file
:
Suppress
(
"NESTED_EXTERNAL_DECLARATION"
)
package
org.jetbrains.skia
package
org.jetbrains.skia
import
org.jetbrains.skia.impl.*
import
org.jetbrains.skia.impl.Library.Companion.staticLoad
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.impl.NativePointer
import
org.jetbrains.skia.impl.getPtr
/**
/**
*
*
...
@@ -52,11 +48,13 @@ abstract class Drawable : RefCnt(Drawable_nMake()) {
...
@@ -52,11 +48,13 @@ abstract class Drawable : RefCnt(Drawable_nMake()) {
fun
draw
(
canvas
:
Canvas
?,
matrix
:
Matrix33
?):
Drawable
{
fun
draw
(
canvas
:
Canvas
?,
matrix
:
Matrix33
?):
Drawable
{
return
try
{
return
try
{
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
_nDraw
(
interopScope
{
_ptr
,
_nDraw
(
getPtr
(
canvas
),
_ptr
,
matrix
?.
mat
getPtr
(
canvas
),
)
toInterop
(
matrix
?.
mat
)
)
}
this
this
}
finally
{
}
finally
{
reachabilityBarrier
(
canvas
)
reachabilityBarrier
(
canvas
)
...
@@ -136,7 +134,7 @@ private external fun Drawable_nMake(): NativePointer
...
@@ -136,7 +134,7 @@ private external fun Drawable_nMake(): NativePointer
private
external
fun
Drawable_nGetGenerationId
(
ptr
:
NativePointer
):
Int
private
external
fun
Drawable_nGetGenerationId
(
ptr
:
NativePointer
):
Int
@ExternalSymbolName
(
"org_jetbrains_skia_Drawable__1nDraw"
)
@ExternalSymbolName
(
"org_jetbrains_skia_Drawable__1nDraw"
)
private
external
fun
_nDraw
(
ptr
:
NativePointer
,
canvasPtr
:
NativePointer
,
matrix
:
FloatArray
?
)
private
external
fun
_nDraw
(
ptr
:
NativePointer
,
canvasPtr
:
NativePointer
,
matrix
:
InteropPointer
)
@ExternalSymbolName
(
"org_jetbrains_skia_Drawable__1nMakePictureSnapshot"
)
@ExternalSymbolName
(
"org_jetbrains_skia_Drawable__1nMakePictureSnapshot"
)
private
external
fun
_nMakePictureSnapshot
(
ptr
:
NativePointer
):
NativePointer
private
external
fun
_nMakePictureSnapshot
(
ptr
:
NativePointer
):
NativePointer
...
...
skiko/src/commonMain/kotlin/org/jetbrains/skia/Image.kt
View file @
bcbda1d8
@file
:
Suppress
(
"NESTED_EXTERNAL_DECLARATION"
)
@file
:
Suppress
(
"NESTED_EXTERNAL_DECLARATION"
)
package
org.jetbrains.skia
package
org.jetbrains.skia
import
org.jetbrains.skia.impl.*
import
org.jetbrains.skia.impl.Library.Companion.staticLoad
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.impl.NativePointer
import
org.jetbrains.skia.impl.getPtr
class
Image
internal
constructor
(
ptr
:
NativePointer
)
:
RefCnt
(
ptr
),
IHasImageInfo
{
class
Image
internal
constructor
(
ptr
:
NativePointer
)
:
RefCnt
(
ptr
),
IHasImageInfo
{
companion
object
{
companion
object
{
...
@@ -34,15 +30,17 @@ class Image internal constructor(ptr: NativePointer) : RefCnt(ptr), IHasImageInf
...
@@ -34,15 +30,17 @@ class Image internal constructor(ptr: NativePointer) : RefCnt(ptr), IHasImageInf
fun
makeRaster
(
imageInfo
:
ImageInfo
,
bytes
:
ByteArray
,
rowBytes
:
NativePointer
):
Image
{
fun
makeRaster
(
imageInfo
:
ImageInfo
,
bytes
:
ByteArray
,
rowBytes
:
NativePointer
):
Image
{
return
try
{
return
try
{
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
val
ptr
=
_nMakeRaster
(
val
ptr
=
interopScope
{
imageInfo
.
width
,
_nMakeRaster
(
imageInfo
.
height
,
imageInfo
.
width
,
imageInfo
.
colorInfo
.
colorType
.
ordinal
,
imageInfo
.
height
,
imageInfo
.
colorInfo
.
alphaType
.
ordinal
,
imageInfo
.
colorInfo
.
colorType
.
ordinal
,
getPtr
(
imageInfo
.
colorInfo
.
colorSpace
),
imageInfo
.
colorInfo
.
alphaType
.
ordinal
,
bytes
,
getPtr
(
imageInfo
.
colorInfo
.
colorSpace
),
rowBytes
toInterop
(
bytes
),
)
rowBytes
)
}
if
(
ptr
==
NullPointer
)
throw
RuntimeException
(
"Failed to makeRaster $imageInfo $bytes $rowBytes"
)
if
(
ptr
==
NullPointer
)
throw
RuntimeException
(
"Failed to makeRaster $imageInfo $bytes $rowBytes"
)
Image
(
ptr
)
Image
(
ptr
)
}
finally
{
}
finally
{
...
@@ -136,7 +134,9 @@ class Image internal constructor(ptr: NativePointer) : RefCnt(ptr), IHasImageInf
...
@@ -136,7 +134,9 @@ class Image internal constructor(ptr: NativePointer) : RefCnt(ptr), IHasImageInf
fun
makeFromEncoded
(
bytes
:
ByteArray
?):
Image
{
fun
makeFromEncoded
(
bytes
:
ByteArray
?):
Image
{
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
val
ptr
=
_nMakeFromEncoded
(
bytes
)
val
ptr
=
interopScope
{
_nMakeFromEncoded
(
toInterop
(
bytes
))
}
require
(
ptr
!=
NullPointer
)
{
"Failed to Image::makeFromEncoded"
}
require
(
ptr
!=
NullPointer
)
{
"Failed to Image::makeFromEncoded"
}
return
Image
(
ptr
)
return
Image
(
ptr
)
}
}
...
@@ -229,13 +229,15 @@ class Image internal constructor(ptr: NativePointer) : RefCnt(ptr), IHasImageInf
...
@@ -229,13 +229,15 @@ class Image internal constructor(ptr: NativePointer) : RefCnt(ptr), IHasImageInf
return
try
{
return
try
{
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
Shader
(
Shader
(
Image_nMakeShader
(
interopScope
{
_ptr
,
Image_nMakeShader
(
tmx
.
ordinal
,
_ptr
,
tmy
.
ordinal
,
tmx
.
ordinal
,
sampling
.
_pack
(),
tmy
.
ordinal
,
localMatrix
?.
mat
sampling
.
_pack
(),
)
toInterop
(
localMatrix
?.
mat
)
)
}
)
)
}
finally
{
}
finally
{
reachabilityBarrier
(
this
)
reachabilityBarrier
(
this
)
...
@@ -370,7 +372,7 @@ class Image internal constructor(ptr: NativePointer) : RefCnt(ptr), IHasImageInf
...
@@ -370,7 +372,7 @@ class Image internal constructor(ptr: NativePointer) : RefCnt(ptr), IHasImageInf
private
external
fun
Image_nGetImageInfo
(
ptr
:
NativePointer
):
ImageInfo
?
private
external
fun
Image_nGetImageInfo
(
ptr
:
NativePointer
):
ImageInfo
?
@ExternalSymbolName
(
"org_jetbrains_skia_Image__1nMakeShader"
)
@ExternalSymbolName
(
"org_jetbrains_skia_Image__1nMakeShader"
)
private
external
fun
Image_nMakeShader
(
ptr
:
NativePointer
,
tmx
:
Int
,
tmy
:
Int
,
samplingMode
:
Long
,
localMatrix
:
FloatArray
?
):
NativePointer
private
external
fun
Image_nMakeShader
(
ptr
:
NativePointer
,
tmx
:
Int
,
tmy
:
Int
,
samplingMode
:
Long
,
localMatrix
:
InteropPointer
):
NativePointer
@ExternalSymbolName
(
"org_jetbrains_skia_Image__1nPeekPixels"
)
@ExternalSymbolName
(
"org_jetbrains_skia_Image__1nPeekPixels"
)
private
external
fun
Image_nPeekPixels
(
ptr
:
NativePointer
):
ByteBuffer
?
private
external
fun
Image_nPeekPixels
(
ptr
:
NativePointer
):
ByteBuffer
?
...
@@ -382,7 +384,7 @@ private external fun _nMakeRaster(
...
@@ -382,7 +384,7 @@ private external fun _nMakeRaster(
colorType
:
Int
,
colorType
:
Int
,
alphaType
:
Int
,
alphaType
:
Int
,
colorSpacePtr
:
NativePointer
,
colorSpacePtr
:
NativePointer
,
pixels
:
ByteArray
?
,
pixels
:
InteropPointer
,
rowBytes
:
NativePointer
rowBytes
:
NativePointer
):
NativePointer
):
NativePointer
...
@@ -406,7 +408,7 @@ private external fun _nMakeFromBitmap(bitmapPtr: NativePointer): NativePointer
...
@@ -406,7 +408,7 @@ private external fun _nMakeFromBitmap(bitmapPtr: NativePointer): NativePointer
private
external
fun
_nMakeFromPixmap
(
pixmapPtr
:
NativePointer
):
NativePointer
private
external
fun
_nMakeFromPixmap
(
pixmapPtr
:
NativePointer
):
NativePointer
@ExternalSymbolName
(
"org_jetbrains_skia_Image__1nMakeFromEncoded"
)
@ExternalSymbolName
(
"org_jetbrains_skia_Image__1nMakeFromEncoded"
)
private
external
fun
_nMakeFromEncoded
(
bytes
:
ByteArray
?
):
NativePointer
private
external
fun
_nMakeFromEncoded
(
bytes
:
InteropPointer
):
NativePointer
@ExternalSymbolName
(
"org_jetbrains_skia_Image__1nEncodeToData"
)
@ExternalSymbolName
(
"org_jetbrains_skia_Image__1nEncodeToData"
)
private
external
fun
_nEncodeToData
(
ptr
:
NativePointer
,
format
:
Int
,
quality
:
Int
):
NativePointer
private
external
fun
_nEncodeToData
(
ptr
:
NativePointer
,
format
:
Int
,
quality
:
Int
):
NativePointer
...
...
skiko/src/commonMain/kotlin/org/jetbrains/skia/ImageFilter.kt
View file @
bcbda1d8
...
@@ -274,19 +274,21 @@ class ImageFilter internal constructor(ptr: NativePointer) : RefCnt(ptr) {
...
@@ -274,19 +274,21 @@ class ImageFilter internal constructor(ptr: NativePointer) : RefCnt(ptr) {
return
try
{
return
try
{
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
ImageFilter
(
ImageFilter
(
_nMakeMatrixConvolution
(
interopScope
{
kernelW
,
_nMakeMatrixConvolution
(
kernelH
,
kernelW
,
kernel
,
kernelH
,
gain
,
toInterop
(
kernel
),
bias
,
gain
,
offsetX
,
bias
,
offsetY
,
offsetX
,
tileMode
.
ordinal
,
offsetY
,
convolveAlpha
,
tileMode
.
ordinal
,
getPtr
(
input
),
convolveAlpha
,
crop
getPtr
(
input
),
)
crop
)
}
)
)
}
finally
{
}
finally
{
reachabilityBarrier
(
input
)
reachabilityBarrier
(
input
)
...
@@ -297,11 +299,13 @@ class ImageFilter internal constructor(ptr: NativePointer) : RefCnt(ptr) {
...
@@ -297,11 +299,13 @@ class ImageFilter internal constructor(ptr: NativePointer) : RefCnt(ptr) {
return
try
{
return
try
{
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
ImageFilter
(
ImageFilter
(
_nMakeMatrixTransform
(
interopScope
{
matrix
.
mat
,
_nMakeMatrixTransform
(
mode
.
_pack
(),
toInterop
(
matrix
.
mat
),
getPtr
(
input
)
mode
.
_pack
(),
)
getPtr
(
input
)
)
}
)
)
}
finally
{
}
finally
{
reachabilityBarrier
(
input
)
reachabilityBarrier
(
input
)
...
@@ -701,7 +705,7 @@ private external fun _nMakeMagnifier(
...
@@ -701,7 +705,7 @@ private external fun _nMakeMagnifier(
private
external
fun
_nMakeMatrixConvolution
(
private
external
fun
_nMakeMatrixConvolution
(
kernelW
:
Int
,
kernelW
:
Int
,
kernelH
:
Int
,
kernelH
:
Int
,
kernel
:
FloatArray
?
,
kernel
:
InteropPointer
,
gain
:
Float
,
gain
:
Float
,
bias
:
Float
,
bias
:
Float
,
offsetX
:
Int
,
offsetX
:
Int
,
...
@@ -713,7 +717,7 @@ private external fun _nMakeMatrixConvolution(
...
@@ -713,7 +717,7 @@ private external fun _nMakeMatrixConvolution(
):
NativePointer
):
NativePointer
@ExternalSymbolName
(
"org_jetbrains_skia_ImageFilter__1nMakeMatrixTransform"
)
@ExternalSymbolName
(
"org_jetbrains_skia_ImageFilter__1nMakeMatrixTransform"
)
private
external
fun
_nMakeMatrixTransform
(
matrix
:
FloatArray
?
,
samplingMode
:
Long
,
input
:
NativePointer
):
NativePointer
private
external
fun
_nMakeMatrixTransform
(
matrix
:
InteropPointer
,
samplingMode
:
Long
,
input
:
NativePointer
):
NativePointer
@ExternalSymbolName
(
"org_jetbrains_skia_ImageFilter__1nMakeMerge"
)
@ExternalSymbolName
(
"org_jetbrains_skia_ImageFilter__1nMakeMerge"
)
private
external
fun
_nMakeMerge
(
filters
:
InteropPointer
,
crop
:
IRect
?):
NativePointer
private
external
fun
_nMakeMerge
(
filters
:
InteropPointer
,
crop
:
IRect
?):
NativePointer
@ExternalSymbolName
(
"org_jetbrains_skia_ImageFilter__1nMakeOffset"
)
@ExternalSymbolName
(
"org_jetbrains_skia_ImageFilter__1nMakeOffset"
)
...
...
skiko/src/commonMain/kotlin/org/jetbrains/skia/MaskFilter.kt
View file @
bcbda1d8
@file
:
Suppress
(
"NESTED_EXTERNAL_DECLARATION"
)
@file
:
Suppress
(
"NESTED_EXTERNAL_DECLARATION"
)
package
org.jetbrains.skia
package
org.jetbrains.skia
import
org.jetbrains.skia.impl.*
import
org.jetbrains.skia.impl.Library.Companion.staticLoad
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.impl.NativePointer
import
org.jetbrains.skia.impl.getPtr
class
MaskFilter
internal
constructor
(
ptr
:
NativePointer
)
:
RefCnt
(
ptr
)
{
class
MaskFilter
internal
constructor
(
ptr
:
NativePointer
)
:
RefCnt
(
ptr
)
{
companion
object
{
companion
object
{
...
@@ -26,7 +22,11 @@ class MaskFilter internal constructor(ptr: NativePointer) : RefCnt(ptr) {
...
@@ -26,7 +22,11 @@ class MaskFilter internal constructor(ptr: NativePointer) : RefCnt(ptr) {
fun
makeTable
(
table
:
ByteArray
?):
MaskFilter
{
fun
makeTable
(
table
:
ByteArray
?):
MaskFilter
{
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
return
MaskFilter
(
MaskFilter_nMakeTable
(
table
))
return
MaskFilter
(
interopScope
{
MaskFilter_nMakeTable
(
toInterop
(
table
))
}
)
}
}
fun
makeGamma
(
gamma
:
Float
):
MaskFilter
{
fun
makeGamma
(
gamma
:
Float
):
MaskFilter
{
...
@@ -46,7 +46,7 @@ class MaskFilter internal constructor(ptr: NativePointer) : RefCnt(ptr) {
...
@@ -46,7 +46,7 @@ class MaskFilter internal constructor(ptr: NativePointer) : RefCnt(ptr) {
}
}
@ExternalSymbolName
(
"org_jetbrains_skia_MaskFilter__1nMakeTable"
)
@ExternalSymbolName
(
"org_jetbrains_skia_MaskFilter__1nMakeTable"
)
private
external
fun
MaskFilter_nMakeTable
(
table
:
ByteArray
?
):
NativePointer
private
external
fun
MaskFilter_nMakeTable
(
table
:
InteropPointer
):
NativePointer
@ExternalSymbolName
(
"org_jetbrains_skia_MaskFilter__1nMakeBlur"
)
@ExternalSymbolName
(
"org_jetbrains_skia_MaskFilter__1nMakeBlur"
)
private
external
fun
_nMakeBlur
(
mode
:
Int
,
sigma
:
Float
,
respectCTM
:
Boolean
):
NativePointer
private
external
fun
_nMakeBlur
(
mode
:
Int
,
sigma
:
Float
,
respectCTM
:
Boolean
):
NativePointer
...
...
skiko/src/commonMain/kotlin/org/jetbrains/skia/Path.kt
View file @
bcbda1d8
...
@@ -193,7 +193,11 @@ class Path internal constructor(ptr: NativePointer) : Managed(ptr, _FinalizerHol
...
@@ -193,7 +193,11 @@ class Path internal constructor(ptr: NativePointer) : Managed(ptr, _FinalizerHol
*/
*/
fun
makeFromBytes
(
data
:
ByteArray
?):
Path
{
fun
makeFromBytes
(
data
:
ByteArray
?):
Path
{
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
return
Path
(
_nMakeFromBytes
(
data
))
return
Path
(
interopScope
{
_nMakeFromBytes
(
toInterop
(
data
))
}
)
}
}
init
{
init
{
...
@@ -640,7 +644,9 @@ class Path internal constructor(ptr: NativePointer) : Managed(ptr, _FinalizerHol
...
@@ -640,7 +644,9 @@ class Path internal constructor(ptr: NativePointer) : Managed(ptr, _FinalizerHol
require
(
if
(
verbs
==
null
)
max
==
0
else
true
)
require
(
if
(
verbs
==
null
)
max
==
0
else
true
)
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
val
out
=
if
(
verbs
==
null
)
null
else
ByteArray
(
max
)
val
out
=
if
(
verbs
==
null
)
null
else
ByteArray
(
max
)
val
count
=
_nGetVerbs
(
_ptr
,
out
,
max
)
val
count
=
interopScope
{
_nGetVerbs
(
_ptr
,
toInterop
(
out
),
max
)
}
if
(
verbs
!=
null
)
for
(
i
in
0
until
minOf
(
count
,
max
))
verbs
[
i
]
=
PathVerb
.
values
().
get
(
if
(
verbs
!=
null
)
for
(
i
in
0
until
minOf
(
count
,
max
))
verbs
[
i
]
=
PathVerb
.
values
().
get
(
out
!!
[
i
].
toInt
()
out
!!
[
i
].
toInt
()
)
)
...
@@ -1668,7 +1674,9 @@ class Path internal constructor(ptr: NativePointer) : Managed(ptr, _FinalizerHol
...
@@ -1668,7 +1674,9 @@ class Path internal constructor(ptr: NativePointer) : Managed(ptr, _FinalizerHol
fun
addPoly
(
pts
:
FloatArray
,
close
:
Boolean
):
Path
{
fun
addPoly
(
pts
:
FloatArray
,
close
:
Boolean
):
Path
{
require
(
pts
.
size
%
2
==
0
)
{
"Expected even amount of pts, got "
+
pts
.
size
}
require
(
pts
.
size
%
2
==
0
)
{
"Expected even amount of pts, got "
+
pts
.
size
}
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
_nAddPoly
(
_ptr
,
pts
,
close
)
interopScope
{
_nAddPoly
(
_ptr
,
toInterop
(
pts
),
close
)
}
return
this
return
this
}
}
/**
/**
...
@@ -1782,12 +1790,14 @@ class Path internal constructor(ptr: NativePointer) : Managed(ptr, _FinalizerHol
...
@@ -1782,12 +1790,14 @@ class Path internal constructor(ptr: NativePointer) : Managed(ptr, _FinalizerHol
fun
addPath
(
src
:
Path
?,
matrix
:
Matrix33
,
extend
:
Boolean
=
false
):
Path
{
fun
addPath
(
src
:
Path
?,
matrix
:
Matrix33
,
extend
:
Boolean
=
false
):
Path
{
return
try
{
return
try
{
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
_nAddPathTransform
(
interopScope
{
_ptr
,
_nAddPathTransform
(
getPtr
(
src
),
_ptr
,
matrix
.
mat
,
getPtr
(
src
),
extend
toInterop
(
matrix
.
mat
),
)
extend
)
}
this
this
}
finally
{
}
finally
{
reachabilityBarrier
(
src
)
reachabilityBarrier
(
src
)
...
@@ -1888,12 +1898,14 @@ class Path internal constructor(ptr: NativePointer) : Managed(ptr, _FinalizerHol
...
@@ -1888,12 +1898,14 @@ class Path internal constructor(ptr: NativePointer) : Managed(ptr, _FinalizerHol
fun
transform
(
matrix
:
Matrix33
,
dst
:
Path
?
=
null
,
applyPerspectiveClip
:
Boolean
=
true
):
Path
{
fun
transform
(
matrix
:
Matrix33
,
dst
:
Path
?
=
null
,
applyPerspectiveClip
:
Boolean
=
true
):
Path
{
return
try
{
return
try
{
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
_nTransform
(
interopScope
{
_ptr
,
_nTransform
(
matrix
.
mat
,
_ptr
,
getPtr
(
dst
),
toInterop
(
matrix
.
mat
),
applyPerspectiveClip
getPtr
(
dst
),
)
applyPerspectiveClip
)
}
this
this
}
finally
{
}
finally
{
reachabilityBarrier
(
dst
)
reachabilityBarrier
(
dst
)
...
@@ -2220,7 +2232,7 @@ private external fun _nGetPoints(ptr: NativePointer, points: Array<Point?>?, max
...
@@ -2220,7 +2232,7 @@ private external fun _nGetPoints(ptr: NativePointer, points: Array<Point?>?, max
private
external
fun
_nCountVerbs
(
ptr
:
NativePointer
):
Int
private
external
fun
_nCountVerbs
(
ptr
:
NativePointer
):
Int
@ExternalSymbolName
(
"org_jetbrains_skia_Path__1nGetVerbs"
)
@ExternalSymbolName
(
"org_jetbrains_skia_Path__1nGetVerbs"
)
private
external
fun
_nGetVerbs
(
ptr
:
NativePointer
,
verbs
:
ByteArray
?
,
max
:
Int
):
Int
private
external
fun
_nGetVerbs
(
ptr
:
NativePointer
,
verbs
:
InteropPointer
,
max
:
Int
):
Int
@ExternalSymbolName
(
"org_jetbrains_skia_Path__1nApproximateBytesUsed"
)
@ExternalSymbolName
(
"org_jetbrains_skia_Path__1nApproximateBytesUsed"
)
private
external
fun
_nApproximateBytesUsed
(
ptr
:
NativePointer
):
NativePointer
private
external
fun
_nApproximateBytesUsed
(
ptr
:
NativePointer
):
NativePointer
...
@@ -2358,7 +2370,7 @@ private external fun _nAddRRect(
...
@@ -2358,7 +2370,7 @@ private external fun _nAddRRect(
@ExternalSymbolName
(
"org_jetbrains_skia_Path__1nAddPoly"
)
@ExternalSymbolName
(
"org_jetbrains_skia_Path__1nAddPoly"
)
private
external
fun
_nAddPoly
(
ptr
:
NativePointer
,
coords
:
FloatArray
?
,
close
:
Boolean
)
private
external
fun
_nAddPoly
(
ptr
:
NativePointer
,
coords
:
InteropPointer
,
close
:
Boolean
)
@ExternalSymbolName
(
"org_jetbrains_skia_Path__1nAddPath"
)
@ExternalSymbolName
(
"org_jetbrains_skia_Path__1nAddPath"
)
private
external
fun
_nAddPath
(
ptr
:
NativePointer
,
srcPtr
:
NativePointer
,
extend
:
Boolean
)
private
external
fun
_nAddPath
(
ptr
:
NativePointer
,
srcPtr
:
NativePointer
,
extend
:
Boolean
)
...
@@ -2367,7 +2379,7 @@ private external fun _nAddPath(ptr: NativePointer, srcPtr: NativePointer, extend
...
@@ -2367,7 +2379,7 @@ private external fun _nAddPath(ptr: NativePointer, srcPtr: NativePointer, extend
private
external
fun
_nAddPathOffset
(
ptr
:
NativePointer
,
srcPtr
:
NativePointer
,
dx
:
Float
,
dy
:
Float
,
extend
:
Boolean
)
private
external
fun
_nAddPathOffset
(
ptr
:
NativePointer
,
srcPtr
:
NativePointer
,
dx
:
Float
,
dy
:
Float
,
extend
:
Boolean
)
@ExternalSymbolName
(
"org_jetbrains_skia_Path__1nAddPathTransform"
)
@ExternalSymbolName
(
"org_jetbrains_skia_Path__1nAddPathTransform"
)
private
external
fun
_nAddPathTransform
(
ptr
:
NativePointer
,
srcPtr
:
NativePointer
,
matrix
:
FloatArray
?
,
extend
:
Boolean
)
private
external
fun
_nAddPathTransform
(
ptr
:
NativePointer
,
srcPtr
:
NativePointer
,
matrix
:
InteropPointer
,
extend
:
Boolean
)
@ExternalSymbolName
(
"org_jetbrains_skia_Path__1nReverseAddPath"
)
@ExternalSymbolName
(
"org_jetbrains_skia_Path__1nReverseAddPath"
)
private
external
fun
_nReverseAddPath
(
ptr
:
NativePointer
,
srcPtr
:
NativePointer
)
private
external
fun
_nReverseAddPath
(
ptr
:
NativePointer
,
srcPtr
:
NativePointer
)
...
@@ -2376,7 +2388,7 @@ private external fun _nReverseAddPath(ptr: NativePointer, srcPtr: NativePointer)
...
@@ -2376,7 +2388,7 @@ private external fun _nReverseAddPath(ptr: NativePointer, srcPtr: NativePointer)
private
external
fun
_nOffset
(
ptr
:
NativePointer
,
dx
:
Float
,
dy
:
Float
,
dst
:
NativePointer
)
private
external
fun
_nOffset
(
ptr
:
NativePointer
,
dx
:
Float
,
dy
:
Float
,
dst
:
NativePointer
)
@ExternalSymbolName
(
"org_jetbrains_skia_Path__1nTransform"
)
@ExternalSymbolName
(
"org_jetbrains_skia_Path__1nTransform"
)
private
external
fun
_nTransform
(
ptr
:
NativePointer
,
matrix
:
FloatArray
?
,
dst
:
NativePointer
,
applyPerspectiveClip
:
Boolean
)
private
external
fun
_nTransform
(
ptr
:
NativePointer
,
matrix
:
InteropPointer
,
dst
:
NativePointer
,
applyPerspectiveClip
:
Boolean
)
@ExternalSymbolName
(
"org_jetbrains_skia_Path__1nGetLastPt"
)
@ExternalSymbolName
(
"org_jetbrains_skia_Path__1nGetLastPt"
)
private
external
fun
_nGetLastPt
(
ptr
:
NativePointer
):
Point
private
external
fun
_nGetLastPt
(
ptr
:
NativePointer
):
Point
...
@@ -2403,7 +2415,7 @@ private external fun _nSerializeToBytes(ptr: NativePointer): ByteArray
...
@@ -2403,7 +2415,7 @@ private external fun _nSerializeToBytes(ptr: NativePointer): ByteArray
private
external
fun
_nMakeCombining
(
onePtr
:
NativePointer
,
twoPtr
:
NativePointer
,
op
:
Int
):
NativePointer
private
external
fun
_nMakeCombining
(
onePtr
:
NativePointer
,
twoPtr
:
NativePointer
,
op
:
Int
):
NativePointer
@ExternalSymbolName
(
"org_jetbrains_skia_Path__1nMakeFromBytes"
)
@ExternalSymbolName
(
"org_jetbrains_skia_Path__1nMakeFromBytes"
)
private
external
fun
_nMakeFromBytes
(
data
:
ByteArray
?
):
NativePointer
private
external
fun
_nMakeFromBytes
(
data
:
InteropPointer
):
NativePointer
@ExternalSymbolName
(
"org_jetbrains_skia_Path__1nIsValid"
)
@ExternalSymbolName
(
"org_jetbrains_skia_Path__1nIsValid"
)
private
external
fun
_nIsValid
(
ptr
:
NativePointer
):
Boolean
private
external
fun
_nIsValid
(
ptr
:
NativePointer
):
Boolean
\ No newline at end of file
skiko/src/commonMain/kotlin/org/jetbrains/skia/PathEffect.kt
View file @
bcbda1d8
@file
:
Suppress
(
"NESTED_EXTERNAL_DECLARATION"
)
@file
:
Suppress
(
"NESTED_EXTERNAL_DECLARATION"
)
package
org.jetbrains.skia
package
org.jetbrains.skia
import
org.jetbrains.skia.impl.*
import
org.jetbrains.skia.impl.Library.Companion.staticLoad
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.impl.NativePointer
import
org.jetbrains.skia.impl.getPtr
class
PathEffect
internal
constructor
(
ptr
:
NativePointer
)
:
RefCnt
(
ptr
)
{
class
PathEffect
internal
constructor
(
ptr
:
NativePointer
)
:
RefCnt
(
ptr
)
{
companion
object
{
companion
object
{
...
@@ -30,10 +26,12 @@ class PathEffect internal constructor(ptr: NativePointer) : RefCnt(ptr) {
...
@@ -30,10 +26,12 @@ class PathEffect internal constructor(ptr: NativePointer) : RefCnt(ptr) {
return
try
{
return
try
{
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
PathEffect
(
PathEffect
(
_nMakePath2D
(
interopScope
{
matrix
.
mat
,
_nMakePath2D
(
getPtr
(
path
)
toInterop
(
matrix
.
mat
),
)
getPtr
(
path
)
)
}
)
)
}
finally
{
}
finally
{
reachabilityBarrier
(
path
)
reachabilityBarrier
(
path
)
...
@@ -42,7 +40,11 @@ class PathEffect internal constructor(ptr: NativePointer) : RefCnt(ptr) {
...
@@ -42,7 +40,11 @@ class PathEffect internal constructor(ptr: NativePointer) : RefCnt(ptr) {
fun
makeLine2D
(
width
:
Float
,
matrix
:
Matrix33
):
PathEffect
{
fun
makeLine2D
(
width
:
Float
,
matrix
:
Matrix33
):
PathEffect
{
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
return
PathEffect
(
_nMakeLine2D
(
width
,
matrix
.
mat
))
return
PathEffect
(
interopScope
{
_nMakeLine2D
(
width
,
toInterop
(
matrix
.
mat
))
}
)
}
}
fun
makeCorner
(
radius
:
Float
):
PathEffect
{
fun
makeCorner
(
radius
:
Float
):
PathEffect
{
...
@@ -52,7 +54,11 @@ class PathEffect internal constructor(ptr: NativePointer) : RefCnt(ptr) {
...
@@ -52,7 +54,11 @@ class PathEffect internal constructor(ptr: NativePointer) : RefCnt(ptr) {
fun
makeDash
(
intervals
:
FloatArray
?,
phase
:
Float
):
PathEffect
{
fun
makeDash
(
intervals
:
FloatArray
?,
phase
:
Float
):
PathEffect
{
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
return
PathEffect
(
_nMakeDash
(
intervals
,
phase
))
return
PathEffect
(
interopScope
{
_nMakeDash
(
toInterop
(
intervals
),
phase
)
}
)
}
}
fun
makeDiscrete
(
segLength
:
Float
,
dev
:
Float
,
seed
:
Int
):
PathEffect
{
fun
makeDiscrete
(
segLength
:
Float
,
dev
:
Float
,
seed
:
Int
):
PathEffect
{
...
@@ -107,16 +113,16 @@ private external fun _nMakeSum(firstPtr: NativePointer, secondPtr: NativePointer
...
@@ -107,16 +113,16 @@ private external fun _nMakeSum(firstPtr: NativePointer, secondPtr: NativePointer
private
external
fun
_nMakePath1D
(
pathPtr
:
NativePointer
,
advance
:
Float
,
phase
:
Float
,
style
:
Int
):
NativePointer
private
external
fun
_nMakePath1D
(
pathPtr
:
NativePointer
,
advance
:
Float
,
phase
:
Float
,
style
:
Int
):
NativePointer
@ExternalSymbolName
(
"org_jetbrains_skia_PathEffect__1nMakePath2D"
)
@ExternalSymbolName
(
"org_jetbrains_skia_PathEffect__1nMakePath2D"
)
private
external
fun
_nMakePath2D
(
matrix
:
FloatArray
?
,
pathPtr
:
NativePointer
):
NativePointer
private
external
fun
_nMakePath2D
(
matrix
:
InteropPointer
,
pathPtr
:
NativePointer
):
NativePointer
@ExternalSymbolName
(
"org_jetbrains_skia_PathEffect__1nMakeLine2D"
)
@ExternalSymbolName
(
"org_jetbrains_skia_PathEffect__1nMakeLine2D"
)
private
external
fun
_nMakeLine2D
(
width
:
Float
,
matrix
:
FloatArray
?
):
NativePointer
private
external
fun
_nMakeLine2D
(
width
:
Float
,
matrix
:
InteropPointer
):
NativePointer
@ExternalSymbolName
(
"org_jetbrains_skia_PathEffect__1nMakeCorner"
)
@ExternalSymbolName
(
"org_jetbrains_skia_PathEffect__1nMakeCorner"
)
private
external
fun
_nMakeCorner
(
radius
:
Float
):
NativePointer
private
external
fun
_nMakeCorner
(
radius
:
Float
):
NativePointer
@ExternalSymbolName
(
"org_jetbrains_skia_PathEffect__1nMakeDash"
)
@ExternalSymbolName
(
"org_jetbrains_skia_PathEffect__1nMakeDash"
)
private
external
fun
_nMakeDash
(
intervals
:
FloatArray
?
,
phase
:
Float
):
NativePointer
private
external
fun
_nMakeDash
(
intervals
:
InteropPointer
,
phase
:
Float
):
NativePointer
@ExternalSymbolName
(
"org_jetbrains_skia_PathEffect__1nMakeDiscrete"
)
@ExternalSymbolName
(
"org_jetbrains_skia_PathEffect__1nMakeDiscrete"
)
private
external
fun
_nMakeDiscrete
(
segLength
:
Float
,
dev
:
Float
,
seed
:
Int
):
NativePointer
private
external
fun
_nMakeDiscrete
(
segLength
:
Float
,
dev
:
Float
,
seed
:
Int
):
NativePointer
skiko/src/commonMain/kotlin/org/jetbrains/skia/Picture.kt
View file @
bcbda1d8
@file
:
Suppress
(
"NESTED_EXTERNAL_DECLARATION"
)
@file
:
Suppress
(
"NESTED_EXTERNAL_DECLARATION"
)
package
org.jetbrains.skia
package
org.jetbrains.skia
import
org.jetbrains.skia.impl.*
import
org.jetbrains.skia.impl.Library.Companion.staticLoad
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.impl.NativePointer
import
org.jetbrains.skia.impl.getPtr
class
Picture
internal
constructor
(
ptr
:
NativePointer
)
:
RefCnt
(
ptr
)
{
class
Picture
internal
constructor
(
ptr
:
NativePointer
)
:
RefCnt
(
ptr
)
{
companion
object
{
companion
object
{
...
@@ -212,7 +208,11 @@ class Picture internal constructor(ptr: NativePointer) : RefCnt(ptr) {
...
@@ -212,7 +208,11 @@ class Picture internal constructor(ptr: NativePointer) : RefCnt(ptr) {
return
try
{
return
try
{
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
val
arr
=
localMatrix
?.
mat
val
arr
=
localMatrix
?.
mat
Shader
(
_nMakeShader
(
_ptr
,
tmx
.
ordinal
,
tmy
.
ordinal
,
mode
.
ordinal
,
arr
,
tileRect
))
Shader
(
interopScope
{
_nMakeShader
(
_ptr
,
tmx
.
ordinal
,
tmy
.
ordinal
,
mode
.
ordinal
,
toInterop
(
arr
),
tileRect
)
}
)
}
finally
{
}
finally
{
reachabilityBarrier
(
this
)
reachabilityBarrier
(
this
)
}
}
...
@@ -250,6 +250,6 @@ private external fun _nMakeShader(
...
@@ -250,6 +250,6 @@ private external fun _nMakeShader(
tmx
:
Int
,
tmx
:
Int
,
tmy
:
Int
,
tmy
:
Int
,
filterMode
:
Int
,
filterMode
:
Int
,
localMatrix
:
FloatArray
?
,
localMatrix
:
InteropPointer
,
tileRect
:
Rect
?
tileRect
:
Rect
?
):
NativePointer
):
NativePointer
skiko/src/commonMain/kotlin/org/jetbrains/skia/Region.kt
View file @
bcbda1d8
...
@@ -2,12 +2,8 @@
...
@@ -2,12 +2,8 @@
package
org.jetbrains.skia
package
org.jetbrains.skia
import
org.jetbrains.skia.impl.*
import
org.jetbrains.skia.impl.Library.Companion.staticLoad
import
org.jetbrains.skia.impl.Library.Companion.staticLoad
import
org.jetbrains.skia.impl.Managed
import
org.jetbrains.skia.impl.NativePointer
import
org.jetbrains.skia.impl.Stats
import
org.jetbrains.skia.impl.getPtr
import
org.jetbrains.skia.impl.reachabilityBarrier
class
Region
:
Managed
(
Region_nMake
(),
_FinalizerHolder
.
PTR
)
{
class
Region
:
Managed
(
Region_nMake
(),
_FinalizerHolder
.
PTR
)
{
companion
object
{
companion
object
{
...
@@ -113,7 +109,9 @@ class Region : Managed(Region_nMake(), _FinalizerHolder.PTR) {
...
@@ -113,7 +109,9 @@ class Region : Managed(Region_nMake(), _FinalizerHolder.PTR) {
arr
[
i
*
4
+
3
]
=
rects
[
i
].
bottom
arr
[
i
*
4
+
3
]
=
rects
[
i
].
bottom
}
}
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
_nSetRects
(
_ptr
,
arr
)
interopScope
{
_nSetRects
(
_ptr
,
toInterop
(
arr
))
}
}
finally
{
}
finally
{
reachabilityBarrier
(
this
)
reachabilityBarrier
(
this
)
}
}
...
@@ -360,7 +358,7 @@ private external fun _nSetEmpty(ptr: NativePointer): Boolean
...
@@ -360,7 +358,7 @@ private external fun _nSetEmpty(ptr: NativePointer): Boolean
private
external
fun
_nSetRect
(
ptr
:
NativePointer
,
left
:
Int
,
top
:
Int
,
right
:
Int
,
bottom
:
Int
):
Boolean
private
external
fun
_nSetRect
(
ptr
:
NativePointer
,
left
:
Int
,
top
:
Int
,
right
:
Int
,
bottom
:
Int
):
Boolean
@ExternalSymbolName
(
"org_jetbrains_skia_Region__1nSetRects"
)
@ExternalSymbolName
(
"org_jetbrains_skia_Region__1nSetRects"
)
private
external
fun
_nSetRects
(
ptr
:
NativePointer
,
rects
:
Int
Array
?
):
Boolean
private
external
fun
_nSetRects
(
ptr
:
NativePointer
,
rects
:
Int
eropPointer
):
Boolean
@ExternalSymbolName
(
"org_jetbrains_skia_Region__1nSetRegion"
)
@ExternalSymbolName
(
"org_jetbrains_skia_Region__1nSetRegion"
)
private
external
fun
_nSetRegion
(
ptr
:
NativePointer
,
regionPtr
:
NativePointer
):
Boolean
private
external
fun
_nSetRegion
(
ptr
:
NativePointer
,
regionPtr
:
NativePointer
):
Boolean
...
...
skiko/src/commonMain/kotlin/org/jetbrains/skia/Shader.kt
View file @
bcbda1d8
@file
:
Suppress
(
"NESTED_EXTERNAL_DECLARATION"
)
@file
:
Suppress
(
"NESTED_EXTERNAL_DECLARATION"
)
package
org.jetbrains.skia
package
org.jetbrains.skia
import
org.jetbrains.skia.impl.*
import
org.jetbrains.skia.impl.Library.Companion.staticLoad
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.impl.NativePointer
import
org.jetbrains.skia.impl.getPtr
class
Shader
internal
constructor
(
ptr
:
NativePointer
)
:
RefCnt
(
ptr
)
{
class
Shader
internal
constructor
(
ptr
:
NativePointer
)
:
RefCnt
(
ptr
)
{
companion
object
{
companion
object
{
...
@@ -41,17 +37,19 @@ class Shader internal constructor(ptr: NativePointer) : RefCnt(ptr) {
...
@@ -41,17 +37,19 @@ class Shader internal constructor(ptr: NativePointer) : RefCnt(ptr) {
require
(
positions
==
null
||
colors
.
size
==
positions
.
size
)
{
"colors.length "
+
colors
.
size
+
"!= positions.length "
+
positions
!!
.
size
}
require
(
positions
==
null
||
colors
.
size
==
positions
.
size
)
{
"colors.length "
+
colors
.
size
+
"!= positions.length "
+
positions
!!
.
size
}
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
return
Shader
(
return
Shader
(
_nMakeLinearGradient
(
interopScope
{
x0
,
_nMakeLinearGradient
(
y0
,
x0
,
x1
,
y0
,
y1
,
x1
,
colors
,
y1
,
positions
,
toInterop
(
colors
),
style
.
tileMode
.
ordinal
,
toInterop
(
positions
),
style
.
_getFlags
(),
style
.
tileMode
.
ordinal
,
style
.
_getMatrixArray
()
style
.
_getFlags
(),
)
toInterop
(
style
.
_getMatrixArray
())
)
}
)
)
}
}
...
@@ -80,18 +78,20 @@ class Shader internal constructor(ptr: NativePointer) : RefCnt(ptr) {
...
@@ -80,18 +78,20 @@ class Shader internal constructor(ptr: NativePointer) : RefCnt(ptr) {
require
(
positions
==
null
||
colors
.
size
==
positions
.
size
)
{
"colors.length "
+
colors
.
size
+
"!= positions.length "
+
positions
!!
.
size
}
require
(
positions
==
null
||
colors
.
size
==
positions
.
size
)
{
"colors.length "
+
colors
.
size
+
"!= positions.length "
+
positions
!!
.
size
}
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
Shader
(
Shader
(
_nMakeLinearGradientCS
(
interopScope
{
x0
,
_nMakeLinearGradientCS
(
y0
,
x0
,
x1
,
y0
,
y1
,
x1
,
Color4f
.
flattenArray
(
colors
),
y1
,
getPtr
(
cs
),
toInterop
(
Color4f
.
flattenArray
(
colors
)),
positions
,
getPtr
(
cs
),
style
.
tileMode
.
ordinal
,
toInterop
(
positions
),
style
.
_getFlags
(),
style
.
tileMode
.
ordinal
,
style
.
_getMatrixArray
()
style
.
_getFlags
(),
)
toInterop
(
style
.
_getMatrixArray
())
)
}
)
)
}
finally
{
}
finally
{
reachabilityBarrier
(
cs
)
reachabilityBarrier
(
cs
)
...
@@ -128,16 +128,18 @@ class Shader internal constructor(ptr: NativePointer) : RefCnt(ptr) {
...
@@ -128,16 +128,18 @@ class Shader internal constructor(ptr: NativePointer) : RefCnt(ptr) {
require
(
positions
==
null
||
colors
.
size
==
positions
.
size
)
{
"colors.length "
+
colors
.
size
+
"!= positions.length "
+
positions
!!
.
size
}
require
(
positions
==
null
||
colors
.
size
==
positions
.
size
)
{
"colors.length "
+
colors
.
size
+
"!= positions.length "
+
positions
!!
.
size
}
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
return
Shader
(
return
Shader
(
_nMakeRadialGradient
(
interopScope
{
x
,
_nMakeRadialGradient
(
y
,
x
,
r
,
y
,
colors
,
r
,
positions
,
toInterop
(
colors
),
style
.
tileMode
.
ordinal
,
toInterop
(
positions
),
style
.
_getFlags
(),
style
.
tileMode
.
ordinal
,
style
.
_getMatrixArray
()
style
.
_getFlags
(),
)
toInterop
(
style
.
_getMatrixArray
())
)
}
)
)
}
}
...
@@ -165,17 +167,19 @@ class Shader internal constructor(ptr: NativePointer) : RefCnt(ptr) {
...
@@ -165,17 +167,19 @@ class Shader internal constructor(ptr: NativePointer) : RefCnt(ptr) {
require
(
positions
==
null
||
colors
.
size
==
positions
.
size
)
{
"colors.length "
+
colors
.
size
+
"!= positions.length "
+
positions
!!
.
size
}
require
(
positions
==
null
||
colors
.
size
==
positions
.
size
)
{
"colors.length "
+
colors
.
size
+
"!= positions.length "
+
positions
!!
.
size
}
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
Shader
(
Shader
(
_nMakeRadialGradientCS
(
interopScope
{
x
,
_nMakeRadialGradientCS
(
y
,
x
,
r
,
y
,
Color4f
.
flattenArray
(
colors
),
r
,
getPtr
(
cs
),
toInterop
(
Color4f
.
flattenArray
(
colors
)),
positions
,
getPtr
(
cs
),
style
.
tileMode
.
ordinal
,
toInterop
(
positions
),
style
.
_getFlags
(),
style
.
tileMode
.
ordinal
,
style
.
_getMatrixArray
()
style
.
_getFlags
(),
)
toInterop
(
style
.
_getMatrixArray
())
)
}
)
)
}
finally
{
}
finally
{
reachabilityBarrier
(
cs
)
reachabilityBarrier
(
cs
)
...
@@ -224,19 +228,21 @@ class Shader internal constructor(ptr: NativePointer) : RefCnt(ptr) {
...
@@ -224,19 +228,21 @@ class Shader internal constructor(ptr: NativePointer) : RefCnt(ptr) {
require
(
positions
==
null
||
colors
.
size
==
positions
.
size
)
{
"colors.length "
+
colors
.
size
+
"!= positions.length "
+
positions
!!
.
size
}
require
(
positions
==
null
||
colors
.
size
==
positions
.
size
)
{
"colors.length "
+
colors
.
size
+
"!= positions.length "
+
positions
!!
.
size
}
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
return
Shader
(
return
Shader
(
_nMakeTwoPointConicalGradient
(
interopScope
{
x0
,
_nMakeTwoPointConicalGradient
(
y0
,
x0
,
r0
,
y0
,
x1
,
r0
,
y1
,
x1
,
r1
,
y1
,
colors
,
r1
,
positions
,
toInterop
(
colors
),
style
.
tileMode
.
ordinal
,
toInterop
(
positions
),
style
.
_getFlags
(),
style
.
tileMode
.
ordinal
,
style
.
_getMatrixArray
()
style
.
_getFlags
(),
)
toInterop
(
style
.
_getMatrixArray
())
)
}
)
)
}
}
...
@@ -269,20 +275,22 @@ class Shader internal constructor(ptr: NativePointer) : RefCnt(ptr) {
...
@@ -269,20 +275,22 @@ class Shader internal constructor(ptr: NativePointer) : RefCnt(ptr) {
require
(
positions
==
null
||
colors
.
size
==
positions
.
size
)
{
"colors.length "
+
colors
.
size
+
"!= positions.length "
+
positions
!!
.
size
}
require
(
positions
==
null
||
colors
.
size
==
positions
.
size
)
{
"colors.length "
+
colors
.
size
+
"!= positions.length "
+
positions
!!
.
size
}
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
Shader
(
Shader
(
_nMakeTwoPointConicalGradientCS
(
interopScope
{
x0
,
_nMakeTwoPointConicalGradientCS
(
y0
,
x0
,
r0
,
y0
,
x1
,
r0
,
y1
,
x1
,
r1
,
y1
,
Color4f
.
flattenArray
(
colors
),
r1
,
getPtr
(
cs
),
toInterop
(
Color4f
.
flattenArray
(
colors
)),
positions
,
getPtr
(
cs
),
style
.
tileMode
.
ordinal
,
toInterop
(
positions
),
style
.
_getFlags
(),
style
.
tileMode
.
ordinal
,
style
.
_getMatrixArray
()
style
.
_getFlags
(),
)
toInterop
(
style
.
_getMatrixArray
())
)
}
)
)
}
finally
{
}
finally
{
reachabilityBarrier
(
cs
)
reachabilityBarrier
(
cs
)
...
@@ -343,17 +351,19 @@ class Shader internal constructor(ptr: NativePointer) : RefCnt(ptr) {
...
@@ -343,17 +351,19 @@ class Shader internal constructor(ptr: NativePointer) : RefCnt(ptr) {
require
(
positions
==
null
||
colors
.
size
==
positions
.
size
)
{
"colors.length "
+
colors
.
size
+
"!= positions.length "
+
positions
!!
.
size
}
require
(
positions
==
null
||
colors
.
size
==
positions
.
size
)
{
"colors.length "
+
colors
.
size
+
"!= positions.length "
+
positions
!!
.
size
}
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
return
Shader
(
return
Shader
(
_nMakeSweepGradient
(
interopScope
{
x
,
_nMakeSweepGradient
(
y
,
x
,
startAngle
,
y
,
endAngle
,
startAngle
,
colors
,
endAngle
,
positions
,
toInterop
(
colors
),
style
.
tileMode
.
ordinal
,
toInterop
(
positions
),
style
.
_getFlags
(),
style
.
tileMode
.
ordinal
,
style
.
_getMatrixArray
()
style
.
_getFlags
(),
)
toInterop
(
style
.
_getMatrixArray
())
)
}
)
)
}
}
...
@@ -383,18 +393,20 @@ class Shader internal constructor(ptr: NativePointer) : RefCnt(ptr) {
...
@@ -383,18 +393,20 @@ class Shader internal constructor(ptr: NativePointer) : RefCnt(ptr) {
require
(
positions
==
null
||
colors
.
size
==
positions
.
size
)
{
"colors.length "
+
colors
.
size
+
"!= positions.length "
+
positions
!!
.
size
}
require
(
positions
==
null
||
colors
.
size
==
positions
.
size
)
{
"colors.length "
+
colors
.
size
+
"!= positions.length "
+
positions
!!
.
size
}
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
Shader
(
Shader
(
_nMakeSweepGradientCS
(
interopScope
{
x
,
_nMakeSweepGradientCS
(
y
,
x
,
startAngle
,
y
,
endAngle
,
startAngle
,
Color4f
.
flattenArray
(
colors
),
endAngle
,
getPtr
(
cs
),
toInterop
(
Color4f
.
flattenArray
(
colors
)),
positions
,
getPtr
(
cs
),
style
.
tileMode
.
ordinal
,
toInterop
(
positions
),
style
.
_getFlags
(),
style
.
tileMode
.
ordinal
,
style
.
_getMatrixArray
()
style
.
_getFlags
(),
)
toInterop
(
style
.
_getMatrixArray
())
)
}
)
)
}
finally
{
}
finally
{
reachabilityBarrier
(
cs
)
reachabilityBarrier
(
cs
)
...
@@ -459,7 +471,11 @@ class Shader internal constructor(ptr: NativePointer) : RefCnt(ptr) {
...
@@ -459,7 +471,11 @@ class Shader internal constructor(ptr: NativePointer) : RefCnt(ptr) {
arr
[
i
*
2
+
1
]
=
tiles
[
i
].
height
arr
[
i
*
2
+
1
]
=
tiles
[
i
].
height
}
}
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
Shader
(
_nMakeFractalNoise
(
baseFrequencyX
,
baseFrequencyY
,
numOctaves
,
seed
,
arr
))
Shader
(
interopScope
{
_nMakeFractalNoise
(
baseFrequencyX
,
baseFrequencyY
,
numOctaves
,
seed
,
toInterop
(
arr
))
}
)
}
finally
{
}
finally
{
reachabilityBarrier
(
this
)
reachabilityBarrier
(
this
)
}
}
...
@@ -479,7 +495,11 @@ class Shader internal constructor(ptr: NativePointer) : RefCnt(ptr) {
...
@@ -479,7 +495,11 @@ class Shader internal constructor(ptr: NativePointer) : RefCnt(ptr) {
arr
[
i
*
2
+
1
]
=
tiles
[
i
].
height
arr
[
i
*
2
+
1
]
=
tiles
[
i
].
height
}
}
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
Shader
(
_nMakeTurbulence
(
baseFrequencyX
,
baseFrequencyY
,
numOctaves
,
seed
,
arr
))
Shader
(
interopScope
{
_nMakeTurbulence
(
baseFrequencyX
,
baseFrequencyY
,
numOctaves
,
seed
,
toInterop
(
arr
))
}
)
}
finally
{
}
finally
{
reachabilityBarrier
(
this
)
reachabilityBarrier
(
this
)
}
}
...
@@ -512,11 +532,11 @@ private external fun _nMakeLinearGradient(
...
@@ -512,11 +532,11 @@ private external fun _nMakeLinearGradient(
y0
:
Float
,
y0
:
Float
,
x1
:
Float
,
x1
:
Float
,
y1
:
Float
,
y1
:
Float
,
colors
:
Int
Array
?
,
colors
:
Int
eropPointer
,
positions
:
FloatArray
?
,
positions
:
InteropPointer
,
tileType
:
Int
,
tileType
:
Int
,
flags
:
Int
,
flags
:
Int
,
matrix
:
FloatArray
?
matrix
:
InteropPointer
):
NativePointer
):
NativePointer
...
@@ -526,12 +546,12 @@ private external fun _nMakeLinearGradientCS(
...
@@ -526,12 +546,12 @@ private external fun _nMakeLinearGradientCS(
y0
:
Float
,
y0
:
Float
,
x1
:
Float
,
x1
:
Float
,
y1
:
Float
,
y1
:
Float
,
colors
:
FloatArray
?
,
colors
:
InteropPointer
,
colorSpacePtr
:
NativePointer
,
colorSpacePtr
:
NativePointer
,
positions
:
FloatArray
?
,
positions
:
InteropPointer
,
tileType
:
Int
,
tileType
:
Int
,
flags
:
Int
,
flags
:
Int
,
matrix
:
FloatArray
?
matrix
:
InteropPointer
):
NativePointer
):
NativePointer
...
@@ -540,11 +560,11 @@ private external fun _nMakeRadialGradient(
...
@@ -540,11 +560,11 @@ private external fun _nMakeRadialGradient(
x
:
Float
,
x
:
Float
,
y
:
Float
,
y
:
Float
,
r
:
Float
,
r
:
Float
,
colors
:
Int
Array
?
,
colors
:
Int
eropPointer
,
positions
:
FloatArray
?
,
positions
:
InteropPointer
,
tileType
:
Int
,
tileType
:
Int
,
flags
:
Int
,
flags
:
Int
,
matrix
:
FloatArray
?
matrix
:
InteropPointer
):
NativePointer
):
NativePointer
...
@@ -553,12 +573,12 @@ private external fun _nMakeRadialGradientCS(
...
@@ -553,12 +573,12 @@ private external fun _nMakeRadialGradientCS(
x
:
Float
,
x
:
Float
,
y
:
Float
,
y
:
Float
,
r
:
Float
,
r
:
Float
,
colors
:
FloatArray
?
,
colors
:
InteropPointer
,
colorSpacePtr
:
NativePointer
,
colorSpacePtr
:
NativePointer
,
positions
:
FloatArray
?
,
positions
:
InteropPointer
,
tileType
:
Int
,
tileType
:
Int
,
flags
:
Int
,
flags
:
Int
,
matrix
:
FloatArray
?
matrix
:
InteropPointer
):
NativePointer
):
NativePointer
...
@@ -570,11 +590,11 @@ private external fun _nMakeTwoPointConicalGradient(
...
@@ -570,11 +590,11 @@ private external fun _nMakeTwoPointConicalGradient(
x1
:
Float
,
x1
:
Float
,
y1
:
Float
,
y1
:
Float
,
r1
:
Float
,
r1
:
Float
,
colors
:
Int
Array
?
,
colors
:
Int
eropPointer
,
positions
:
FloatArray
?
,
positions
:
InteropPointer
,
tileType
:
Int
,
tileType
:
Int
,
flags
:
Int
,
flags
:
Int
,
matrix
:
FloatArray
?
matrix
:
InteropPointer
):
NativePointer
):
NativePointer
...
@@ -586,12 +606,12 @@ private external fun _nMakeTwoPointConicalGradientCS(
...
@@ -586,12 +606,12 @@ private external fun _nMakeTwoPointConicalGradientCS(
x1
:
Float
,
x1
:
Float
,
y1
:
Float
,
y1
:
Float
,
r1
:
Float
,
r1
:
Float
,
colors
:
FloatArray
?
,
colors
:
InteropPointer
,
colorSpacePtr
:
NativePointer
,
colorSpacePtr
:
NativePointer
,
positions
:
FloatArray
?
,
positions
:
InteropPointer
,
tileType
:
Int
,
tileType
:
Int
,
flags
:
Int
,
flags
:
Int
,
matrix
:
FloatArray
?
matrix
:
InteropPointer
):
NativePointer
):
NativePointer
...
@@ -601,11 +621,11 @@ private external fun _nMakeSweepGradient(
...
@@ -601,11 +621,11 @@ private external fun _nMakeSweepGradient(
y
:
Float
,
y
:
Float
,
startAngle
:
Float
,
startAngle
:
Float
,
endAngle
:
Float
,
endAngle
:
Float
,
colors
:
Int
Array
?
,
colors
:
Int
eropPointer
,
positions
:
FloatArray
?
,
positions
:
InteropPointer
,
tileType
:
Int
,
tileType
:
Int
,
flags
:
Int
,
flags
:
Int
,
matrix
:
FloatArray
?
matrix
:
InteropPointer
):
NativePointer
):
NativePointer
...
@@ -615,12 +635,12 @@ private external fun _nMakeSweepGradientCS(
...
@@ -615,12 +635,12 @@ private external fun _nMakeSweepGradientCS(
y
:
Float
,
y
:
Float
,
startAngle
:
Float
,
startAngle
:
Float
,
endAngle
:
Float
,
endAngle
:
Float
,
colors
:
FloatArray
?
,
colors
:
InteropPointer
,
colorSpacePtr
:
NativePointer
,
colorSpacePtr
:
NativePointer
,
positions
:
FloatArray
?
,
positions
:
InteropPointer
,
tileType
:
Int
,
tileType
:
Int
,
flags
:
Int
,
flags
:
Int
,
matrix
:
FloatArray
?
matrix
:
InteropPointer
):
NativePointer
):
NativePointer
...
@@ -630,7 +650,7 @@ private external fun _nMakeFractalNoise(
...
@@ -630,7 +650,7 @@ private external fun _nMakeFractalNoise(
baseFrequencyY
:
Float
,
baseFrequencyY
:
Float
,
numOctaves
:
Int
,
numOctaves
:
Int
,
seed
:
Float
,
seed
:
Float
,
tiles
:
Int
Array
?
tiles
:
Int
eropPointer
):
NativePointer
):
NativePointer
...
@@ -640,7 +660,7 @@ private external fun _nMakeTurbulence(
...
@@ -640,7 +660,7 @@ private external fun _nMakeTurbulence(
baseFrequencyY
:
Float
,
baseFrequencyY
:
Float
,
numOctaves
:
Int
,
numOctaves
:
Int
,
seed
:
Float
,
seed
:
Float
,
tiles
:
Int
Array
?
tiles
:
Int
eropPointer
):
NativePointer
):
NativePointer
@ExternalSymbolName
(
"org_jetbrains_skia_Shader__1nMakeColor"
)
@ExternalSymbolName
(
"org_jetbrains_skia_Shader__1nMakeColor"
)
...
...
skiko/src/commonMain/kotlin/org/jetbrains/skia/TextBlob.kt
View file @
bcbda1d8
@file
:
Suppress
(
"NESTED_EXTERNAL_DECLARATION"
)
@file
:
Suppress
(
"NESTED_EXTERNAL_DECLARATION"
)
package
org.jetbrains.skia
package
org.jetbrains.skia
import
org.jetbrains.skia.impl.*
import
org.jetbrains.skia.impl.Library.Companion.staticLoad
import
org.jetbrains.skia.impl.Library.Companion.staticLoad
import
org.jetbrains.skia.impl.Managed
import
org.jetbrains.skia.impl.Stats
import
org.jetbrains.skia.impl.reachabilityBarrier
import
org.jetbrains.skia.impl.NativePointer
import
org.jetbrains.skia.impl.getPtr
@ExternalSymbolName
(
"org_jetbrains_skia_TextBlob__1nGetFinalizer"
)
@ExternalSymbolName
(
"org_jetbrains_skia_TextBlob__1nGetFinalizer"
)
...
@@ -28,13 +24,13 @@ private external fun _nBounds(ptr: NativePointer): Rect
...
@@ -28,13 +24,13 @@ private external fun _nBounds(ptr: NativePointer): Rect
private
external
fun
_nGetIntercepts
(
ptr
:
NativePointer
,
lower
:
Float
,
upper
:
Float
,
paintPtr
:
NativePointer
):
FloatArray
?
private
external
fun
_nGetIntercepts
(
ptr
:
NativePointer
,
lower
:
Float
,
upper
:
Float
,
paintPtr
:
NativePointer
):
FloatArray
?
@ExternalSymbolName
(
"org_jetbrains_skia_TextBlob__1nMakeFromPosH"
)
@ExternalSymbolName
(
"org_jetbrains_skia_TextBlob__1nMakeFromPosH"
)
private
external
fun
_nMakeFromPosH
(
glyphs
:
ShortArray
?,
xpos
:
FloatArray
?
,
ypos
:
Float
,
fontPtr
:
NativePointer
):
NativePointer
private
external
fun
_nMakeFromPosH
(
glyphs
:
InteropPointer
,
xpos
:
InteropPointer
,
ypos
:
Float
,
fontPtr
:
NativePointer
):
NativePointer
@ExternalSymbolName
(
"org_jetbrains_skia_TextBlob__1nMakeFromPos"
)
@ExternalSymbolName
(
"org_jetbrains_skia_TextBlob__1nMakeFromPos"
)
private
external
fun
_nMakeFromPos
(
glyphs
:
ShortArray
?,
pos
:
FloatArray
?
,
fontPtr
:
NativePointer
):
NativePointer
private
external
fun
_nMakeFromPos
(
glyphs
:
InteropPointer
,
pos
:
InteropPointer
,
fontPtr
:
NativePointer
):
NativePointer
@ExternalSymbolName
(
"org_jetbrains_skia_TextBlob__1nMakeFromRSXform"
)
@ExternalSymbolName
(
"org_jetbrains_skia_TextBlob__1nMakeFromRSXform"
)
private
external
fun
_nMakeFromRSXform
(
glyphs
:
ShortArray
?,
xform
:
FloatArray
?
,
fontPtr
:
NativePointer
):
NativePointer
private
external
fun
_nMakeFromRSXform
(
glyphs
:
InteropPointer
,
xform
:
InteropPointer
,
fontPtr
:
NativePointer
):
NativePointer
@ExternalSymbolName
(
"org_jetbrains_skia_TextBlob__1nGetGlyphs"
)
@ExternalSymbolName
(
"org_jetbrains_skia_TextBlob__1nGetGlyphs"
)
private
external
fun
_nGetGlyphs
(
ptr
:
NativePointer
):
ShortArray
private
external
fun
_nGetGlyphs
(
ptr
:
NativePointer
):
ShortArray
...
@@ -73,12 +69,14 @@ class TextBlob internal constructor(ptr: NativePointer) : Managed(ptr, _Finalize
...
@@ -73,12 +69,14 @@ class TextBlob internal constructor(ptr: NativePointer) : Managed(ptr, _Finalize
return
try
{
return
try
{
require
(
glyphs
.
size
==
xpos
.
size
)
{
"glyphs.length "
+
glyphs
.
size
+
" != xpos.length "
+
xpos
.
size
}
require
(
glyphs
.
size
==
xpos
.
size
)
{
"glyphs.length "
+
glyphs
.
size
+
" != xpos.length "
+
xpos
.
size
}
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
val
ptr
=
_nMakeFromPosH
(
val
ptr
=
interopScope
{
glyphs
,
_nMakeFromPosH
(
xpos
,
toInterop
(
glyphs
),
ypos
,
toInterop
(
xpos
),
getPtr
(
font
)
ypos
,
)
getPtr
(
font
)
)
}
if
(
ptr
==
NullPointer
)
null
else
TextBlob
(
ptr
)
if
(
ptr
==
NullPointer
)
null
else
TextBlob
(
ptr
)
}
finally
{
}
finally
{
reachabilityBarrier
(
font
)
reachabilityBarrier
(
font
)
...
@@ -104,7 +102,9 @@ class TextBlob internal constructor(ptr: NativePointer) : Managed(ptr, _Finalize
...
@@ -104,7 +102,9 @@ class TextBlob internal constructor(ptr: NativePointer) : Managed(ptr, _Finalize
}
}
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
val
ptr
=
val
ptr
=
_nMakeFromPos
(
glyphs
,
floatPos
,
getPtr
(
font
))
interopScope
{
_nMakeFromPos
(
toInterop
(
glyphs
),
toInterop
(
floatPos
),
getPtr
(
font
))
}
if
(
ptr
==
NullPointer
)
null
else
TextBlob
(
ptr
)
if
(
ptr
==
NullPointer
)
null
else
TextBlob
(
ptr
)
}
finally
{
}
finally
{
reachabilityBarrier
(
font
)
reachabilityBarrier
(
font
)
...
@@ -122,11 +122,13 @@ class TextBlob internal constructor(ptr: NativePointer) : Managed(ptr, _Finalize
...
@@ -122,11 +122,13 @@ class TextBlob internal constructor(ptr: NativePointer) : Managed(ptr, _Finalize
floatXform
[
i
*
4
+
3
]
=
xform
[
i
].
ty
floatXform
[
i
*
4
+
3
]
=
xform
[
i
].
ty
}
}
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
val
ptr
=
_nMakeFromRSXform
(
val
ptr
=
interopScope
{
glyphs
,
_nMakeFromRSXform
(
floatXform
,
toInterop
(
glyphs
),
getPtr
(
font
)
toInterop
(
floatXform
),
)
getPtr
(
font
)
)
}
if
(
ptr
==
NullPointer
)
null
else
TextBlob
(
ptr
)
if
(
ptr
==
NullPointer
)
null
else
TextBlob
(
ptr
)
}
finally
{
}
finally
{
reachabilityBarrier
(
font
)
reachabilityBarrier
(
font
)
...
...
skiko/src/commonMain/kotlin/org/jetbrains/skia/TextBlobBuilder.kt
View file @
bcbda1d8
@file
:
Suppress
(
"NESTED_EXTERNAL_DECLARATION"
)
@file
:
Suppress
(
"NESTED_EXTERNAL_DECLARATION"
)
package
org.jetbrains.skia
package
org.jetbrains.skia
import
org.jetbrains.skia.impl.*
import
org.jetbrains.skia.impl.Library.Companion.staticLoad
import
org.jetbrains.skia.impl.Library.Companion.staticLoad
import
org.jetbrains.skia.impl.Managed
import
org.jetbrains.skia.impl.Stats
import
org.jetbrains.skia.impl.reachabilityBarrier
import
org.jetbrains.skia.impl.NativePointer
import
org.jetbrains.skia.impl.getPtr
class
TextBlobBuilder
internal
constructor
(
ptr
:
NativePointer
)
:
Managed
(
ptr
,
_FinalizerHolder
.
PTR
)
{
class
TextBlobBuilder
internal
constructor
(
ptr
:
NativePointer
)
:
Managed
(
ptr
,
_FinalizerHolder
.
PTR
)
{
companion
object
{
companion
object
{
...
@@ -103,14 +99,16 @@ class TextBlobBuilder internal constructor(ptr: NativePointer) : Managed(ptr, _F
...
@@ -103,14 +99,16 @@ class TextBlobBuilder internal constructor(ptr: NativePointer) : Managed(ptr, _F
fun
appendRun
(
font
:
Font
?,
glyphs
:
ShortArray
?,
x
:
Float
,
y
:
Float
,
bounds
:
Rect
?):
TextBlobBuilder
{
fun
appendRun
(
font
:
Font
?,
glyphs
:
ShortArray
?,
x
:
Float
,
y
:
Float
,
bounds
:
Rect
?):
TextBlobBuilder
{
return
try
{
return
try
{
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
_nAppendRun
(
interopScope
{
_ptr
,
_nAppendRun
(
getPtr
(
font
),
_ptr
,
glyphs
,
getPtr
(
font
),
x
,
toInterop
(
glyphs
),
y
,
x
,
bounds
y
,
)
bounds
)
}
this
this
}
finally
{
}
finally
{
reachabilityBarrier
(
font
)
reachabilityBarrier
(
font
)
...
@@ -198,13 +196,15 @@ class TextBlobBuilder internal constructor(ptr: NativePointer) : Managed(ptr, _F
...
@@ -198,13 +196,15 @@ class TextBlobBuilder internal constructor(ptr: NativePointer) : Managed(ptr, _F
floatPos
[
i
*
2
+
1
]
=
pos
[
i
].
y
floatPos
[
i
*
2
+
1
]
=
pos
[
i
].
y
}
}
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
_nAppendRunPos
(
interopScope
{
_ptr
,
_nAppendRunPos
(
getPtr
(
font
),
_ptr
,
glyphs
,
getPtr
(
font
),
floatPos
,
toInterop
(
glyphs
),
bounds
toInterop
(
floatPos
),
)
bounds
)
}
this
this
}
finally
{
}
finally
{
reachabilityBarrier
(
font
)
reachabilityBarrier
(
font
)
...
@@ -222,12 +222,14 @@ class TextBlobBuilder internal constructor(ptr: NativePointer) : Managed(ptr, _F
...
@@ -222,12 +222,14 @@ class TextBlobBuilder internal constructor(ptr: NativePointer) : Managed(ptr, _F
floatXform
[
i
*
4
+
3
]
=
xform
[
i
].
ty
floatXform
[
i
*
4
+
3
]
=
xform
[
i
].
ty
}
}
Stats
.
onNativeCall
()
Stats
.
onNativeCall
()
_nAppendRunRSXform
(
interopScope
{
_ptr
,
_nAppendRunRSXform
(
getPtr
(
font
),
_ptr
,
glyphs
,
getPtr
(
font
),
floatXform
toInterop
(
glyphs
),
)
toInterop
(
floatXform
)
)
}
this
this
}
finally
{
}
finally
{
reachabilityBarrier
(
font
)
reachabilityBarrier
(
font
)
...
@@ -250,7 +252,7 @@ private external fun TextBlobBuilder_nMake(): NativePointer
...
@@ -250,7 +252,7 @@ private external fun TextBlobBuilder_nMake(): NativePointer
private
external
fun
_nBuild
(
ptr
:
NativePointer
):
NativePointer
private
external
fun
_nBuild
(
ptr
:
NativePointer
):
NativePointer
@ExternalSymbolName
(
"org_jetbrains_skia_TextBlobBuilder__1nAppendRun"
)
@ExternalSymbolName
(
"org_jetbrains_skia_TextBlobBuilder__1nAppendRun"
)
private
external
fun
_nAppendRun
(
ptr
:
NativePointer
,
fontPtr
:
NativePointer
,
glyphs
:
ShortArray
?
,
x
:
Float
,
y
:
Float
,
bounds
:
Rect
?)
private
external
fun
_nAppendRun
(
ptr
:
NativePointer
,
fontPtr
:
NativePointer
,
glyphs
:
InteropPointer
,
x
:
Float
,
y
:
Float
,
bounds
:
Rect
?)
@ExternalSymbolName
(
"org_jetbrains_skia_TextBlobBuilder__1nAppendRunPosH"
)
@ExternalSymbolName
(
"org_jetbrains_skia_TextBlobBuilder__1nAppendRunPosH"
)
private
external
fun
_nAppendRunPosH
(
private
external
fun
_nAppendRunPosH
(
...
@@ -264,7 +266,7 @@ private external fun _nAppendRunPosH(
...
@@ -264,7 +266,7 @@ private external fun _nAppendRunPosH(
@ExternalSymbolName
(
"org_jetbrains_skia_TextBlobBuilder__1nAppendRunPos"
)
@ExternalSymbolName
(
"org_jetbrains_skia_TextBlobBuilder__1nAppendRunPos"
)
private
external
fun
_nAppendRunPos
(
ptr
:
NativePointer
,
fontPtr
:
NativePointer
,
glyphs
:
ShortArray
?,
pos
:
FloatArray
?
,
bounds
:
Rect
?)
private
external
fun
_nAppendRunPos
(
ptr
:
NativePointer
,
fontPtr
:
NativePointer
,
glyphs
:
InteropPointer
,
pos
:
InteropPointer
,
bounds
:
Rect
?)
@ExternalSymbolName
(
"org_jetbrains_skia_TextBlobBuilder__1nAppendRunRSXform"
)
@ExternalSymbolName
(
"org_jetbrains_skia_TextBlobBuilder__1nAppendRunRSXform"
)
private
external
fun
_nAppendRunRSXform
(
ptr
:
NativePointer
,
fontPtr
:
NativePointer
,
glyphs
:
ShortArray
?,
xform
:
FloatArray
?
)
private
external
fun
_nAppendRunRSXform
(
ptr
:
NativePointer
,
fontPtr
:
NativePointer
,
glyphs
:
InteropPointer
,
xform
:
InteropPointer
)
skiko/src/commonMain/kotlin/org/jetbrains/skia/impl/Native.kt
View file @
bcbda1d8
...
@@ -42,14 +42,7 @@ expect class InteropScope() {
...
@@ -42,14 +42,7 @@ expect class InteropScope() {
fun
release
()
fun
release
()
}
}
inline
fun
<
T
>
interopScope
(
block
:
InteropScope
.()
->
T
):
T
{
expect
inline
fun
<
T
>
interopScope
(
block
:
InteropScope
.()
->
T
):
T
val
scope
=
InteropScope
()
try
{
return
scope
.
block
()
}
finally
{
scope
.
release
()
}
}
inline
fun
withResult
(
result
:
ByteArray
,
block
:
(
InteropPointer
)
->
Unit
):
ByteArray
=
interopScope
{
inline
fun
withResult
(
result
:
ByteArray
,
block
:
(
InteropPointer
)
->
Unit
):
ByteArray
=
interopScope
{
val
handle
=
toInterop
(
result
)
val
handle
=
toInterop
(
result
)
...
...
skiko/src/jsMain/kotlin/org/jetbrains/skia/impl/Native.js.kt
View file @
bcbda1d8
...
@@ -27,6 +27,15 @@ actual fun reachabilityBarrier(obj: Any?) {
...
@@ -27,6 +27,15 @@ actual fun reachabilityBarrier(obj: Any?) {
actual
typealias
NativePointer
=
Int
actual
typealias
NativePointer
=
Int
actual
typealias
InteropPointer
=
Int
actual
typealias
InteropPointer
=
Int
actual
inline
fun
<
T
>
interopScope
(
block
:
InteropScope
.()
->
T
):
T
{
val
scope
=
InteropScope
()
try
{
return
scope
.
block
()
}
finally
{
scope
.
release
()
}
}
actual
class
InteropScope
actual
constructor
()
{
actual
class
InteropScope
actual
constructor
()
{
private
val
elements
=
mutableListOf
<
NativePointer
>()
private
val
elements
=
mutableListOf
<
NativePointer
>()
...
...
skiko/src/jvmMain/kotlin/org/jetbrains/skia/impl/Native.jvm.kt
View file @
bcbda1d8
...
@@ -50,7 +50,12 @@ actual typealias NativePointer = Long
...
@@ -50,7 +50,12 @@ actual typealias NativePointer = Long
actual
typealias
InteropPointer
=
Any
?
actual
typealias
InteropPointer
=
Any
?
actual
class
InteropScope
actual
constructor
()
{
object
theScope
:
InteropScope
()
actual
inline
fun
<
T
>
interopScope
(
block
:
InteropScope
.()
->
T
):
T
{
return
theScope
.
block
()
}
actual
open
class
InteropScope
actual
constructor
()
{
actual
fun
toInterop
(
string
:
String
?):
InteropPointer
=
string
actual
fun
toInterop
(
string
:
String
?):
InteropPointer
=
string
actual
fun
InteropPointer
.
fromInterop
(
result
:
CharArray
)
{}
actual
fun
InteropPointer
.
fromInterop
(
result
:
CharArray
)
{}
actual
fun
toInterop
(
array
:
ByteArray
?):
InteropPointer
=
array
actual
fun
toInterop
(
array
:
ByteArray
?):
InteropPointer
=
array
...
...
skiko/src/nativeMain/kotlin/org/jetbrains/skia/impl/Native.native.kt
View file @
bcbda1d8
...
@@ -32,6 +32,15 @@ actual fun reachabilityBarrier(obj: Any?) {
...
@@ -32,6 +32,15 @@ actual fun reachabilityBarrier(obj: Any?) {
// TODO: implement native barrier
// TODO: implement native barrier
}
}
actual
inline
fun
<
T
>
interopScope
(
block
:
InteropScope
.()
->
T
):
T
{
val
scope
=
InteropScope
()
try
{
return
scope
.
block
()
}
finally
{
scope
.
release
()
}
}
actual
class
InteropScope
actual
constructor
()
{
actual
class
InteropScope
actual
constructor
()
{
actual
fun
toInterop
(
string
:
String
?):
InteropPointer
{
actual
fun
toInterop
(
string
:
String
?):
InteropPointer
{
return
if
(
string
!=
null
)
{
return
if
(
string
!=
null
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment