Unverified Commit 2fd5eb65 authored by Nikolay Igotti's avatar Nikolay Igotti Committed by GitHub

Remove no longer needed workaround for...

Remove no longer needed workaround for https://bugs.chromium.org/p/skia/issues/detail?id=10929 (#330)
parent defd411c
...@@ -68,33 +68,12 @@ extern "C" JNIEXPORT jlong JNICALL Java_org_jetbrains_skia_TypefaceKt_Typeface_1 ...@@ -68,33 +68,12 @@ extern "C" JNIEXPORT jlong JNICALL Java_org_jetbrains_skia_TypefaceKt_Typeface_1
return reinterpret_cast<jlong>(SkTypeface::MakeDefault().release()); return reinterpret_cast<jlong>(SkTypeface::MakeDefault().release());
} }
// TODO remove after https://bugs.chromium.org/p/skia/issues/detail?id=10929
sk_sp<SkTypeface> setDefaultVariationCoords(sk_sp<SkTypeface> face) {
#if defined(SK_BUILD_FOR_WIN)
int count = face->getVariationDesignParameters(nullptr, 0);
if (count > 0) {
std::vector<SkFontParameters::Variation::Axis> params(count);
face->getVariationDesignParameters(params.data(), count);
std::vector<SkFontArguments::VariationPosition::Coordinate> coords(count);
for (int i = 0; i < count; ++i) {
coords[i].axis = params[i].tag;
coords[i].value = params[i].def;
}
SkFontArguments arg;
arg.setVariationDesignPosition({coords.data(), count});
return face->makeClone(arg);
}
#endif
return face;
}
extern "C" JNIEXPORT jlong JNICALL Java_org_jetbrains_skia_TypefaceKt__1nMakeFromName extern "C" JNIEXPORT jlong JNICALL Java_org_jetbrains_skia_TypefaceKt__1nMakeFromName
(JNIEnv* env, jclass jclass, jstring nameStr, jint styleValue) { (JNIEnv* env, jclass jclass, jstring nameStr, jint styleValue) {
SkString name = skString(env, nameStr); SkString name = skString(env, nameStr);
SkFontStyle style = skija::FontStyle::fromJava(styleValue); SkFontStyle style = skija::FontStyle::fromJava(styleValue);
sk_sp<SkTypeface> instance = SkTypeface::MakeFromName(name.c_str(), style); sk_sp<SkTypeface> instance = SkTypeface::MakeFromName(name.c_str(), style);
SkTypeface* ptr = setDefaultVariationCoords(instance).release(); SkTypeface* ptr = instance.release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<jlong>(ptr);
} }
...@@ -102,7 +81,7 @@ extern "C" JNIEXPORT jlong JNICALL Java_org_jetbrains_skia_TypefaceKt__1nMakeFro ...@@ -102,7 +81,7 @@ extern "C" JNIEXPORT jlong JNICALL Java_org_jetbrains_skia_TypefaceKt__1nMakeFro
(JNIEnv* env, jclass jclass, jstring pathStr, jint index) { (JNIEnv* env, jclass jclass, jstring pathStr, jint index) {
SkString path = skString(env, pathStr); SkString path = skString(env, pathStr);
sk_sp<SkTypeface> instance = SkTypeface::MakeFromFile(path.c_str(), index); sk_sp<SkTypeface> instance = SkTypeface::MakeFromFile(path.c_str(), index);
SkTypeface* ptr = setDefaultVariationCoords(instance).release(); SkTypeface* ptr = instance.release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<jlong>(ptr);
} }
...@@ -110,7 +89,7 @@ extern "C" JNIEXPORT jlong JNICALL Java_org_jetbrains_skia_TypefaceKt__1nMakeFro ...@@ -110,7 +89,7 @@ extern "C" JNIEXPORT jlong JNICALL Java_org_jetbrains_skia_TypefaceKt__1nMakeFro
(JNIEnv* env, jclass jclass, jlong dataPtr, jint index) { (JNIEnv* env, jclass jclass, jlong dataPtr, jint index) {
SkData* data = reinterpret_cast<SkData*>(static_cast<uintptr_t>(dataPtr)); SkData* data = reinterpret_cast<SkData*>(static_cast<uintptr_t>(dataPtr));
sk_sp<SkTypeface> instance = SkTypeface::MakeFromData(sk_ref_sp(data), index); sk_sp<SkTypeface> instance = SkTypeface::MakeFromData(sk_ref_sp(data), index);
SkTypeface* ptr = setDefaultVariationCoords(instance).release(); SkTypeface* ptr = instance.release();
return reinterpret_cast<jlong>(ptr); return reinterpret_cast<jlong>(ptr);
} }
......
...@@ -90,28 +90,6 @@ SKIKO_EXPORT KNativePointer org_jetbrains_skia_Typeface__1nMakeDefault ...@@ -90,28 +90,6 @@ SKIKO_EXPORT KNativePointer org_jetbrains_skia_Typeface__1nMakeDefault
return reinterpret_cast<KNativePointer>(SkTypeface::MakeDefault().release()); return reinterpret_cast<KNativePointer>(SkTypeface::MakeDefault().release());
} }
// TODO remove after https://bugs.chromium.org/p/skia/issues/detail?id=10929
sk_sp<SkTypeface> setDefaultVariationCoords(sk_sp<SkTypeface> face) {
#if defined(SK_BUILD_FOR_WIN)
int count = face->getVariationDesignParameters(nullptr, 0);
if (count > 0) {
std::vector<SkFontParameters::Variation::Axis> params(count);
face->getVariationDesignParameters(params.data(), count);
std::vector<SkFontArguments::VariationPosition::Coordinate> coords(count);
for (int i = 0; i < count; ++i) {
coords[i].axis = params[i].tag;
coords[i].value = params[i].def;
}
SkFontArguments arg;
arg.setVariationDesignPosition({coords.data(), count});
return face->makeClone(arg);
}
#endif
return face;
}
SKIKO_EXPORT KNativePointer org_jetbrains_skia_Typeface__1nMakeFromName SKIKO_EXPORT KNativePointer org_jetbrains_skia_Typeface__1nMakeFromName
(KInteropPointer nameStr, KInt styleValue) { (KInteropPointer nameStr, KInt styleValue) {
TODO("implement org_jetbrains_skia_Typeface__1nMakeFromName"); TODO("implement org_jetbrains_skia_Typeface__1nMakeFromName");
...@@ -123,7 +101,7 @@ SKIKO_EXPORT KNativePointer org_jetbrains_skia_Typeface__1nMakeFromName ...@@ -123,7 +101,7 @@ SKIKO_EXPORT KNativePointer org_jetbrains_skia_Typeface__1nMakeFromName
SkString name = skString(env, nameStr); SkString name = skString(env, nameStr);
SkFontStyle style = skija::FontStyle::fromJava(styleValue); SkFontStyle style = skija::FontStyle::fromJava(styleValue);
sk_sp<SkTypeface> instance = SkTypeface::MakeFromName(name.c_str(), style); sk_sp<SkTypeface> instance = SkTypeface::MakeFromName(name.c_str(), style);
SkTypeface* ptr = setDefaultVariationCoords(instance).release(); SkTypeface* ptr = instance.release();
return reinterpret_cast<KNativePointer>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
#endif #endif
...@@ -134,7 +112,7 @@ SKIKO_EXPORT KNativePointer org_jetbrains_skia_Typeface__1nMakeFromFile ...@@ -134,7 +112,7 @@ SKIKO_EXPORT KNativePointer org_jetbrains_skia_Typeface__1nMakeFromFile
(KInteropPointer pathStr, KInt index) { (KInteropPointer pathStr, KInt index) {
SkString path = skString(pathStr); SkString path = skString(pathStr);
sk_sp<SkTypeface> instance = SkTypeface::MakeFromFile(path.c_str(), index); sk_sp<SkTypeface> instance = SkTypeface::MakeFromFile(path.c_str(), index);
SkTypeface* ptr = setDefaultVariationCoords(instance).release(); SkTypeface* ptr = instance.release();
return reinterpret_cast<KNativePointer>(ptr); return reinterpret_cast<KNativePointer>(ptr);
} }
...@@ -143,7 +121,7 @@ SKIKO_EXPORT KNativePointer org_jetbrains_skia_Typeface__1nMakeFromData ...@@ -143,7 +121,7 @@ SKIKO_EXPORT KNativePointer org_jetbrains_skia_Typeface__1nMakeFromData
(KNativePointer dataPtr, KInt index) { (KNativePointer dataPtr, KInt index) {
SkData* data = reinterpret_cast<SkData*>((dataPtr)); SkData* data = reinterpret_cast<SkData*>((dataPtr));
sk_sp<SkTypeface> instance = SkTypeface::MakeFromData(sk_ref_sp(data), index); sk_sp<SkTypeface> instance = SkTypeface::MakeFromData(sk_ref_sp(data), index);
SkTypeface* ptr = setDefaultVariationCoords(instance).release(); SkTypeface* ptr = instance.release();
return reinterpret_cast<KNativePointer>(ptr); return reinterpret_cast<KNativePointer>(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