fix: font size

This commit is contained in:
My-Responsitories
2025-12-30 11:58:56 +08:00
parent b9d594bc8b
commit 13f377f680
3 changed files with 7 additions and 3 deletions

View File

@@ -68,7 +68,8 @@ class _PlDanmakuState extends State<PlDanmaku> {
@override @override
void didUpdateWidget(PlDanmaku oldWidget) { void didUpdateWidget(PlDanmaku oldWidget) {
super.didUpdateWidget(oldWidget); super.didUpdateWidget(oldWidget);
if (oldWidget.notFullscreen != widget.notFullscreen) { if (oldWidget.notFullscreen != widget.notFullscreen &&
!DanmakuOptions.sameFontScale) {
_controller?.updateOption( _controller?.updateOption(
DanmakuOptions.get(notFullscreen: widget.notFullscreen), DanmakuOptions.get(notFullscreen: widget.notFullscreen),
); );

View File

@@ -995,7 +995,8 @@ class _LiveDanmakuState extends State<LiveDanmaku> {
@override @override
void didUpdateWidget(LiveDanmaku oldWidget) { void didUpdateWidget(LiveDanmaku oldWidget) {
super.didUpdateWidget(oldWidget); super.didUpdateWidget(oldWidget);
if (oldWidget.notFullscreen != widget.notFullscreen) { if (oldWidget.notFullscreen != widget.notFullscreen &&
!DanmakuOptions.sameFontScale) {
plPlayerController.danmakuController?.updateOption( plPlayerController.danmakuController?.updateOption(
DanmakuOptions.get(notFullscreen: widget.notFullscreen), DanmakuOptions.get(notFullscreen: widget.notFullscreen),
); );

View File

@@ -19,12 +19,14 @@ abstract final class DanmakuOptions {
static bool massiveMode = Pref.danmakuMassiveMode; static bool massiveMode = Pref.danmakuMassiveMode;
static double danmakuLineHeight = Pref.danmakuLineHeight; static double danmakuLineHeight = Pref.danmakuLineHeight;
static bool sameFontScale = danmakuFontScale == danmakuFontScaleFS;
static DanmakuOption get({ static DanmakuOption get({
required bool notFullscreen, required bool notFullscreen,
double speed = 1.0, double speed = 1.0,
}) { }) {
return DanmakuOption( return DanmakuOption(
fontSize: notFullscreen ? danmakuFontScaleFS : danmakuFontScale, fontSize: 15 * (notFullscreen ? danmakuFontScaleFS : danmakuFontScale),
fontWeight: danmakuFontWeight, fontWeight: danmakuFontWeight,
area: danmakuShowArea, area: danmakuShowArea,
duration: danmakuDuration / speed, duration: danmakuDuration / speed,