mirror of
https://github.com/curioustorvald/Terrarum-sans-bitmap.git
synced 2026-06-13 09:14:05 +09:00
shadow opacity configuration
This commit is contained in:
@@ -103,9 +103,13 @@ class GameFontBase(
|
|||||||
val magFilter: Texture.TextureFilter = Texture.TextureFilter.Nearest,
|
val magFilter: Texture.TextureFilter = Texture.TextureFilter.Nearest,
|
||||||
var errorOnUnknownChar: Boolean = false,
|
var errorOnUnknownChar: Boolean = false,
|
||||||
val textCacheSize: Int = 256,
|
val textCacheSize: Int = 256,
|
||||||
val debug: Boolean = false
|
val debug: Boolean = false,
|
||||||
|
val shadowAlpha: Float = 0.5f,
|
||||||
|
val shadowAlphaPremultiply: Boolean = false
|
||||||
) : BitmapFont() {
|
) : BitmapFont() {
|
||||||
|
|
||||||
|
constructor(fontDir: String, noShadow: Boolean, flipY: Boolean, invertShadow: Boolean) : this(fontDir, noShadow, flipY, invertShadow, Texture.TextureFilter.Nearest, Texture.TextureFilter.Nearest, false, 256, false)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* lowercase AND the height is equal to x-height (e.g. lowercase B, D, F, H, K, L, ... does not count
|
* lowercase AND the height is equal to x-height (e.g. lowercase B, D, F, H, K, L, ... does not count
|
||||||
*/
|
*/
|
||||||
@@ -1160,10 +1164,17 @@ class GameFontBase(
|
|||||||
// to be opaque
|
// to be opaque
|
||||||
if (pixel and 0xFF == 0xFF) {
|
if (pixel and 0xFF == 0xFF) {
|
||||||
val newPixel = pixmap.getPixel(x + it.first, y + it.second)
|
val newPixel = pixmap.getPixel(x + it.first, y + it.second)
|
||||||
val newColour = pixel.and(0xFFFFFF00.toInt()) or 0x80
|
val newColour = Color(); Color.rgba8888ToColor(newColour, pixel)
|
||||||
|
newColour.a = shadowAlpha
|
||||||
|
|
||||||
|
if (shadowAlphaPremultiply) {
|
||||||
|
newColour.r *= shadowAlpha
|
||||||
|
newColour.g *= shadowAlpha
|
||||||
|
newColour.b *= shadowAlpha
|
||||||
|
}
|
||||||
|
|
||||||
if (newPixel and 0xFF == 0) {
|
if (newPixel and 0xFF == 0) {
|
||||||
pixmap.drawPixel(x + it.first, y + it.second, newColour)
|
pixmap.drawPixel(x + it.first, y + it.second, newColour.toRGBA8888())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user