Unverified Commit 21d7595e authored by Aleksandr Veselov's avatar Aleksandr Veselov Committed by GitHub

Implement MaskFilter, add creation test (#311)

parent dc16896f
...@@ -19,7 +19,9 @@ class MaskFilter internal constructor(ptr: NativePointer) : RefCnt(ptr) { ...@@ -19,7 +19,9 @@ class MaskFilter internal constructor(ptr: NativePointer) : RefCnt(ptr) {
} }
} }
fun makeTable(table: ByteArray?): MaskFilter { fun makeTable(table: ByteArray): MaskFilter {
require(table.size == 256) { "Expected 256 elements, got " + table.size }
Stats.onNativeCall() Stats.onNativeCall()
return MaskFilter( return MaskFilter(
interopScope { interopScope {
......
package org.jetbrains.skia
import kotlin.test.Test
class MaskFilterTest {
@Test
fun canCreate() {
MaskFilter.makeBlur(FilterBlurMode.NORMAL, 0.5f)
MaskFilter.makeClip(100, 200)
MaskFilter.makeGamma(1.2f)
MaskFilter.makeTable(ByteArray(256) { 127 })
MaskFilter.makeShader(Shader.makeColor(Color.GREEN))
}
}
\ No newline at end of file
...@@ -24,19 +24,10 @@ SKIKO_EXPORT KInteropPointer org_jetbrains_skia_MaskFilter__1nMakeShader ...@@ -24,19 +24,10 @@ SKIKO_EXPORT KInteropPointer org_jetbrains_skia_MaskFilter__1nMakeShader
SKIKO_EXPORT KInteropPointer org_jetbrains_skia_MaskFilter__1nMakeTable SKIKO_EXPORT KInteropPointer org_jetbrains_skia_MaskFilter__1nMakeTable
(KByte* tableArray) { (KByte* table) {
TODO("implement org_jetbrains_skia_MaskFilter__1nMakeTable");
}
#if 0
SKIKO_EXPORT KInteropPointer org_jetbrains_skia_MaskFilter__1nMakeTable
(KByte* tableArray) {
KByte* table = env->GetByteArrayElements(tableArray, 0);
SkMaskFilter* ptr = SkTableMaskFilter::Create(reinterpret_cast<uint8_t*>(table)); SkMaskFilter* ptr = SkTableMaskFilter::Create(reinterpret_cast<uint8_t*>(table));
env->ReleaseByteArrayElements(tableArray, table, 0);
return reinterpret_cast<KInteropPointer>(ptr); return reinterpret_cast<KInteropPointer>(ptr);
} }
#endif
SKIKO_EXPORT KInteropPointer org_jetbrains_skia_MaskFilter__1nMakeGamma SKIKO_EXPORT KInteropPointer org_jetbrains_skia_MaskFilter__1nMakeGamma
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment