Unverified Commit 117b733a authored by Manuel Unterhofer's avatar Manuel Unterhofer Committed by GitHub

Add bindings for half leading to TextStye and StrutStyle (#535)

This will allow us to create vertically centered text with custom line height

(cherry picked from commit f6f5338c1239625dd3ddf0e3b0e56b393e8a43ae)
parent 9a4db01b
...@@ -175,6 +175,23 @@ class StrutStyle internal constructor(ptr: NativePointer) : Managed(ptr, _Finali ...@@ -175,6 +175,23 @@ class StrutStyle internal constructor(ptr: NativePointer) : Managed(ptr, _Finali
return this return this
} }
var isHalfLeading: Boolean
get() = try {
Stats.onNativeCall()
_nIsHalfLeading(_ptr)
} finally {
reachabilityBarrier(this)
}
set(value) {
setHalfLeading(value)
}
fun setHalfLeading(value: Boolean): StrutStyle {
Stats.onNativeCall()
_nSetHalfLeading(_ptr, value)
return this
}
private object _FinalizerHolder { private object _FinalizerHolder {
val PTR = StrutStyle_nGetFinalizer() val PTR = StrutStyle_nGetFinalizer()
} }
...@@ -237,3 +254,9 @@ private external fun _nIsHeightOverridden(ptr: NativePointer): Boolean ...@@ -237,3 +254,9 @@ private external fun _nIsHeightOverridden(ptr: NativePointer): Boolean
@ExternalSymbolName("org_jetbrains_skia_paragraph_StrutStyle__1nSetHeightOverridden") @ExternalSymbolName("org_jetbrains_skia_paragraph_StrutStyle__1nSetHeightOverridden")
private external fun _nSetHeightOverridden(ptr: NativePointer, value: Boolean) private external fun _nSetHeightOverridden(ptr: NativePointer, value: Boolean)
@ExternalSymbolName("org_jetbrains_skia_paragraph_StrutStyle__1nIsHalfLeading")
private external fun _nIsHalfLeading(ptr: NativePointer): Boolean
@ExternalSymbolName("org_jetbrains_skia_paragraph_StrutStyle__1nSetHalfLeading")
private external fun _nSetHalfLeading(ptr: NativePointer, value: Boolean)
...@@ -274,6 +274,23 @@ class TextStyle internal constructor(ptr: NativePointer) : Managed(ptr, _Finaliz ...@@ -274,6 +274,23 @@ class TextStyle internal constructor(ptr: NativePointer) : Managed(ptr, _Finaliz
return this return this
} }
var isHalfLeading: Boolean
get() = try {
Stats.onNativeCall()
TextStyle_nIsHalfLeading(_ptr)
} finally {
reachabilityBarrier(this)
}
set(value) {
setHalfLeading(value)
}
fun setHalfLeading(value: Boolean): TextStyle {
Stats.onNativeCall()
TextStyle_nSetHalfLeading(_ptr, value)
return this
}
var letterSpacing: Float var letterSpacing: Float
get() = try { get() = try {
Stats.onNativeCall() Stats.onNativeCall()
...@@ -448,6 +465,12 @@ private external fun TextStyle_nGetHeight(ptr: NativePointer): Float ...@@ -448,6 +465,12 @@ private external fun TextStyle_nGetHeight(ptr: NativePointer): Float
@ExternalSymbolName("org_jetbrains_skia_paragraph_TextStyle__1nSetHeight") @ExternalSymbolName("org_jetbrains_skia_paragraph_TextStyle__1nSetHeight")
private external fun TextStyle_nSetHeight(ptr: NativePointer, override: Boolean, height: Float) private external fun TextStyle_nSetHeight(ptr: NativePointer, override: Boolean, height: Float)
@ExternalSymbolName("org_jetbrains_skia_paragraph_TextStyle__1nIsHalfLeading")
private external fun TextStyle_nIsHalfLeading(ptr: NativePointer): Boolean
@ExternalSymbolName("org_jetbrains_skia_paragraph_TextStyle__1nSetHalfLeading")
private external fun TextStyle_nSetHalfLeading(ptr: NativePointer, value: Boolean)
@ExternalSymbolName("org_jetbrains_skia_paragraph_TextStyle__1nGetBaselineShift") @ExternalSymbolName("org_jetbrains_skia_paragraph_TextStyle__1nGetBaselineShift")
private external fun TextStyle_nGetBaselineShift(ptr: NativePointer): Float private external fun TextStyle_nGetBaselineShift(ptr: NativePointer): Float
......
...@@ -133,3 +133,15 @@ extern "C" JNIEXPORT void JNICALL Java_org_jetbrains_skia_paragraph_StrutStyleKt ...@@ -133,3 +133,15 @@ extern "C" JNIEXPORT void JNICALL Java_org_jetbrains_skia_paragraph_StrutStyleKt
StrutStyle* instance = reinterpret_cast<StrutStyle*>(static_cast<uintptr_t>(ptr)); StrutStyle* instance = reinterpret_cast<StrutStyle*>(static_cast<uintptr_t>(ptr));
instance->setHeightOverride(value); instance->setHeightOverride(value);
} }
extern "C" JNIEXPORT jboolean JNICALL Java_org_jetbrains_skia_paragraph_StrutStyleKt__1nIsHalfLeading
(JNIEnv* env, jclass jclass, jlong ptr) {
StrutStyle* instance = reinterpret_cast<StrutStyle*>(static_cast<uintptr_t>(ptr));
return instance->getHalfLeading();
}
extern "C" JNIEXPORT void JNICALL Java_org_jetbrains_skia_paragraph_StrutStyleKt__1nSetHalfLeading
(JNIEnv* env, jclass jclass, jlong ptr, jboolean value) {
StrutStyle* instance = reinterpret_cast<StrutStyle*>(static_cast<uintptr_t>(ptr));
instance->setHalfLeading(value);
}
...@@ -245,6 +245,18 @@ extern "C" JNIEXPORT void JNICALL Java_org_jetbrains_skia_paragraph_TextStyleKt_ ...@@ -245,6 +245,18 @@ extern "C" JNIEXPORT void JNICALL Java_org_jetbrains_skia_paragraph_TextStyleKt_
instance->setHeight(height); instance->setHeight(height);
} }
extern "C" JNIEXPORT jboolean JNICALL Java_org_jetbrains_skia_paragraph_TextStyleKt_TextStyle_1nIsHalfLeading
(JNIEnv* env, jclass jclass, jlong ptr) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
return instance->getHalfLeading();
}
extern "C" JNIEXPORT void JNICALL Java_org_jetbrains_skia_paragraph_TextStyleKt_TextStyle_1nSetHalfLeading
(JNIEnv* env, jclass jclass, jlong ptr, jboolean value) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
instance->setHalfLeading(value);
}
extern "C" JNIEXPORT jfloat JNICALL Java_org_jetbrains_skia_paragraph_TextStyleKt_TextStyle_1nGetBaselineShift extern "C" JNIEXPORT jfloat JNICALL Java_org_jetbrains_skia_paragraph_TextStyleKt_TextStyle_1nGetBaselineShift
(JNIEnv* env, jclass jclass, jlong ptr) { (JNIEnv* env, jclass jclass, jlong ptr) {
TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr)); TextStyle* instance = reinterpret_cast<TextStyle*>(static_cast<uintptr_t>(ptr));
......
...@@ -133,3 +133,15 @@ SKIKO_EXPORT void org_jetbrains_skia_paragraph_StrutStyle__1nSetHeightOverridden ...@@ -133,3 +133,15 @@ SKIKO_EXPORT void org_jetbrains_skia_paragraph_StrutStyle__1nSetHeightOverridden
StrutStyle* instance = reinterpret_cast<StrutStyle*>(ptr); StrutStyle* instance = reinterpret_cast<StrutStyle*>(ptr);
instance->setHeightOverride(value); instance->setHeightOverride(value);
} }
SKIKO_EXPORT KBoolean org_jetbrains_skia_paragraph_StrutStyle__1nIsHalfLeading
(KNativePointer ptr) {
StrutStyle* instance = reinterpret_cast<StrutStyle*>(ptr);
return instance->getHalfLeading();
}
SKIKO_EXPORT void org_jetbrains_skia_paragraph_StrutStyle__1nSetHalfLeading
(KNativePointer ptr, KBoolean value) {
StrutStyle* instance = reinterpret_cast<StrutStyle*>(ptr);
instance->setHalfLeading(value);
}
...@@ -243,6 +243,18 @@ SKIKO_EXPORT void org_jetbrains_skia_paragraph_TextStyle__1nSetHeight ...@@ -243,6 +243,18 @@ SKIKO_EXPORT void org_jetbrains_skia_paragraph_TextStyle__1nSetHeight
instance->setHeight(height); instance->setHeight(height);
} }
SKIKO_EXPORT KFloat org_jetbrains_skia_paragraph_TextStyle__1nGetHalfLeading
(KNativePointer ptr) {
TextStyle* instance = reinterpret_cast<TextStyle*>(ptr);
return instance->getHalfLeading();
}
SKIKO_EXPORT void org_jetbrains_skia_paragraph_TextStyle__1nSetHalfLeading
(KNativePointer ptr, KBoolean halfLeading) {
TextStyle* instance = reinterpret_cast<TextStyle*>(ptr);
instance->setHalfLeading(halfLeading);
}
SKIKO_EXPORT KFloat org_jetbrains_skia_paragraph_TextStyle__1nGetBaselineShift SKIKO_EXPORT KFloat org_jetbrains_skia_paragraph_TextStyle__1nGetBaselineShift
(KNativePointer ptr) { (KNativePointer ptr) {
TextStyle* instance = reinterpret_cast<TextStyle*>(ptr); TextStyle* instance = reinterpret_cast<TextStyle*>(ptr);
......
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