feature: improve corner radius subtitle background (#298)

Co-authored-by: PartyDonut <PartyDonut@users.noreply.github.com>
This commit is contained in:
PartyDonut 2025-04-05 19:39:53 +02:00 committed by GitHub
parent 72dde479c8
commit 71eab225f9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1,6 +1,7 @@
import 'dart:convert';
import 'dart:math' as math;
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:collection/collection.dart';
@ -170,13 +171,13 @@ class SubtitleText extends ConsumerWidget {
@override
Widget build(BuildContext context, WidgetRef ref) {
final fillScreen = ref.watch(videoPlayerSettingsProvider.select((value) => value.fillScreen));
final fontSize = ref.read(subtitleSettingsProvider.select((value) => value.fontSize));
return Padding(
padding: (fillScreen ? EdgeInsets.zero : EdgeInsets.only(left: padding.left, right: padding.right))
.add(const EdgeInsets.all(16)),
child: LayoutBuilder(
builder: (context, constraints) {
final textScale = MediaQuery.textScalerOf(context)
.scale((ref.read(subtitleSettingsProvider.select((value) => value.fontSize)) *
final textScale = MediaQuery.textScalerOf(context).scale((fontSize *
math.sqrt(
((constraints.maxWidth * constraints.maxHeight) /
(kTextScaleFactorReferenceWidth * kTextScaleFactorReferenceHeight))
@ -221,7 +222,7 @@ class SubtitleText extends ConsumerWidget {
constraints: BoxConstraints(maxWidth: constraints.maxWidth, maxHeight: constraints.maxHeight),
decoration: BoxDecoration(
color: subModel.backGroundColor,
borderRadius: BorderRadius.circular(16),
borderRadius: BorderRadius.circular(clampDouble(textScale / 10, 2, 12)),
),
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 16),