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
2295bace
Unverified
Commit
2295bace
authored
Dec 21, 2022
by
igoriakovlev
Committed by
GitHub
Dec 21, 2022
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix invalid bindings (#638)
parent
922f1ec1
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
75 additions
and
35 deletions
+75
-35
Bitmap.kt
skiko/src/commonMain/kotlin/org/jetbrains/skia/Bitmap.kt
+2
-2
BreakIterator.kt
...src/commonMain/kotlin/org/jetbrains/skia/BreakIterator.kt
+11
-7
Codec.kt
skiko/src/commonMain/kotlin/org/jetbrains/skia/Codec.kt
+6
-3
TypefaceFontProvider.kt
...tlin/org/jetbrains/skia/paragraph/TypefaceFontProvider.kt
+1
-1
BitmapTest.kt
skiko/src/commonTest/kotlin/org/jetbrains/skia/BitmapTest.kt
+2
-0
BreakIteratorTests.kt
...ommonTest/kotlin/org/jetbrains/skia/BreakIteratorTests.kt
+9
-0
CodecTest.kt
skiko/src/commonTest/kotlin/org/jetbrains/skia/CodecTest.kt
+4
-0
BreakIterator.cc
skiko/src/jvmMain/cpp/common/BreakIterator.cc
+12
-5
Codec.cc
skiko/src/jvmMain/cpp/common/Codec.cc
+8
-2
BreakIterator.cc
skiko/src/nativeJsMain/cpp/BreakIterator.cc
+11
-12
Codec.cc
skiko/src/nativeJsMain/cpp/Codec.cc
+9
-3
No files found.
skiko/src/commonMain/kotlin/org/jetbrains/skia/Bitmap.kt
View file @
2295bace
...
...
@@ -204,7 +204,7 @@ class Bitmap internal constructor(ptr: NativePointer) : Managed(ptr, _FinalizerH
*
* @return size in bytes of image buffer
*/
fun
computeByteSize
():
NativePointer
{
fun
computeByteSize
():
Int
{
return
try
{
Stats
.
onNativeCall
()
_nComputeByteSize
(
_ptr
)
...
...
@@ -1083,7 +1083,7 @@ private external fun _nGetRowBytes(ptr: NativePointer): Int
private
external
fun
_nSetAlphaType
(
ptr
:
NativePointer
,
alphaType
:
Int
):
Boolean
@ExternalSymbolName
(
"org_jetbrains_skia_Bitmap__1nComputeByteSize"
)
private
external
fun
_nComputeByteSize
(
ptr
:
NativePointer
):
NativePointer
private
external
fun
_nComputeByteSize
(
ptr
:
NativePointer
):
Int
@ExternalSymbolName
(
"org_jetbrains_skia_Bitmap__1nIsImmutable"
)
private
external
fun
_nIsImmutable
(
ptr
:
NativePointer
):
Boolean
...
...
skiko/src/commonMain/kotlin/org/jetbrains/skia/BreakIterator.kt
View file @
2295bace
package
org.jetbrains.skia
import
org.jetbrains.skia.impl.
InteropPointer
import
org.jetbrains.skia.impl.
*
import
org.jetbrains.skia.impl.InteropScope
import
org.jetbrains.skia.impl.Library.Companion.staticLoad
import
org.jetbrains.skia.impl.Managed
import
org.jetbrains.skia.impl.Native.Companion.NullPointer
import
org.jetbrains.skia.impl.NativePointer
import
org.jetbrains.skia.impl.Stats
import
org.jetbrains.skia.impl.interopScope
import
org.jetbrains.skia.impl.reachabilityBarrier
import
org.jetbrains.skia.impl.withResult
/**
*
...
...
@@ -496,7 +494,10 @@ class BreakIterator internal constructor(ptr: NativePointer) : Managed(ptr, _Fin
val
ruleStatuses
:
IntArray
get
()
=
try
{
Stats
.
onNativeCall
()
_nGetRuleStatuses
(
_ptr
)
val
arrayLen
=
_nGetRuleStatusesLen
(
_ptr
)
withResult
(
IntArray
(
arrayLen
))
{
result
->
_nGetRuleStatuses
(
_ptr
,
result
,
arrayLen
)
}
}
finally
{
reachabilityBarrier
(
this
)
}
...
...
@@ -579,8 +580,11 @@ private external fun _nIsBoundary(ptr: NativePointer, offset: Int): Boolean
@ExternalSymbolName
(
"org_jetbrains_skia_BreakIterator__1nGetRuleStatus"
)
private
external
fun
_nGetRuleStatus
(
ptr
:
NativePointer
):
Int
@ExternalSymbolName
(
"org_jetbrains_skia_BreakIterator__1nGetRuleStatusesLen"
)
private
external
fun
_nGetRuleStatusesLen
(
ptr
:
NativePointer
):
Int
@ExternalSymbolName
(
"org_jetbrains_skia_BreakIterator__1nGetRuleStatuses"
)
private
external
fun
_nGetRuleStatuses
(
ptr
:
NativePointer
):
IntArray
private
external
fun
_nGetRuleStatuses
(
ptr
:
NativePointer
,
result
:
InteropPointer
,
len
:
Int
)
@ExternalSymbolName
(
"org_jetbrains_skia_BreakIterator__1nSetText"
)
private
external
fun
_nSetText
(
ptr
:
NativePointer
,
textStr
:
InteropPointer
,
len
:
Int
,
errorCode
:
InteropPointer
):
NativePointer
private
external
fun
_nSetText
(
ptr
:
NativePointer
,
textStr
:
InteropPointer
,
len
:
Int
,
errorCode
:
InteropPointer
):
NativePointer
\ No newline at end of file
skiko/src/commonMain/kotlin/org/jetbrains/skia/Codec.kt
View file @
2295bace
...
...
@@ -57,7 +57,7 @@ class Codec internal constructor(ptr: NativePointer) : Managed(ptr, _FinalizerHo
val
size
:
IPoint
get
()
=
try
{
Stats
.
onNativeCall
()
toIPoint
(
_nGetSize
(
_ptr
))
IPoint
(
_nGetSizeWidth
(
_ptr
),
_nGetSizeHeight
(
_ptr
))
}
finally
{
reachabilityBarrier
(
this
)
}
...
...
@@ -372,8 +372,11 @@ private external fun Codec_nReadPixels(ptr: NativePointer, bitmapPtr: NativePoin
@ExternalSymbolName
(
"org_jetbrains_skia_Codec__1nMakeFromData"
)
private
external
fun
_nMakeFromData
(
dataPtr
:
NativePointer
):
NativePointer
@ExternalSymbolName
(
"org_jetbrains_skia_Codec__1nGetSize"
)
private
external
fun
_nGetSize
(
ptr
:
NativePointer
):
Long
@ExternalSymbolName
(
"org_jetbrains_skia_Codec__1nGetSizeWidth"
)
private
external
fun
_nGetSizeWidth
(
ptr
:
NativePointer
):
Int
@ExternalSymbolName
(
"org_jetbrains_skia_Codec__1nGetSizeHeight"
)
private
external
fun
_nGetSizeHeight
(
ptr
:
NativePointer
):
Int
@ExternalSymbolName
(
"org_jetbrains_skia_Codec__1nGetEncodedOrigin"
)
private
external
fun
_nGetEncodedOrigin
(
ptr
:
NativePointer
):
Int
...
...
skiko/src/commonMain/kotlin/org/jetbrains/skia/paragraph/TypefaceFontProvider.kt
View file @
2295bace
...
...
@@ -45,4 +45,4 @@ class TypefaceFontProvider : FontMgr(TypefaceFontProvider_nMake()) {
private
external
fun
TypefaceFontProvider_nMake
():
NativePointer
@ExternalSymbolName
(
"org_jetbrains_skia_paragraph_TypefaceFontProvider__1nRegisterTypeface"
)
private
external
fun
_nRegisterTypeface
(
ptr
:
NativePointer
,
typefacePtr
:
NativePointer
,
alias
:
InteropPointer
)
:
NativePointer
private
external
fun
_nRegisterTypeface
(
ptr
:
NativePointer
,
typefacePtr
:
NativePointer
,
alias
:
InteropPointer
)
skiko/src/commonTest/kotlin/org/jetbrains/skia/BitmapTest.kt
View file @
2295bace
...
...
@@ -40,6 +40,8 @@ class BitmapTest {
assertFalse
(
bitmap
.
isNull
)
assertTrue
(
bitmap
.
isReadyToDraw
)
assertEquals
(
84
,
bitmap
.
computeByteSize
())
bitmap
.
generationId
}
...
...
skiko/src/commonTest/kotlin/org/jetbrains/skia/BreakIteratorTests.kt
View file @
2295bace
...
...
@@ -66,4 +66,13 @@ class BreakIteratorTests {
assertContentEquals
(
listOf
(
167
,
287
),
boundary
.
asSequence
().
toList
())
}
@Test
fun
breakRuleStatusesTest
()
{
val
boundary
=
BreakIterator
.
makeWordInstance
()
boundary
.
setText
(
"Hello world!"
)
boundary
.
next
()
assertEquals
(
boundary
.
ruleStatus
,
200
)
assertContentEquals
(
listOf
(
200
),
boundary
.
ruleStatuses
.
toList
())
}
}
\ No newline at end of file
skiko/src/commonTest/kotlin/org/jetbrains/skia/CodecTest.kt
View file @
2295bace
...
...
@@ -15,6 +15,8 @@ class CodecTest {
assertEquals
(
1
,
codec
.
frameCount
)
assertEquals
(
8
,
codec
.
imageInfo
.
width
)
assertEquals
(
8
,
codec
.
imageInfo
.
height
)
assertEquals
(
8
,
codec
.
size
.
x
)
assertEquals
(
8
,
codec
.
size
.
y
)
assertEquals
(
EncodedImageFormat
.
PNG
,
codec
.
encodedImageFormat
)
val
pixels
=
codec
.
readPixels
()
...
...
@@ -27,6 +29,8 @@ class CodecTest {
assertEquals
(
5
,
codec
.
frameCount
)
assertEquals
(
8
,
codec
.
imageInfo
.
width
)
assertEquals
(
8
,
codec
.
imageInfo
.
height
)
assertEquals
(
8
,
codec
.
size
.
x
)
assertEquals
(
8
,
codec
.
size
.
y
)
assertEquals
(
EncodedImageFormat
.
GIF
,
codec
.
encodedImageFormat
)
val
palette
=
intArrayOf
(
Color
.
BLACK
,
Color
.
RED
,
Color
.
GREEN
,
Color
.
BLUE
,
Color
.
WHITE
)
...
...
skiko/src/jvmMain/cpp/common/BreakIterator.cc
View file @
2295bace
...
...
@@ -95,18 +95,25 @@ extern "C" JNIEXPORT jint JNICALL Java_org_jetbrains_skia_BreakIteratorKt__1nGet
return
ubrk_getRuleStatus
(
instance
);
}
extern
"C"
JNIEXPORT
jint
Array
JNICALL
Java_org_jetbrains_skia_BreakIteratorKt__1nGetRuleStatuses
extern
"C"
JNIEXPORT
jint
JNICALL
Java_org_jetbrains_skia_BreakIteratorKt__1nGetRuleStatusesLen
(
JNIEnv
*
env
,
jclass
jclass
,
jlong
ptr
)
{
UBreakIterator
*
instance
=
reinterpret_cast
<
UBreakIterator
*>
(
static_cast
<
uintptr_t
>
(
ptr
));
UErrorCode
status
=
U_ZERO_ERROR
;
int32_t
len
=
ubrk_getRuleStatusVec
(
instance
,
nullptr
,
0
,
&
status
);
if
(
U_FAILURE
(
status
))
if
(
status
!=
U_BUFFER_OVERFLOW_ERROR
&&
U_FAILURE
(
status
))
env
->
ThrowNew
(
java
::
lang
::
RuntimeException
::
cls
,
u_errorName
(
status
));
std
::
vector
<
jint
>
vec
(
len
);
ubrk_getRuleStatusVec
(
instance
,
reinterpret_cast
<
int32_t
*>
(
vec
.
data
()),
len
,
&
status
);
return
len
;
}
extern
"C"
JNIEXPORT
void
JNICALL
Java_org_jetbrains_skia_BreakIteratorKt__1nGetRuleStatuses
(
JNIEnv
*
env
,
jclass
jclass
,
jlong
ptr
,
jintArray
result
,
jint
len
)
{
UBreakIterator
*
instance
=
reinterpret_cast
<
UBreakIterator
*>
(
static_cast
<
uintptr_t
>
(
ptr
));
UErrorCode
status
=
U_ZERO_ERROR
;
std
::
vector
<
jint
>
statuses
(
len
);
ubrk_getRuleStatusVec
(
instance
,
reinterpret_cast
<
int32_t
*>
(
statuses
.
data
()),
len
,
&
status
);
if
(
U_FAILURE
(
status
))
env
->
ThrowNew
(
java
::
lang
::
RuntimeException
::
cls
,
u_errorName
(
status
));
return
javaIntArray
(
env
,
vec
);
env
->
SetIntArrayRegion
(
result
,
0
,
len
,
statuses
.
data
()
);
}
extern
"C"
JNIEXPORT
jlong
JNICALL
Java_org_jetbrains_skia_BreakIteratorKt__1nSetText
...
...
skiko/src/jvmMain/cpp/common/Codec.cc
View file @
2295bace
...
...
@@ -27,10 +27,16 @@ extern "C" JNIEXPORT void JNICALL Java_org_jetbrains_skia_CodecKt_Codec_1nGetIma
skija
::
ImageInfo
::
writeImageInfoForInterop
(
env
,
imageInfo
,
imageInfoResult
,
colorSpaceResultPtr
);
}
extern
"C"
JNIEXPORT
j
long
JNICALL
Java_org_jetbrains_skia_CodecKt__1nGetSize
extern
"C"
JNIEXPORT
j
int
JNICALL
Java_org_jetbrains_skia_CodecKt__1nGetSizeWidth
(
JNIEnv
*
env
,
jclass
jclass
,
jlong
ptr
)
{
SkCodec
*
instance
=
reinterpret_cast
<
SkCodec
*>
(
static_cast
<
uintptr_t
>
(
ptr
));
return
packISize
(
instance
->
dimensions
());
return
instance
->
dimensions
().
fWidth
;
}
extern
"C"
JNIEXPORT
jint
JNICALL
Java_org_jetbrains_skia_CodecKt__1nGetSizeHeight
(
JNIEnv
*
env
,
jclass
jclass
,
jlong
ptr
)
{
SkCodec
*
instance
=
reinterpret_cast
<
SkCodec
*>
(
static_cast
<
uintptr_t
>
(
ptr
));
return
instance
->
dimensions
().
fHeight
;
}
extern
"C"
JNIEXPORT
jlong
JNICALL
Java_org_jetbrains_skia_CodecKt__1nGetEncodedOrigin
...
...
skiko/src/nativeJsMain/cpp/BreakIterator.cc
View file @
2295bace
...
...
@@ -98,23 +98,22 @@ SKIKO_EXPORT KInt org_jetbrains_skia_BreakIterator__1nGetRuleStatus
}
#if 0
SKIKO_EXPORT KInt* org_jetbrains_skia_BreakIterator__1nGetRuleStatuses
SKIKO_EXPORT
KInt
org_jetbrains_skia_BreakIterator__1nGetRuleStatusesLen
(
KNativePointer
ptr
)
{
UBreakIterator
*
instance
=
reinterpret_cast
<
UBreakIterator
*>
(
ptr
);
UErrorCode
status
=
U_ZERO_ERROR
;
int32_t
len
=
ubrk_getRuleStatusVec
(
instance
,
nullptr
,
0
,
&
status
);
if (U_FAILURE(status))
env->ThrowNew(java::lang::RuntimeException::cls, u_errorName(status));
std::vector<KInt> vec(len);
ubrk_getRuleStatusVec(instance, reinterpret_cast<int32_t*>(vec.data()), len, &status);
if (U_FAILURE(status))
env->ThrowNew(java::lang::RuntimeException::cls, u_errorName(status));
return javaIntArray(env, vec);
SKIKO_ASSERT
(
status
==
U_BUFFER_OVERFLOW_ERROR
||
!
U_FAILURE
(
status
),
"Failed to get rule statuses"
);
return
len
;
}
#endif
SKIKO_EXPORT
void
org_jetbrains_skia_BreakIterator__1nGetRuleStatuses
(
KNativePointer
ptr
,
KInteropPointer
result
,
KInt
len
)
{
UBreakIterator
*
instance
=
reinterpret_cast
<
UBreakIterator
*>
(
ptr
);
UErrorCode
status
=
U_ZERO_ERROR
;
ubrk_getRuleStatusVec
(
instance
,
reinterpret_cast
<
int32_t
*>
(
result
),
len
,
&
status
);
SKIKO_ASSERT
(
!
U_FAILURE
(
status
),
"Failed to get rule statuses"
);
}
SKIKO_EXPORT
KNativePointer
org_jetbrains_skia_BreakIterator__1nSetText
(
KNativePointer
ptr
,
KChar
*
textArr
,
KInt
len
,
KInt
*
errorCode
)
{
...
...
@@ -125,4 +124,4 @@ SKIKO_EXPORT KNativePointer org_jetbrains_skia_BreakIterator__1nSetText
ubrk_setText
(
instance
,
text
->
data
(),
len
,
&
status
);
errorCode
[
0
]
=
status
;
return
reinterpret_cast
<
KNativePointer
>
(
text
);
}
}
\ No newline at end of file
skiko/src/nativeJsMain/cpp/Codec.cc
View file @
2295bace
...
...
@@ -26,10 +26,16 @@ SKIKO_EXPORT void org_jetbrains_skia_Codec__1nGetImageInfo
skija
::
ImageInfo
::
writeImageInfoForInterop
(
imageInfo
,
imageInfoResult
,
colorSpacePtrsArray
);
}
SKIKO_EXPORT
KInt
org_jetbrains_skia_Codec__1nGetSize
SKIKO_EXPORT
KInt
org_jetbrains_skia_Codec__1nGetSize
Width
(
KNativePointer
ptr
)
{
SkCodec
*
instance
=
reinterpret_cast
<
SkCodec
*>
((
ptr
));
return
packISize
(
instance
->
dimensions
());
return
instance
->
dimensions
().
fWidth
;
}
SKIKO_EXPORT
KInt
org_jetbrains_skia_Codec__1nGetSizeHeight
(
KNativePointer
ptr
)
{
SkCodec
*
instance
=
reinterpret_cast
<
SkCodec
*>
((
ptr
));
return
instance
->
dimensions
().
fHeight
;
}
SKIKO_EXPORT
KInt
org_jetbrains_skia_Codec__1nGetEncodedOrigin
...
...
@@ -99,4 +105,4 @@ SKIKO_EXPORT KInt org_jetbrains_skia_Codec__1nGetRepetitionCount
(
KNativePointer
ptr
)
{
SkCodec
*
instance
=
reinterpret_cast
<
SkCodec
*>
((
ptr
));
return
instance
->
getRepetitionCount
();
}
}
\ No newline at end of file
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