Introduce constants for default OSC config values

This commit is contained in:
lynxnb 2023-03-22 17:39:29 +01:00 committed by Niccolò Betto
parent 83bc93601f
commit acdf4e6823
3 changed files with 12 additions and 6 deletions

View File

@ -243,6 +243,6 @@ abstract class OnScreenButton(
open fun resetConfig() {
resetRelativeValues()
config.enabled = true
config.scale = 0f
config.scale = OnScreenConfiguration.DefaultScale
}
}

View File

@ -11,24 +11,30 @@ import emu.skyline.utils.SwitchColors
import emu.skyline.utils.sharedPreferences
class OnScreenConfiguration(private val context : Context, private val buttonId : ButtonId, defaultRelativeX : Float, defaultRelativeY : Float) {
companion object {
const val DefaultAlpha = 130
const val DefaultGlobalScale = 1.15f
const val DefaultScale = 0.0f
}
private inline fun <reified T> config(default : T, prefix : String = "${buttonId.name}_") = sharedPreferences(context, default, prefix, "controller_config")
var enabled by config(true)
var alpha by config(155, "")
var alpha by config(DefaultAlpha, "")
var textColor by config(SwitchColors.BLACK.color)
var backgroundColor by config(SwitchColors.WHITE.color)
/**
* The global scale applied to all buttons
*/
var globalScale by config(1.15f, "")
var globalScale by config(DefaultGlobalScale, "")
/**
* The scale of each button, this is added to the global scale
* Allows buttons to have their own size, while still be controlled by the global scale
*/
var scale by config(0.0f)
var scale by config(DefaultScale)
var relativeX by config(defaultRelativeX)
var relativeY by config(defaultRelativeY)

View File

@ -271,8 +271,8 @@ class OnScreenControllerView @JvmOverloads constructor(context : Context, attrs
controls.allButtons.forEach {
it.resetConfig()
}
controls.globalScale = 1.15f
controls.alpha = 155
controls.globalScale = OnScreenConfiguration.DefaultGlobalScale
controls.alpha = OnScreenConfiguration.DefaultAlpha
invalidate()
}