mirror of
https://github.com/Droid-Deck/DroidDeck.git
synced 2026-11-11 19:11:08 +00:00
feat: the performance HUD adds a colored frame-time graph, battery temperature, and opacity controls (#1256)
This commit is contained in:
1 parent
f67398e6bc
commit
dcb269d5ea
40 files changed
+614
-17
No files matched your search
@@ -306,6 +306,11 @@ class SessionActivity : ComponentActivity(), SurfaceHolder.Callback {
|
||||
private var achievementsInFront by mutableStateOf<AchievementsInFront?>(null)
|
||||
private var achievementsOpen by mutableStateOf(false)
|
||||
private var hudOn by mutableStateOf(true)
|
||||
private var hudFps by mutableStateOf(true)
|
||||
private var hudBattery by mutableStateOf(true)
|
||||
private var hudGraph by mutableStateOf(true)
|
||||
private var hudColor by mutableStateOf(SessionPrefs.HUD_COLOR_MINT)
|
||||
private var hudOpacity by mutableStateOf(SessionPrefs.HUD_OPACITY_DEFAULT)
|
||||
private var upscaler by mutableStateOf(0)
|
||||
private var upscaleSharpness by mutableStateOf(75)
|
||||
private var effects by mutableStateOf(ScreenEffects.OFF)
|
||||
@@ -638,7 +643,7 @@ class SessionActivity : ComponentActivity(), SurfaceHolder.Callback {
|
||||
com.droiddeck.launcher.ui.FocusGlideHost(androidx.compose.ui.Modifier.fillMaxSize()) {
|
||||
CursorOverlay({ cursorPos }, cursorVisible, resources.displayMetrics.density,
|
||||
cursorImage, cursorHotX, cursorHotY, cursorImageScale)
|
||||
if (hud.text.isNotEmpty()) HudText(hud.text)
|
||||
if (hud.text.isNotEmpty() || hud.graph.size >= 2) HudText(hud.text, hud.graph, hudColor, hudOpacity)
|
||||
if (glassesOutputActive && !loading.visible) com.droiddeck.launcher.ui.GlassesPlayingHint(glasses.model)
|
||||
if (trackingRecovery != null && !drawerOpen && !pcKeyboardOpen && !loading.visible) {
|
||||
androidx.compose.ui.viewinterop.AndroidView(
|
||||
@@ -752,6 +757,11 @@ class SessionActivity : ComponentActivity(), SurfaceHolder.Callback {
|
||||
isHomeApp = isHomeApp,
|
||||
androidApps = androidApps,
|
||||
hudOn = hudOn,
|
||||
hudFps = hudFps,
|
||||
hudBattery = hudBattery,
|
||||
hudGraph = hudGraph,
|
||||
hudColor = hudColor,
|
||||
hudOpacity = hudOpacity,
|
||||
upscaler = upscaler, upscaleSharpness = upscaleSharpness,
|
||||
effects = effects,
|
||||
cardboard = cardboard,
|
||||
@@ -779,6 +789,11 @@ class SessionActivity : ComponentActivity(), SurfaceHolder.Callback {
|
||||
secondScreenDisplays = secondScreenDisplays,
|
||||
selectedSecondScreenDisplay = selectedSecondScreenDisplay,
|
||||
onHud = { on -> SessionPrefs.setHudEnabled(this@SessionActivity, on); hudOn = on; hud.refresh() },
|
||||
onHudFps = { on -> SessionPrefs.setHudShowFps(this@SessionActivity, on); hudFps = on; hud.refresh() },
|
||||
onHudBattery = { on -> SessionPrefs.setHudShowBattery(this@SessionActivity, on); hudBattery = on; hud.refresh() },
|
||||
onHudGraph = { on -> SessionPrefs.setHudShowGraph(this@SessionActivity, on); hudGraph = on; hud.refresh() },
|
||||
onHudColor = { color -> SessionPrefs.setHudColor(this@SessionActivity, color); hudColor = color },
|
||||
onHudOpacity = { percent -> SessionPrefs.setHudOpacity(this@SessionActivity, percent); hudOpacity = percent },
|
||||
onUpscaler = { m ->
|
||||
SessionPrefs.setUpscaler(this@SessionActivity, m); upscaler = m
|
||||
WaylandCompositor.nativeSetUpscaler(m)
|
||||
@@ -1343,6 +1358,11 @@ class SessionActivity : ComponentActivity(), SurfaceHolder.Callback {
|
||||
unfoldedControls = SessionPrefs.unfoldedControls(this)
|
||||
picturePosition = SessionPrefs.picturePosition(this)
|
||||
hudOn = SessionPrefs.hudEnabled(this)
|
||||
hudFps = SessionPrefs.hudShowFps(this)
|
||||
hudBattery = SessionPrefs.hudShowBattery(this)
|
||||
hudGraph = SessionPrefs.hudShowGraph(this)
|
||||
hudColor = SessionPrefs.hudColor(this)
|
||||
hudOpacity = SessionPrefs.hudOpacity(this)
|
||||
upscaler = SessionPrefs.upscaler(this)
|
||||
upscaleSharpness = SessionPrefs.upscaleSharpness(this)
|
||||
effects = SessionPrefs.screenEffects(this)
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
package com.droiddeck.launcher.session
|
||||
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.content.IntentFilter
|
||||
import android.os.BatteryManager
|
||||
import android.os.Environment
|
||||
import android.os.Handler
|
||||
import android.os.Looper
|
||||
@@ -15,21 +18,35 @@ import com.droiddeck.launcher.wayland.WaylandCompositor
|
||||
import java.io.File
|
||||
import java.util.Locale
|
||||
import java.util.concurrent.atomic.AtomicInteger
|
||||
import java.util.concurrent.atomic.AtomicLong
|
||||
|
||||
class PerfHud(context: Context) {
|
||||
var text by mutableStateOf("")
|
||||
private set
|
||||
var graph by mutableStateOf(FloatArray(0))
|
||||
private set
|
||||
|
||||
private val context = context.applicationContext
|
||||
private val frames = AtomicInteger()
|
||||
private var lastTick = 0L
|
||||
private var lastFps = 0f
|
||||
private var running = false
|
||||
private val handler = Handler(Looper.getMainLooper())
|
||||
private val intervals = FloatArray(GRAPH)
|
||||
private val graphWrite = AtomicInteger()
|
||||
private val lastFrameNs = AtomicLong()
|
||||
|
||||
@Volatile private var showFps = true
|
||||
@Volatile private var showBattery = true
|
||||
@Volatile private var showGraph = true
|
||||
|
||||
private val enabled: Boolean
|
||||
get() = SessionPrefs.hudEnabled(context)
|
||||
&& !File(Environment.getExternalStorageDirectory(), "Download/droiddeck-no-hud").exists()
|
||||
|
||||
private val anyPart: Boolean
|
||||
get() = showFps || showBattery || showGraph
|
||||
|
||||
var onPresentingWindowChanged: (() -> Unit)? = null
|
||||
private var lastWindow: String? = null
|
||||
|
||||
@@ -40,7 +57,17 @@ class PerfHud(context: Context) {
|
||||
handler.post { onPresentingWindowChanged?.invoke() }
|
||||
}
|
||||
}
|
||||
override fun onGameFrame() { frames.incrementAndGet() }
|
||||
override fun onGameFrame() {
|
||||
frames.incrementAndGet()
|
||||
if (!showGraph) return
|
||||
val now = System.nanoTime()
|
||||
val previous = lastFrameNs.getAndSet(now)
|
||||
if (previous == 0L) return
|
||||
val ms = ((now - previous) / 1_000_000f).coerceIn(0f, 50f)
|
||||
val slot = graphWrite.get()
|
||||
intervals[slot and (GRAPH - 1)] = ms
|
||||
graphWrite.compareAndSet(slot, slot + 1)
|
||||
}
|
||||
}
|
||||
|
||||
private val tick = object : Runnable {
|
||||
@@ -49,28 +76,82 @@ class PerfHud(context: Context) {
|
||||
val now = SystemClock.elapsedRealtime()
|
||||
val dt = (now - lastTick).coerceAtLeast(1L) / 1000f
|
||||
lastTick = now
|
||||
text = line(frames.getAndSet(0) / dt)
|
||||
handler.postDelayed(this, 1000)
|
||||
lastFps = frames.getAndSet(0) / dt
|
||||
text = readout(lastFps)
|
||||
if (showGraph) publishGraph() else clearGraph()
|
||||
handler.postDelayed(this, TICK_MS)
|
||||
}
|
||||
}
|
||||
|
||||
fun refresh() {
|
||||
if (enabled) start() else stop()
|
||||
readOptions()
|
||||
if (!enabled || !anyPart) {
|
||||
stop()
|
||||
return
|
||||
}
|
||||
if (!running) start() else {
|
||||
if (!showGraph) clearGraph() else publishGraph()
|
||||
text = readout(lastFps)
|
||||
}
|
||||
}
|
||||
|
||||
fun start() {
|
||||
if (!enabled || running) return
|
||||
readOptions()
|
||||
if (!enabled || !anyPart || running) return
|
||||
running = true
|
||||
lastTick = SystemClock.elapsedRealtime()
|
||||
lastFrameNs.set(0L)
|
||||
frames.set(0)
|
||||
graphWrite.set(0)
|
||||
WaylandCompositor.setGameListener(listener)
|
||||
handler.post(tick)
|
||||
handler.postDelayed(tick, TICK_MS)
|
||||
}
|
||||
|
||||
fun stop() {
|
||||
running = false
|
||||
handler.removeCallbacks(tick)
|
||||
WaylandCompositor.clearGameListener(listener)
|
||||
text = ""
|
||||
graph = FloatArray(0)
|
||||
}
|
||||
|
||||
private fun readOptions() {
|
||||
showFps = SessionPrefs.hudShowFps(context)
|
||||
showBattery = SessionPrefs.hudShowBattery(context)
|
||||
showGraph = SessionPrefs.hudShowGraph(context)
|
||||
}
|
||||
|
||||
private fun readout(fpsValue: Float): String {
|
||||
val parts = ArrayList<String>(2)
|
||||
if (showFps) parts.add(line(fpsValue))
|
||||
if (showBattery) batteryCelsius(readBatteryDeci())?.let { parts.add(it) }
|
||||
return parts.joinToString("\n")
|
||||
}
|
||||
|
||||
private fun readBatteryDeci(): Int {
|
||||
val sticky = runCatching {
|
||||
context.registerReceiver(null, IntentFilter(Intent.ACTION_BATTERY_CHANGED))
|
||||
}.getOrNull() ?: return 0
|
||||
return sticky.getIntExtra(BatteryManager.EXTRA_TEMPERATURE, 0)
|
||||
}
|
||||
|
||||
private fun clearGraph() {
|
||||
lastFrameNs.set(0L)
|
||||
graphWrite.set(0)
|
||||
if (graph.isNotEmpty()) graph = FloatArray(0)
|
||||
}
|
||||
|
||||
private fun publishGraph() {
|
||||
val count = graphWrite.get()
|
||||
val shown = minOf(count, GRAPH)
|
||||
if (shown < 2) {
|
||||
graph = FloatArray(0)
|
||||
return
|
||||
}
|
||||
val out = FloatArray(shown)
|
||||
val start = count - shown
|
||||
for (i in 0 until shown) out[i] = intervals[(start + i) and (GRAPH - 1)]
|
||||
graph = out
|
||||
}
|
||||
|
||||
private fun line(base: Float): String {
|
||||
@@ -91,4 +172,12 @@ class PerfHud(context: Context) {
|
||||
}
|
||||
|
||||
private fun fps(value: Float) = String.format(Locale.US, "%.0f fps", value)
|
||||
|
||||
companion object {
|
||||
private const val TICK_MS = 1_000L
|
||||
private const val GRAPH = 128
|
||||
|
||||
internal fun batteryCelsius(deci: Int): String? =
|
||||
if (deci <= 0) null else String.format(Locale.US, "%.1f°C", deci / 10f)
|
||||
}
|
||||
}
|
||||
@@ -157,6 +157,43 @@ object SessionPrefs {
|
||||
prefs(context).edit().putBoolean(hudKey(context), on).apply()
|
||||
}
|
||||
|
||||
fun hudShowFps(context: Context): Boolean = prefs(context).getBoolean("hudFps", true)
|
||||
|
||||
fun setHudShowFps(context: Context, on: Boolean) {
|
||||
prefs(context).edit().putBoolean("hudFps", on).apply()
|
||||
}
|
||||
|
||||
fun hudShowBattery(context: Context): Boolean = prefs(context).getBoolean("hudBattery", true)
|
||||
|
||||
fun setHudShowBattery(context: Context, on: Boolean) {
|
||||
prefs(context).edit().putBoolean("hudBattery", on).apply()
|
||||
}
|
||||
|
||||
fun hudShowGraph(context: Context): Boolean = prefs(context).getBoolean("hudGraph", true)
|
||||
|
||||
fun setHudShowGraph(context: Context, on: Boolean) {
|
||||
prefs(context).edit().putBoolean("hudGraph", on).apply()
|
||||
}
|
||||
|
||||
fun hudColor(context: Context): String =
|
||||
prefs(context).getString("hudColor", HUD_COLOR_MINT)?.takeIf { it in HUD_COLORS } ?: HUD_COLOR_MINT
|
||||
|
||||
fun setHudColor(context: Context, color: String) {
|
||||
if (color in HUD_COLORS) prefs(context).edit().putString("hudColor", color).apply()
|
||||
}
|
||||
|
||||
fun hudOpacity(context: Context): Int =
|
||||
prefs(context).getInt("hudOpacity", HUD_OPACITY_DEFAULT).takeIf { it in HUD_OPACITY_RANGE } ?: HUD_OPACITY_DEFAULT
|
||||
|
||||
fun setHudOpacity(context: Context, percent: Int) {
|
||||
prefs(context).edit().putInt("hudOpacity", percent.coerceIn(HUD_OPACITY_RANGE)).apply()
|
||||
}
|
||||
|
||||
const val HUD_COLOR_MINT = "mint"
|
||||
val HUD_COLORS = listOf(HUD_COLOR_MINT, "white", "sky", "amber", "violet")
|
||||
val HUD_OPACITY_RANGE = 30..100
|
||||
const val HUD_OPACITY_DEFAULT = 70
|
||||
|
||||
private fun hudKey(context: Context) = if (mangoappSession(context)) "hudDeck" else "hud"
|
||||
|
||||
private fun mangoappSession(context: Context) =
|
||||
|
||||
@@ -13,7 +13,7 @@ object SettingsReset {
|
||||
internal val SESSION_KEYS = setOf(
|
||||
"orientation", "launcherFullscreen", "animations", "theme", "runSteamAtStartup", "addedGamesArt",
|
||||
"gameStoresEnabled", "gameStoresSpeedTier", "gameStoresParallel", "storesOpenTab", "storesShowMature",
|
||||
"hud", "hudDeck", "backActionsInverted", "touch", "osc", "shape", "steamController",
|
||||
"hud", "hudDeck", "hudFps", "hudBattery", "hudGraph", "hudColor", "hudOpacity", "backActionsInverted", "touch", "osc", "shape", "steamController",
|
||||
"gamepadLeft", "gamepadRight", "pipAutoEnter", "unfoldedControls", "stretch16x9", "picturePosition",
|
||||
"gpuDriverMode", "androidDriver", "linuxDriver", "linuxDriver.steam", "linuxDriver.desktop",
|
||||
"tuSysmem", "glThread", "noGlError", "zinkLazy", "mangoapp", "gpuClockPin", "gamescopeRealtime",
|
||||
|
||||
@@ -27,6 +27,7 @@ import androidx.compose.foundation.layout.heightIn
|
||||
import androidx.compose.material.icons.filled.Pause
|
||||
import androidx.compose.foundation.rememberScrollState
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.foundation.Canvas
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.interaction.MutableInteractionSource
|
||||
@@ -68,6 +69,8 @@ import androidx.compose.ui.draw.clip
|
||||
import androidx.compose.ui.focus.FocusRequester
|
||||
import androidx.compose.ui.focus.focusRequester
|
||||
import androidx.compose.ui.graphics.Brush
|
||||
import androidx.compose.ui.graphics.Path
|
||||
import androidx.compose.ui.graphics.StrokeCap
|
||||
import androidx.compose.ui.semantics.contentDescription
|
||||
import androidx.compose.ui.semantics.semantics
|
||||
import androidx.compose.ui.text.font.FontWeight
|
||||
@@ -78,21 +81,93 @@ import androidx.compose.ui.text.style.TextOverflow
|
||||
|
||||
|
||||
@Composable
|
||||
fun HudText(text: String) {
|
||||
fun HudText(text: String, graph: FloatArray = FloatArray(0), color: String = "mint", opacity: Int = 70) {
|
||||
if (text.isEmpty() && graph.size < 2) return
|
||||
val accent = hudInk(color)
|
||||
val wash = (opacity.coerceIn(30, 100) / 100f)
|
||||
val ink = accent.copy(alpha = (0.5f + wash * 0.5f).coerceIn(0.62f, 1f))
|
||||
Box(modifier = Modifier.fillMaxSize(), contentAlignment = Alignment.TopEnd) {
|
||||
Text(
|
||||
text,
|
||||
fontFamily = FontFamily.Monospace,
|
||||
fontSize = 12.sp,
|
||||
color = Color.White,
|
||||
Column(
|
||||
horizontalAlignment = Alignment.End,
|
||||
modifier = Modifier
|
||||
.padding(12.dp)
|
||||
.background(Color(0x8C000000))
|
||||
.padding(horizontal = 8.dp, vertical = 3.dp),
|
||||
)
|
||||
.background(
|
||||
Brush.verticalGradient(
|
||||
listOf(accent.copy(alpha = wash * 0.28f), Color.Black.copy(alpha = wash * 0.72f)),
|
||||
),
|
||||
RoundedCornerShape(8.dp),
|
||||
)
|
||||
.padding(horizontal = 8.dp, vertical = 5.dp),
|
||||
) {
|
||||
if (text.isNotEmpty()) Text(
|
||||
text,
|
||||
fontFamily = FontFamily.Monospace,
|
||||
fontSize = 12.sp,
|
||||
color = ink,
|
||||
textAlign = TextAlign.End,
|
||||
)
|
||||
if (graph.size >= 2) {
|
||||
if (text.isNotEmpty()) Spacer(Modifier.height(4.dp))
|
||||
HudGraph(graph, accent, wash)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun HudGraph(samples: FloatArray, accent: Color, wash: Float) {
|
||||
Canvas(Modifier.width(148.dp).height(44.dp)) {
|
||||
val maxMs = (samples.maxOrNull() ?: 16.7f).coerceAtLeast(16.7f)
|
||||
val step = size.width / (samples.size - 1)
|
||||
fun yOf(ms: Float) = size.height * (1f - (ms / maxMs).coerceIn(0f, 1f))
|
||||
val fillAlpha = wash * 0.5f
|
||||
val fill = Path().apply {
|
||||
moveTo(0f, size.height)
|
||||
samples.forEachIndexed { i, ms -> lineTo(i * step, yOf(ms)) }
|
||||
lineTo(size.width, size.height)
|
||||
close()
|
||||
}
|
||||
drawPath(
|
||||
fill,
|
||||
Brush.verticalGradient(listOf(HUD_SLOW.copy(alpha = fillAlpha), accent.copy(alpha = fillAlpha * 0.45f))),
|
||||
)
|
||||
val guide = yOf(16.7f)
|
||||
drawLine(Color.White.copy(alpha = 0.32f), Offset(0f, guide), Offset(size.width, guide), strokeWidth = 1f)
|
||||
for (i in 0 until samples.lastIndex) {
|
||||
val tone = ((samples[i] - 8f) / 25f).coerceIn(0f, 1f)
|
||||
drawLine(
|
||||
mix(accent, HUD_SLOW, tone).copy(alpha = 0.55f + wash * 0.4f),
|
||||
Offset(i * step, yOf(samples[i])),
|
||||
Offset((i + 1) * step, yOf(samples[i + 1])),
|
||||
strokeWidth = 2.5f,
|
||||
cap = StrokeCap.Round,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun hudInk(color: String): Color = Color(
|
||||
when (color) {
|
||||
"white" -> 0xFFF2F5F8
|
||||
"sky" -> 0xFF66C0F4
|
||||
"amber" -> 0xFFFFB74D
|
||||
"violet" -> 0xFFD0A2FF
|
||||
else -> 0xFF3DDC84
|
||||
}.toInt(),
|
||||
)
|
||||
|
||||
private fun mix(from: Color, to: Color, t: Float): Color {
|
||||
val u = t.coerceIn(0f, 1f)
|
||||
return Color(
|
||||
red = from.red + (to.red - from.red) * u,
|
||||
green = from.green + (to.green - from.green) * u,
|
||||
blue = from.blue + (to.blue - from.blue) * u,
|
||||
alpha = 1f,
|
||||
)
|
||||
}
|
||||
|
||||
private val HUD_SLOW = Color(0xFFFF5C6C.toInt())
|
||||
|
||||
private class LoadStage(@androidx.annotation.StringRes val label: Int, @androidx.annotation.StringRes val detail: Int)
|
||||
|
||||
private fun loadStages(steam: Boolean): List<LoadStage> = if (steam) listOf(
|
||||
|
||||
@@ -195,6 +195,11 @@ class DrawerActions(
|
||||
val isHomeApp: Boolean,
|
||||
val androidApps: List<HomeApp.LaunchableApp>,
|
||||
val hudOn: Boolean,
|
||||
val hudFps: Boolean = true,
|
||||
val hudBattery: Boolean = true,
|
||||
val hudGraph: Boolean = true,
|
||||
val hudColor: String = SessionPrefs.HUD_COLOR_MINT,
|
||||
val hudOpacity: Int = SessionPrefs.HUD_OPACITY_DEFAULT,
|
||||
val frameGen: FrameGen.Mode,
|
||||
val lossless: Lossless.State,
|
||||
val oscMode: String,
|
||||
@@ -222,6 +227,11 @@ class DrawerActions(
|
||||
val secondScreenDisplays: List<SecondScreenDisplay>,
|
||||
val selectedSecondScreenDisplay: Int,
|
||||
val onHud: (Boolean) -> Unit,
|
||||
val onHudFps: (Boolean) -> Unit = {},
|
||||
val onHudBattery: (Boolean) -> Unit = {},
|
||||
val onHudGraph: (Boolean) -> Unit = {},
|
||||
val onHudColor: (String) -> Unit = {},
|
||||
val onHudOpacity: (Int) -> Unit = {},
|
||||
val onFrameGenPick: (FrameGen.Mode) -> Unit,
|
||||
val onImportLossless: () -> Unit,
|
||||
val onKeyboard: () -> Unit,
|
||||
@@ -462,6 +472,30 @@ internal fun SessionDrawer(open: Boolean, requestedPage: SessionDrawerPage, cont
|
||||
SettingsGroup(stringResource(R.string.drawer_page_display)) {
|
||||
ToggleRow(host, "hud", stringResource(R.string.drawer_hud), null, a.hudOn,
|
||||
chipModifier = focus.track(page, "hud"), onChange = a.onHud)
|
||||
if (a.hudOn) {
|
||||
ToggleRow(host, "hud-fps", stringResource(R.string.drawer_hud_fps), null, a.hudFps,
|
||||
chipModifier = focus.track(page, "hud-fps"), onChange = a.onHudFps)
|
||||
ToggleRow(host, "hud-battery", stringResource(R.string.drawer_hud_battery), null, a.hudBattery,
|
||||
chipModifier = focus.track(page, "hud-battery"), onChange = a.onHudBattery)
|
||||
ToggleRow(host, "hud-graph", stringResource(R.string.drawer_hud_graph), null, a.hudGraph,
|
||||
chipModifier = focus.track(page, "hud-graph"), onChange = a.onHudGraph)
|
||||
ChoiceRow(
|
||||
host, "hud-color", stringResource(R.string.drawer_hud_color), null,
|
||||
listOf(
|
||||
SessionPrefs.HUD_COLOR_MINT to stringResource(R.string.drawer_hud_color_mint),
|
||||
"white" to stringResource(R.string.drawer_hud_color_white),
|
||||
"sky" to stringResource(R.string.drawer_hud_color_sky),
|
||||
"amber" to stringResource(R.string.drawer_hud_color_amber),
|
||||
"violet" to stringResource(R.string.drawer_hud_color_violet),
|
||||
),
|
||||
a.hudColor, chipModifier = focus.track(page, "hud-color"), onPick = a.onHudColor,
|
||||
)
|
||||
SliderRow(
|
||||
stringResource(R.string.drawer_hud_opacity), null, a.hudOpacity,
|
||||
SessionPrefs.HUD_OPACITY_RANGE, step = 10, format = { "$it%" },
|
||||
modifier = focus.track(page, "hud-opacity"), onChange = a.onHudOpacity,
|
||||
)
|
||||
}
|
||||
val fgOpen = host.open == "fg"
|
||||
val fgLabel = FrameGen.label(LocalContext.current, a.frameGen)
|
||||
SettingsRow(stringResource(R.string.frame_gen_title), null, highlighted = fgOpen) {
|
||||
|
||||
@@ -590,6 +590,16 @@
|
||||
<string name="drawer_prev_page">الصفحة السابقة</string>
|
||||
<string name="drawer_next_page">الصفحة التالية</string>
|
||||
<string name="drawer_hud">واجهة الأداء</string>
|
||||
<string name="drawer_hud_fps">معدل الإطارات</string>
|
||||
<string name="drawer_hud_battery">درجة حرارة البطارية</string>
|
||||
<string name="drawer_hud_graph">مخطط الأداء</string>
|
||||
<string name="drawer_hud_color">اللون</string>
|
||||
<string name="drawer_hud_color_mint">نعناعي</string>
|
||||
<string name="drawer_hud_color_white">أبيض</string>
|
||||
<string name="drawer_hud_color_sky">سماوي</string>
|
||||
<string name="drawer_hud_color_amber">كهرماني</string>
|
||||
<string name="drawer_hud_color_violet">بنفسجي</string>
|
||||
<string name="drawer_hud_opacity">العتامة</string>
|
||||
<string name="drawer_scaling">وضع التحجيم</string>
|
||||
<string name="drawer_scaling_sharpness">حدة التحجيم</string>
|
||||
<string name="drawer_effects">مؤثرات الشاشة</string>
|
||||
|
||||
@@ -577,6 +577,16 @@
|
||||
<string name="drawer_prev_page">Página anterior</string>
|
||||
<string name="drawer_next_page">Página siguiente</string>
|
||||
<string name="drawer_hud">HUD de rendimiento</string>
|
||||
<string name="drawer_hud_fps">Tasa de fotogramas</string>
|
||||
<string name="drawer_hud_battery">Temperatura de la batería</string>
|
||||
<string name="drawer_hud_graph">Gráfico de rendimiento</string>
|
||||
<string name="drawer_hud_color">Color</string>
|
||||
<string name="drawer_hud_color_mint">Menta</string>
|
||||
<string name="drawer_hud_color_white">Blanco</string>
|
||||
<string name="drawer_hud_color_sky">Celeste</string>
|
||||
<string name="drawer_hud_color_amber">Ámbar</string>
|
||||
<string name="drawer_hud_color_violet">Violeta</string>
|
||||
<string name="drawer_hud_opacity">Opacidad</string>
|
||||
<string name="drawer_scaling">Modo de escalado</string>
|
||||
<string name="drawer_scaling_sharpness">Nitidez del escalado</string>
|
||||
<string name="drawer_effects">Efectos de pantalla</string>
|
||||
|
||||
@@ -582,6 +582,16 @@
|
||||
<string name="drawer_prev_page">Предишна страница</string>
|
||||
<string name="drawer_next_page">Следваща страница</string>
|
||||
<string name="drawer_hud">HUD за производителност</string>
|
||||
<string name="drawer_hud_fps">Честота на кадрите</string>
|
||||
<string name="drawer_hud_battery">Температура на батерията</string>
|
||||
<string name="drawer_hud_graph">Графика на производителността</string>
|
||||
<string name="drawer_hud_color">Цвят</string>
|
||||
<string name="drawer_hud_color_mint">Мента</string>
|
||||
<string name="drawer_hud_color_white">Бяло</string>
|
||||
<string name="drawer_hud_color_sky">Небесно</string>
|
||||
<string name="drawer_hud_color_amber">Кехлибарено</string>
|
||||
<string name="drawer_hud_color_violet">Виолетово</string>
|
||||
<string name="drawer_hud_opacity">Прозрачност</string>
|
||||
<string name="drawer_scaling">Режим на мащабиране</string>
|
||||
<string name="drawer_scaling_sharpness">Острота на мащабиране</string>
|
||||
<string name="drawer_effects">Ефекти на екрана</string>
|
||||
|
||||
@@ -586,6 +586,16 @@
|
||||
<string name="drawer_prev_page">Předchozí stránka</string>
|
||||
<string name="drawer_next_page">Další stránka</string>
|
||||
<string name="drawer_hud">HUD výkonu</string>
|
||||
<string name="drawer_hud_fps">Snímková frekvence</string>
|
||||
<string name="drawer_hud_battery">Teplota baterie</string>
|
||||
<string name="drawer_hud_graph">Graf výkonu</string>
|
||||
<string name="drawer_hud_color">Barva</string>
|
||||
<string name="drawer_hud_color_mint">Máta</string>
|
||||
<string name="drawer_hud_color_white">Bílá</string>
|
||||
<string name="drawer_hud_color_sky">Nebeská</string>
|
||||
<string name="drawer_hud_color_amber">Ambrová</string>
|
||||
<string name="drawer_hud_color_violet">Fialová</string>
|
||||
<string name="drawer_hud_opacity">Průhlednost</string>
|
||||
<string name="drawer_scaling">Režim škálování</string>
|
||||
<string name="drawer_scaling_sharpness">Ostrost škálování</string>
|
||||
<string name="drawer_effects">Efekty obrazovky</string>
|
||||
|
||||
@@ -582,6 +582,16 @@
|
||||
<string name="drawer_prev_page">Forrige side</string>
|
||||
<string name="drawer_next_page">Næste side</string>
|
||||
<string name="drawer_hud">Ydelses-HUD</string>
|
||||
<string name="drawer_hud_fps">Billedhastighed</string>
|
||||
<string name="drawer_hud_battery">Batteritemperatur</string>
|
||||
<string name="drawer_hud_graph">Ydelsesgraf</string>
|
||||
<string name="drawer_hud_color">Farve</string>
|
||||
<string name="drawer_hud_color_mint">Mint</string>
|
||||
<string name="drawer_hud_color_white">Hvid</string>
|
||||
<string name="drawer_hud_color_sky">Himmelblå</string>
|
||||
<string name="drawer_hud_color_amber">Ravgul</string>
|
||||
<string name="drawer_hud_color_violet">Violet</string>
|
||||
<string name="drawer_hud_opacity">Gennemsigtighed</string>
|
||||
<string name="drawer_scaling">Skaleringstilstand</string>
|
||||
<string name="drawer_scaling_sharpness">Skaleringsskarphed</string>
|
||||
<string name="drawer_effects">Skærmeffekter</string>
|
||||
|
||||
@@ -579,6 +579,16 @@
|
||||
<string name="drawer_prev_page">Vorherige Seite</string>
|
||||
<string name="drawer_next_page">Nächste Seite</string>
|
||||
<string name="drawer_hud">Leistungs-HUD</string>
|
||||
<string name="drawer_hud_fps">Bildrate</string>
|
||||
<string name="drawer_hud_battery">Akkutemperatur</string>
|
||||
<string name="drawer_hud_graph">Leistungsdiagramm</string>
|
||||
<string name="drawer_hud_color">Farbe</string>
|
||||
<string name="drawer_hud_color_mint">Minze</string>
|
||||
<string name="drawer_hud_color_white">Weiß</string>
|
||||
<string name="drawer_hud_color_sky">Himmelblau</string>
|
||||
<string name="drawer_hud_color_amber">Bernstein</string>
|
||||
<string name="drawer_hud_color_violet">Violett</string>
|
||||
<string name="drawer_hud_opacity">Deckkraft</string>
|
||||
<string name="drawer_scaling">Skalierungsmodus</string>
|
||||
<string name="drawer_scaling_sharpness">Skalierungsschärfe</string>
|
||||
<string name="drawer_effects">Bildschirmeffekte</string>
|
||||
|
||||
@@ -582,6 +582,16 @@
|
||||
<string name="drawer_prev_page">Προηγούμενη σελίδα</string>
|
||||
<string name="drawer_next_page">Επόμενη σελίδα</string>
|
||||
<string name="drawer_hud">HUD απόδοσης</string>
|
||||
<string name="drawer_hud_fps">Ρυθμός καρέ</string>
|
||||
<string name="drawer_hud_battery">Θερμοκρασία μπαταρίας</string>
|
||||
<string name="drawer_hud_graph">Γράφημα απόδοσης</string>
|
||||
<string name="drawer_hud_color">Χρώμα</string>
|
||||
<string name="drawer_hud_color_mint">Μέντα</string>
|
||||
<string name="drawer_hud_color_white">Λευκό</string>
|
||||
<string name="drawer_hud_color_sky">Γαλάζιο</string>
|
||||
<string name="drawer_hud_color_amber">Κεχριμπαρί</string>
|
||||
<string name="drawer_hud_color_violet">Βιολετί</string>
|
||||
<string name="drawer_hud_opacity">Διαφάνεια</string>
|
||||
<string name="drawer_scaling">Λειτουργία κλιμάκωσης</string>
|
||||
<string name="drawer_scaling_sharpness">Οξύτητα κλιμάκωσης</string>
|
||||
<string name="drawer_effects">Εφέ οθόνης</string>
|
||||
|
||||
@@ -581,6 +581,16 @@
|
||||
<string name="drawer_prev_page">Página anterior</string>
|
||||
<string name="drawer_next_page">Página siguiente</string>
|
||||
<string name="drawer_hud">HUD de rendimiento</string>
|
||||
<string name="drawer_hud_fps">Tasa de fotogramas</string>
|
||||
<string name="drawer_hud_battery">Temperatura de la batería</string>
|
||||
<string name="drawer_hud_graph">Gráfico de rendimiento</string>
|
||||
<string name="drawer_hud_color">Color</string>
|
||||
<string name="drawer_hud_color_mint">Menta</string>
|
||||
<string name="drawer_hud_color_white">Blanco</string>
|
||||
<string name="drawer_hud_color_sky">Celeste</string>
|
||||
<string name="drawer_hud_color_amber">Ámbar</string>
|
||||
<string name="drawer_hud_color_violet">Violeta</string>
|
||||
<string name="drawer_hud_opacity">Opacidad</string>
|
||||
<string name="drawer_scaling">Modo de escalado</string>
|
||||
<string name="drawer_scaling_sharpness">Nitidez del escalado</string>
|
||||
<string name="drawer_effects">Efectos de pantalla</string>
|
||||
|
||||
@@ -582,6 +582,16 @@
|
||||
<string name="drawer_prev_page">Edellinen sivu</string>
|
||||
<string name="drawer_next_page">Seuraava sivu</string>
|
||||
<string name="drawer_hud">Suorituskyky-HUD</string>
|
||||
<string name="drawer_hud_fps">Kuvataajuus</string>
|
||||
<string name="drawer_hud_battery">Akun lämpötila</string>
|
||||
<string name="drawer_hud_graph">Suorituskykykäyrä</string>
|
||||
<string name="drawer_hud_color">Väri</string>
|
||||
<string name="drawer_hud_color_mint">Minttu</string>
|
||||
<string name="drawer_hud_color_white">Valkoinen</string>
|
||||
<string name="drawer_hud_color_sky">Taivaansininen</string>
|
||||
<string name="drawer_hud_color_amber">Meripihka</string>
|
||||
<string name="drawer_hud_color_violet">Violetti</string>
|
||||
<string name="drawer_hud_opacity">Peittävyys</string>
|
||||
<string name="drawer_scaling">Skaalaustila</string>
|
||||
<string name="drawer_scaling_sharpness">Skaalauksen terävyys</string>
|
||||
<string name="drawer_effects">Näyttötehosteet</string>
|
||||
|
||||
@@ -581,6 +581,16 @@
|
||||
<string name="drawer_prev_page">Page précédente</string>
|
||||
<string name="drawer_next_page">Page suivante</string>
|
||||
<string name="drawer_hud">HUD de performance</string>
|
||||
<string name="drawer_hud_fps">Fréquence d\'images</string>
|
||||
<string name="drawer_hud_battery">Température de la batterie</string>
|
||||
<string name="drawer_hud_graph">Graphique de performance</string>
|
||||
<string name="drawer_hud_color">Couleur</string>
|
||||
<string name="drawer_hud_color_mint">Menthe</string>
|
||||
<string name="drawer_hud_color_white">Blanc</string>
|
||||
<string name="drawer_hud_color_sky">Ciel</string>
|
||||
<string name="drawer_hud_color_amber">Ambre</string>
|
||||
<string name="drawer_hud_color_violet">Violet</string>
|
||||
<string name="drawer_hud_opacity">Opacité</string>
|
||||
<string name="drawer_scaling">Mode de mise à l\'échelle</string>
|
||||
<string name="drawer_scaling_sharpness">Netteté de la mise à l\'échelle</string>
|
||||
<string name="drawer_effects">Effets d\'écran</string>
|
||||
|
||||
@@ -582,6 +582,16 @@
|
||||
<string name="drawer_prev_page">पिछला पेज</string>
|
||||
<string name="drawer_next_page">अगला पेज</string>
|
||||
<string name="drawer_hud">परफ़ॉर्मेंस HUD</string>
|
||||
<string name="drawer_hud_fps">फ़्रेम दर</string>
|
||||
<string name="drawer_hud_battery">बैटरी तापमान</string>
|
||||
<string name="drawer_hud_graph">परफ़ॉर्मेंस ग्राफ़</string>
|
||||
<string name="drawer_hud_color">रंग</string>
|
||||
<string name="drawer_hud_color_mint">मिंट</string>
|
||||
<string name="drawer_hud_color_white">सफ़ेद</string>
|
||||
<string name="drawer_hud_color_sky">स्काई</string>
|
||||
<string name="drawer_hud_color_amber">एम्बर</string>
|
||||
<string name="drawer_hud_color_violet">वायलेट</string>
|
||||
<string name="drawer_hud_opacity">ओपैसिटी</string>
|
||||
<string name="drawer_scaling">स्केलिंग मोड</string>
|
||||
<string name="drawer_scaling_sharpness">स्केलिंग शार्पनेस</string>
|
||||
<string name="drawer_effects">स्क्रीन इफ़ेक्ट</string>
|
||||
|
||||
@@ -582,6 +582,16 @@
|
||||
<string name="drawer_prev_page">Előző oldal</string>
|
||||
<string name="drawer_next_page">Következő oldal</string>
|
||||
<string name="drawer_hud">Teljesítmény HUD</string>
|
||||
<string name="drawer_hud_fps">Képkockasebesség</string>
|
||||
<string name="drawer_hud_battery">Akkuhőmérséklet</string>
|
||||
<string name="drawer_hud_graph">Teljesítménygrafikon</string>
|
||||
<string name="drawer_hud_color">Szín</string>
|
||||
<string name="drawer_hud_color_mint">Menta</string>
|
||||
<string name="drawer_hud_color_white">Fehér</string>
|
||||
<string name="drawer_hud_color_sky">Égszínkék</string>
|
||||
<string name="drawer_hud_color_amber">Borostyán</string>
|
||||
<string name="drawer_hud_color_violet">Lila</string>
|
||||
<string name="drawer_hud_opacity">Átlátszatlanság</string>
|
||||
<string name="drawer_scaling">Méretezési mód</string>
|
||||
<string name="drawer_scaling_sharpness">Méretezési élesség</string>
|
||||
<string name="drawer_effects">Képernyőeffektek</string>
|
||||
|
||||
@@ -580,6 +580,16 @@
|
||||
<string name="drawer_prev_page">Halaman sebelumnya</string>
|
||||
<string name="drawer_next_page">Halaman berikutnya</string>
|
||||
<string name="drawer_hud">HUD performa</string>
|
||||
<string name="drawer_hud_fps">Laju bingkai</string>
|
||||
<string name="drawer_hud_battery">Suhu baterai</string>
|
||||
<string name="drawer_hud_graph">Grafik performa</string>
|
||||
<string name="drawer_hud_color">Warna</string>
|
||||
<string name="drawer_hud_color_mint">Mint</string>
|
||||
<string name="drawer_hud_color_white">Putih</string>
|
||||
<string name="drawer_hud_color_sky">Langit</string>
|
||||
<string name="drawer_hud_color_amber">Ambar</string>
|
||||
<string name="drawer_hud_color_violet">Ungu</string>
|
||||
<string name="drawer_hud_opacity">Opasitas</string>
|
||||
<string name="drawer_scaling">Mode penskalaan</string>
|
||||
<string name="drawer_scaling_sharpness">Ketajaman penskalaan</string>
|
||||
<string name="drawer_effects">Efek layar</string>
|
||||
|
||||
@@ -581,6 +581,16 @@
|
||||
<string name="drawer_prev_page">Pagina precedente</string>
|
||||
<string name="drawer_next_page">Pagina successiva</string>
|
||||
<string name="drawer_hud">HUD prestazioni</string>
|
||||
<string name="drawer_hud_fps">Frequenza fotogrammi</string>
|
||||
<string name="drawer_hud_battery">Temperatura batteria</string>
|
||||
<string name="drawer_hud_graph">Grafico prestazioni</string>
|
||||
<string name="drawer_hud_color">Colore</string>
|
||||
<string name="drawer_hud_color_mint">Menta</string>
|
||||
<string name="drawer_hud_color_white">Bianco</string>
|
||||
<string name="drawer_hud_color_sky">Cielo</string>
|
||||
<string name="drawer_hud_color_amber">Ambra</string>
|
||||
<string name="drawer_hud_color_violet">Viola</string>
|
||||
<string name="drawer_hud_opacity">Opacità</string>
|
||||
<string name="drawer_scaling">Modalità di ridimensionamento</string>
|
||||
<string name="drawer_scaling_sharpness">Nitidezza del ridimensionamento</string>
|
||||
<string name="drawer_effects">Effetti schermo</string>
|
||||
|
||||
@@ -580,6 +580,16 @@
|
||||
<string name="drawer_prev_page">前のページ</string>
|
||||
<string name="drawer_next_page">次のページ</string>
|
||||
<string name="drawer_hud">パフォーマンスHUD</string>
|
||||
<string name="drawer_hud_fps">フレームレート</string>
|
||||
<string name="drawer_hud_battery">バッテリー温度</string>
|
||||
<string name="drawer_hud_graph">パフォーマンスグラフ</string>
|
||||
<string name="drawer_hud_color">色</string>
|
||||
<string name="drawer_hud_color_mint">ミント</string>
|
||||
<string name="drawer_hud_color_white">ホワイト</string>
|
||||
<string name="drawer_hud_color_sky">スカイ</string>
|
||||
<string name="drawer_hud_color_amber">アンバー</string>
|
||||
<string name="drawer_hud_color_violet">バイオレット</string>
|
||||
<string name="drawer_hud_opacity">不透明度</string>
|
||||
<string name="drawer_scaling">スケーリングモード</string>
|
||||
<string name="drawer_scaling_sharpness">スケーリングのシャープネス</string>
|
||||
<string name="drawer_effects">画面エフェクト</string>
|
||||
|
||||
@@ -580,6 +580,16 @@
|
||||
<string name="drawer_prev_page">이전 페이지</string>
|
||||
<string name="drawer_next_page">다음 페이지</string>
|
||||
<string name="drawer_hud">성능 HUD</string>
|
||||
<string name="drawer_hud_fps">프레임 속도</string>
|
||||
<string name="drawer_hud_battery">배터리 온도</string>
|
||||
<string name="drawer_hud_graph">성능 그래프</string>
|
||||
<string name="drawer_hud_color">색상</string>
|
||||
<string name="drawer_hud_color_mint">민트</string>
|
||||
<string name="drawer_hud_color_white">흰색</string>
|
||||
<string name="drawer_hud_color_sky">하늘색</string>
|
||||
<string name="drawer_hud_color_amber">호박색</string>
|
||||
<string name="drawer_hud_color_violet">보라색</string>
|
||||
<string name="drawer_hud_opacity">불투명도</string>
|
||||
<string name="drawer_scaling">스케일링 모드</string>
|
||||
<string name="drawer_scaling_sharpness">스케일링 선명도</string>
|
||||
<string name="drawer_effects">화면 효과</string>
|
||||
|
||||
@@ -580,6 +580,16 @@
|
||||
<string name="drawer_prev_page">Halaman sebelumnya</string>
|
||||
<string name="drawer_next_page">Halaman seterusnya</string>
|
||||
<string name="drawer_hud">HUD prestasi</string>
|
||||
<string name="drawer_hud_fps">Kadar bingkai</string>
|
||||
<string name="drawer_hud_battery">Suhu bateri</string>
|
||||
<string name="drawer_hud_graph">Graf prestasi</string>
|
||||
<string name="drawer_hud_color">Warna</string>
|
||||
<string name="drawer_hud_color_mint">Pudina</string>
|
||||
<string name="drawer_hud_color_white">Putih</string>
|
||||
<string name="drawer_hud_color_sky">Langit</string>
|
||||
<string name="drawer_hud_color_amber">Ambar</string>
|
||||
<string name="drawer_hud_color_violet">Ungu</string>
|
||||
<string name="drawer_hud_opacity">Kelegapan</string>
|
||||
<string name="drawer_scaling">Mod penskalaan</string>
|
||||
<string name="drawer_scaling_sharpness">Ketajaman penskalaan</string>
|
||||
<string name="drawer_effects">Kesan skrin</string>
|
||||
|
||||
@@ -582,6 +582,16 @@
|
||||
<string name="drawer_prev_page">Forrige side</string>
|
||||
<string name="drawer_next_page">Neste side</string>
|
||||
<string name="drawer_hud">Ytelses-HUD</string>
|
||||
<string name="drawer_hud_fps">Bildefrekvens</string>
|
||||
<string name="drawer_hud_battery">Batteritemperatur</string>
|
||||
<string name="drawer_hud_graph">Ytelsesgraf</string>
|
||||
<string name="drawer_hud_color">Farge</string>
|
||||
<string name="drawer_hud_color_mint">Mint</string>
|
||||
<string name="drawer_hud_color_white">Hvit</string>
|
||||
<string name="drawer_hud_color_sky">Himmel</string>
|
||||
<string name="drawer_hud_color_amber">Amber</string>
|
||||
<string name="drawer_hud_color_violet">Fiolett</string>
|
||||
<string name="drawer_hud_opacity">Opasitet</string>
|
||||
<string name="drawer_scaling">Skaleringsmodus</string>
|
||||
<string name="drawer_scaling_sharpness">Skaleringsskarphet</string>
|
||||
<string name="drawer_effects">Skjermeffekter</string>
|
||||
|
||||
@@ -582,6 +582,16 @@
|
||||
<string name="drawer_prev_page">Vorige pagina</string>
|
||||
<string name="drawer_next_page">Volgende pagina</string>
|
||||
<string name="drawer_hud">Prestatie-HUD</string>
|
||||
<string name="drawer_hud_fps">Beeldsnelheid</string>
|
||||
<string name="drawer_hud_battery">Accutemperatuur</string>
|
||||
<string name="drawer_hud_graph">Prestatiegrafiek</string>
|
||||
<string name="drawer_hud_color">Kleur</string>
|
||||
<string name="drawer_hud_color_mint">Mint</string>
|
||||
<string name="drawer_hud_color_white">Wit</string>
|
||||
<string name="drawer_hud_color_sky">Hemelsblauw</string>
|
||||
<string name="drawer_hud_color_amber">Amber</string>
|
||||
<string name="drawer_hud_color_violet">Violet</string>
|
||||
<string name="drawer_hud_opacity">Transparantie</string>
|
||||
<string name="drawer_scaling">Schaalmodus</string>
|
||||
<string name="drawer_scaling_sharpness">Schaalscherpte</string>
|
||||
<string name="drawer_effects">Schermeffecten</string>
|
||||
|
||||
@@ -586,6 +586,16 @@
|
||||
<string name="drawer_prev_page">Poprzednia strona</string>
|
||||
<string name="drawer_next_page">Następna strona</string>
|
||||
<string name="drawer_hud">HUD wydajności</string>
|
||||
<string name="drawer_hud_fps">Liczba klatek</string>
|
||||
<string name="drawer_hud_battery">Temperatura baterii</string>
|
||||
<string name="drawer_hud_graph">Wykres wydajności</string>
|
||||
<string name="drawer_hud_color">Kolor</string>
|
||||
<string name="drawer_hud_color_mint">Mięta</string>
|
||||
<string name="drawer_hud_color_white">Biały</string>
|
||||
<string name="drawer_hud_color_sky">Błękitny</string>
|
||||
<string name="drawer_hud_color_amber">Bursztynowy</string>
|
||||
<string name="drawer_hud_color_violet">Fioletowy</string>
|
||||
<string name="drawer_hud_opacity">Przezroczystość</string>
|
||||
<string name="drawer_scaling">Tryb skalowania</string>
|
||||
<string name="drawer_scaling_sharpness">Ostrość skalowania</string>
|
||||
<string name="drawer_effects">Efekty ekranowe</string>
|
||||
|
||||
@@ -581,6 +581,16 @@
|
||||
<string name="drawer_prev_page">Página anterior</string>
|
||||
<string name="drawer_next_page">Página seguinte</string>
|
||||
<string name="drawer_hud">HUD de desempenho</string>
|
||||
<string name="drawer_hud_fps">Taxa de fotogramas</string>
|
||||
<string name="drawer_hud_battery">Temperatura da bateria</string>
|
||||
<string name="drawer_hud_graph">Gráfico de desempenho</string>
|
||||
<string name="drawer_hud_color">Cor</string>
|
||||
<string name="drawer_hud_color_mint">Menta</string>
|
||||
<string name="drawer_hud_color_white">Branco</string>
|
||||
<string name="drawer_hud_color_sky">Céu</string>
|
||||
<string name="drawer_hud_color_amber">Âmbar</string>
|
||||
<string name="drawer_hud_color_violet">Violeta</string>
|
||||
<string name="drawer_hud_opacity">Opacidade</string>
|
||||
<string name="drawer_scaling">Modo de escala</string>
|
||||
<string name="drawer_scaling_sharpness">Nitidez da escala</string>
|
||||
<string name="drawer_effects">Efeitos de ecrã</string>
|
||||
|
||||
@@ -581,6 +581,16 @@
|
||||
<string name="drawer_prev_page">Página anterior</string>
|
||||
<string name="drawer_next_page">Próxima página</string>
|
||||
<string name="drawer_hud">HUD de desempenho</string>
|
||||
<string name="drawer_hud_fps">Taxa de quadros</string>
|
||||
<string name="drawer_hud_battery">Temperatura da bateria</string>
|
||||
<string name="drawer_hud_graph">Gráfico de desempenho</string>
|
||||
<string name="drawer_hud_color">Cor</string>
|
||||
<string name="drawer_hud_color_mint">Menta</string>
|
||||
<string name="drawer_hud_color_white">Branco</string>
|
||||
<string name="drawer_hud_color_sky">Céu</string>
|
||||
<string name="drawer_hud_color_amber">Âmbar</string>
|
||||
<string name="drawer_hud_color_violet">Violeta</string>
|
||||
<string name="drawer_hud_opacity">Opacidade</string>
|
||||
<string name="drawer_scaling">Modo de escala</string>
|
||||
<string name="drawer_scaling_sharpness">Nitidez da escala</string>
|
||||
<string name="drawer_effects">Efeitos de tela</string>
|
||||
|
||||
@@ -584,6 +584,16 @@
|
||||
<string name="drawer_prev_page">Pagina anterioară</string>
|
||||
<string name="drawer_next_page">Pagina următoare</string>
|
||||
<string name="drawer_hud">HUD de performanță</string>
|
||||
<string name="drawer_hud_fps">Rată de cadre</string>
|
||||
<string name="drawer_hud_battery">Temperatură baterie</string>
|
||||
<string name="drawer_hud_graph">Grafic de performanță</string>
|
||||
<string name="drawer_hud_color">Culoare</string>
|
||||
<string name="drawer_hud_color_mint">Mentă</string>
|
||||
<string name="drawer_hud_color_white">Alb</string>
|
||||
<string name="drawer_hud_color_sky">Cer</string>
|
||||
<string name="drawer_hud_color_amber">Chihlimbariu</string>
|
||||
<string name="drawer_hud_color_violet">Violet</string>
|
||||
<string name="drawer_hud_opacity">Opacitate</string>
|
||||
<string name="drawer_scaling">Mod de scalare</string>
|
||||
<string name="drawer_scaling_sharpness">Claritatea scalării</string>
|
||||
<string name="drawer_effects">Efecte de ecran</string>
|
||||
|
||||
@@ -583,6 +583,16 @@
|
||||
<string name="drawer_prev_page">Предыдущая страница</string>
|
||||
<string name="drawer_next_page">Следующая страница</string>
|
||||
<string name="drawer_hud">HUD производительности</string>
|
||||
<string name="drawer_hud_fps">Частота кадров</string>
|
||||
<string name="drawer_hud_battery">Температура батареи</string>
|
||||
<string name="drawer_hud_graph">График производительности</string>
|
||||
<string name="drawer_hud_color">Цвет</string>
|
||||
<string name="drawer_hud_color_mint">Мята</string>
|
||||
<string name="drawer_hud_color_white">Белый</string>
|
||||
<string name="drawer_hud_color_sky">Небесный</string>
|
||||
<string name="drawer_hud_color_amber">Янтарный</string>
|
||||
<string name="drawer_hud_color_violet">Фиолетовый</string>
|
||||
<string name="drawer_hud_opacity">Непрозрачность</string>
|
||||
<string name="drawer_scaling">Режим масштабирования</string>
|
||||
<string name="drawer_scaling_sharpness">Резкость масштабирования</string>
|
||||
<string name="drawer_effects">Экранные эффекты</string>
|
||||
|
||||
@@ -582,6 +582,16 @@
|
||||
<string name="drawer_prev_page">Föregående sida</string>
|
||||
<string name="drawer_next_page">Nästa sida</string>
|
||||
<string name="drawer_hud">Prestanda-HUD</string>
|
||||
<string name="drawer_hud_fps">Bildfrekvens</string>
|
||||
<string name="drawer_hud_battery">Batteritemperatur</string>
|
||||
<string name="drawer_hud_graph">Prestandagraf</string>
|
||||
<string name="drawer_hud_color">Färg</string>
|
||||
<string name="drawer_hud_color_mint">Mint</string>
|
||||
<string name="drawer_hud_color_white">Vit</string>
|
||||
<string name="drawer_hud_color_sky">Himmelsblå</string>
|
||||
<string name="drawer_hud_color_amber">Amber</string>
|
||||
<string name="drawer_hud_color_violet">Lila</string>
|
||||
<string name="drawer_hud_opacity">Opacitet</string>
|
||||
<string name="drawer_scaling">Skalningsläge</string>
|
||||
<string name="drawer_scaling_sharpness">Skalningsskärpa</string>
|
||||
<string name="drawer_effects">Skärmeffekter</string>
|
||||
|
||||
@@ -580,6 +580,16 @@
|
||||
<string name="drawer_prev_page">หน้าก่อนหน้า</string>
|
||||
<string name="drawer_next_page">หน้าถัดไป</string>
|
||||
<string name="drawer_hud">HUD ประสิทธิภาพ</string>
|
||||
<string name="drawer_hud_fps">อัตราเฟรม</string>
|
||||
<string name="drawer_hud_battery">อุณหภูมิแบตเตอรี่</string>
|
||||
<string name="drawer_hud_graph">กราฟประสิทธิภาพ</string>
|
||||
<string name="drawer_hud_color">สี</string>
|
||||
<string name="drawer_hud_color_mint">มิ้นต์</string>
|
||||
<string name="drawer_hud_color_white">ขาว</string>
|
||||
<string name="drawer_hud_color_sky">ฟ้าสดใส</string>
|
||||
<string name="drawer_hud_color_amber">อำพัน</string>
|
||||
<string name="drawer_hud_color_violet">ม่วง</string>
|
||||
<string name="drawer_hud_opacity">ความโปร่งใส</string>
|
||||
<string name="drawer_scaling">โหมดการปรับขนาด</string>
|
||||
<string name="drawer_scaling_sharpness">ความคมชัดของการปรับขนาด</string>
|
||||
<string name="drawer_effects">เอฟเฟกต์หน้าจอ</string>
|
||||
|
||||
@@ -579,6 +579,16 @@
|
||||
<string name="drawer_prev_page">Önceki sayfa</string>
|
||||
<string name="drawer_next_page">Sonraki sayfa</string>
|
||||
<string name="drawer_hud">Performans HUD\'u</string>
|
||||
<string name="drawer_hud_fps">Kare hızı</string>
|
||||
<string name="drawer_hud_battery">Pil sıcaklığı</string>
|
||||
<string name="drawer_hud_graph">Performans grafiği</string>
|
||||
<string name="drawer_hud_color">Renk</string>
|
||||
<string name="drawer_hud_color_mint">Nane</string>
|
||||
<string name="drawer_hud_color_white">Beyaz</string>
|
||||
<string name="drawer_hud_color_sky">Gök mavisi</string>
|
||||
<string name="drawer_hud_color_amber">Kehribar</string>
|
||||
<string name="drawer_hud_color_violet">Mor</string>
|
||||
<string name="drawer_hud_opacity">Opaklık</string>
|
||||
<string name="drawer_scaling">Ölçekleme modu</string>
|
||||
<string name="drawer_scaling_sharpness">Ölçekleme keskinliği</string>
|
||||
<string name="drawer_effects">Ekran efektleri</string>
|
||||
|
||||
@@ -586,6 +586,16 @@
|
||||
<string name="drawer_prev_page">Попередня сторінка</string>
|
||||
<string name="drawer_next_page">Наступна сторінка</string>
|
||||
<string name="drawer_hud">HUD продуктивності</string>
|
||||
<string name="drawer_hud_fps">Частота кадрів</string>
|
||||
<string name="drawer_hud_battery">Температура батареї</string>
|
||||
<string name="drawer_hud_graph">Графік продуктивності</string>
|
||||
<string name="drawer_hud_color">Колір</string>
|
||||
<string name="drawer_hud_color_mint">М\'ята</string>
|
||||
<string name="drawer_hud_color_white">Білий</string>
|
||||
<string name="drawer_hud_color_sky">Небесний</string>
|
||||
<string name="drawer_hud_color_amber">Бурштиновий</string>
|
||||
<string name="drawer_hud_color_violet">Фіолетовий</string>
|
||||
<string name="drawer_hud_opacity">Непрозорість</string>
|
||||
<string name="drawer_scaling">Режим масштабування</string>
|
||||
<string name="drawer_scaling_sharpness">Чіткість масштабування</string>
|
||||
<string name="drawer_effects">Ефекти екрана</string>
|
||||
|
||||
@@ -580,6 +580,16 @@
|
||||
<string name="drawer_prev_page">Trang trước</string>
|
||||
<string name="drawer_next_page">Trang sau</string>
|
||||
<string name="drawer_hud">HUD hiệu năng</string>
|
||||
<string name="drawer_hud_fps">Tốc độ khung hình</string>
|
||||
<string name="drawer_hud_battery">Nhiệt độ pin</string>
|
||||
<string name="drawer_hud_graph">Biểu đồ hiệu năng</string>
|
||||
<string name="drawer_hud_color">Màu</string>
|
||||
<string name="drawer_hud_color_mint">Bạc hà</string>
|
||||
<string name="drawer_hud_color_white">Trắng</string>
|
||||
<string name="drawer_hud_color_sky">Xanh da trời</string>
|
||||
<string name="drawer_hud_color_amber">Hổ phách</string>
|
||||
<string name="drawer_hud_color_violet">Tím</string>
|
||||
<string name="drawer_hud_opacity">Độ mờ</string>
|
||||
<string name="drawer_scaling">Chế độ chia tỷ lệ</string>
|
||||
<string name="drawer_scaling_sharpness">Độ sắc nét khi chia tỷ lệ</string>
|
||||
<string name="drawer_effects">Hiệu ứng màn hình</string>
|
||||
|
||||
@@ -580,6 +580,16 @@
|
||||
<string name="drawer_prev_page">上一页</string>
|
||||
<string name="drawer_next_page">下一页</string>
|
||||
<string name="drawer_hud">性能 HUD</string>
|
||||
<string name="drawer_hud_fps">帧率</string>
|
||||
<string name="drawer_hud_battery">电池温度</string>
|
||||
<string name="drawer_hud_graph">性能图表</string>
|
||||
<string name="drawer_hud_color">颜色</string>
|
||||
<string name="drawer_hud_color_mint">薄荷绿</string>
|
||||
<string name="drawer_hud_color_white">白色</string>
|
||||
<string name="drawer_hud_color_sky">天蓝</string>
|
||||
<string name="drawer_hud_color_amber">琥珀</string>
|
||||
<string name="drawer_hud_color_violet">紫罗兰</string>
|
||||
<string name="drawer_hud_opacity">不透明度</string>
|
||||
<string name="drawer_scaling">缩放模式</string>
|
||||
<string name="drawer_scaling_sharpness">缩放锐度</string>
|
||||
<string name="drawer_effects">屏幕效果</string>
|
||||
|
||||
@@ -580,6 +580,16 @@
|
||||
<string name="drawer_prev_page">上一頁</string>
|
||||
<string name="drawer_next_page">下一頁</string>
|
||||
<string name="drawer_hud">效能 HUD</string>
|
||||
<string name="drawer_hud_fps">幀率</string>
|
||||
<string name="drawer_hud_battery">電池溫度</string>
|
||||
<string name="drawer_hud_graph">效能圖表</string>
|
||||
<string name="drawer_hud_color">顏色</string>
|
||||
<string name="drawer_hud_color_mint">薄荷綠</string>
|
||||
<string name="drawer_hud_color_white">白色</string>
|
||||
<string name="drawer_hud_color_sky">天藍</string>
|
||||
<string name="drawer_hud_color_amber">琥珀色</string>
|
||||
<string name="drawer_hud_color_violet">紫羅蘭</string>
|
||||
<string name="drawer_hud_opacity">不透明度</string>
|
||||
<string name="drawer_scaling">縮放模式</string>
|
||||
<string name="drawer_scaling_sharpness">縮放銳利度</string>
|
||||
<string name="drawer_effects">畫面效果</string>
|
||||
|
||||
@@ -580,6 +580,16 @@
|
||||
<string name="drawer_prev_page">上一頁</string>
|
||||
<string name="drawer_next_page">下一頁</string>
|
||||
<string name="drawer_hud">效能 HUD</string>
|
||||
<string name="drawer_hud_fps">幀率</string>
|
||||
<string name="drawer_hud_battery">電池溫度</string>
|
||||
<string name="drawer_hud_graph">效能圖表</string>
|
||||
<string name="drawer_hud_color">顏色</string>
|
||||
<string name="drawer_hud_color_mint">薄荷綠</string>
|
||||
<string name="drawer_hud_color_white">白色</string>
|
||||
<string name="drawer_hud_color_sky">天藍</string>
|
||||
<string name="drawer_hud_color_amber">琥珀</string>
|
||||
<string name="drawer_hud_color_violet">紫羅蘭</string>
|
||||
<string name="drawer_hud_opacity">不透明度</string>
|
||||
<string name="drawer_scaling">縮放模式</string>
|
||||
<string name="drawer_scaling_sharpness">縮放銳利度</string>
|
||||
<string name="drawer_effects">畫面效果</string>
|
||||
|
||||
@@ -593,6 +593,16 @@
|
||||
<string name="drawer_prev_page">Previous page</string>
|
||||
<string name="drawer_next_page">Next page</string>
|
||||
<string name="drawer_hud">Performance HUD</string>
|
||||
<string name="drawer_hud_fps">Frame rate</string>
|
||||
<string name="drawer_hud_battery">Battery temperature</string>
|
||||
<string name="drawer_hud_graph">Performance graph</string>
|
||||
<string name="drawer_hud_color">Color</string>
|
||||
<string name="drawer_hud_color_mint">Mint</string>
|
||||
<string name="drawer_hud_color_white">White</string>
|
||||
<string name="drawer_hud_color_sky">Sky</string>
|
||||
<string name="drawer_hud_color_amber">Amber</string>
|
||||
<string name="drawer_hud_color_violet">Violet</string>
|
||||
<string name="drawer_hud_opacity">Opacity</string>
|
||||
<string name="drawer_scaling">Scaling mode</string>
|
||||
<string name="drawer_scaling_sharpness">Scaling sharpness</string>
|
||||
<string name="drawer_effects">Screen effects</string>
|
||||
|
||||
@@ -32,6 +32,11 @@ class SettingsResetTest {
|
||||
SessionPrefs.setHdr(app, SessionService.MODE_DESKTOP, true)
|
||||
SessionPrefs.setResolutionChoice(app, SessionService.MODE_STEAM, "1280x800")
|
||||
SessionPrefs.setGuestHostname(app, "MyDeck")
|
||||
SessionPrefs.setHudShowFps(app, false)
|
||||
SessionPrefs.setHudShowBattery(app, false)
|
||||
SessionPrefs.setHudShowGraph(app, false)
|
||||
SessionPrefs.setHudColor(app, "amber")
|
||||
SessionPrefs.setHudOpacity(app, 40)
|
||||
ControllerPrefs.setOpacity(app, 40)
|
||||
AppUiPrefs.setScale(app, 150)
|
||||
FrameGen.set(app, FrameGen.Mode(FrameGen.ENGINE_DDFG, 3))
|
||||
@@ -45,6 +50,13 @@ class SettingsResetTest {
|
||||
assertFalse(SessionPrefs.hdr(app, SessionService.MODE_DESKTOP))
|
||||
assertFalse(SessionPrefs.resolutionChosen(app, SessionService.MODE_STEAM))
|
||||
assertEquals(SessionPrefs.DEFAULT_GUEST_HOSTNAME, SessionPrefs.guestHostname(app))
|
||||
assertTrue(SessionPrefs.hudShowFps(app))
|
||||
assertTrue(SessionPrefs.hudShowBattery(app))
|
||||
assertTrue(SessionPrefs.hudShowGraph(app))
|
||||
assertEquals(SessionPrefs.HUD_COLOR_MINT, SessionPrefs.hudColor(app))
|
||||
assertEquals(SessionPrefs.HUD_OPACITY_DEFAULT, SessionPrefs.hudOpacity(app))
|
||||
assertEquals("32.4°C", PerfHud.batteryCelsius(324))
|
||||
assertNull(PerfHud.batteryCelsius(0))
|
||||
assertEquals(100, ControllerPrefs.read(app).opacity)
|
||||
assertEquals(AppUiPrefs.DEFAULT_SCALE, AppUiPrefs.scale(app))
|
||||
assertEquals(FrameGen.Mode.OFF.engine, FrameGen.engine(app))
|
||||
|
||||
Reference in new issue
Block a user