mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-06 09:13:48 +08:00
opt: viewpoints
Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
@@ -35,15 +35,6 @@ class SegmentProgressBar extends CustomPainter {
|
|||||||
final segmentWidth =
|
final segmentWidth =
|
||||||
(progressEnd < segmentEnd ? progressEnd : segmentEnd) - segmentStart;
|
(progressEnd < segmentEnd ? progressEnd : segmentEnd) - segmentStart;
|
||||||
if (segmentWidth >= 0) {
|
if (segmentWidth >= 0) {
|
||||||
canvas.drawRect(
|
|
||||||
Rect.fromLTWH(
|
|
||||||
segmentStart,
|
|
||||||
0,
|
|
||||||
segmentWidth == 0 ? 2 : segmentWidth,
|
|
||||||
size.height,
|
|
||||||
),
|
|
||||||
paint,
|
|
||||||
);
|
|
||||||
if (segmentColors[i].title != null) {
|
if (segmentColors[i].title != null) {
|
||||||
TextPainter textPainter = TextPainter(
|
TextPainter textPainter = TextPainter(
|
||||||
text: TextSpan(
|
text: TextSpan(
|
||||||
@@ -53,6 +44,28 @@ class SegmentProgressBar extends CustomPainter {
|
|||||||
textDirection: TextDirection.ltr,
|
textDirection: TextDirection.ltr,
|
||||||
)..layout();
|
)..layout();
|
||||||
|
|
||||||
|
if (i == 0) {
|
||||||
|
canvas.drawRect(
|
||||||
|
Rect.fromLTRB(
|
||||||
|
0,
|
||||||
|
size.height - textPainter.height,
|
||||||
|
size.width,
|
||||||
|
0,
|
||||||
|
),
|
||||||
|
Paint()..color = Colors.grey[600]!,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
canvas.drawRect(
|
||||||
|
Rect.fromLTWH(
|
||||||
|
segmentStart,
|
||||||
|
-textPainter.height + 3,
|
||||||
|
segmentWidth == 0 ? 2 : segmentWidth,
|
||||||
|
size.height + textPainter.height - 3,
|
||||||
|
),
|
||||||
|
paint,
|
||||||
|
);
|
||||||
|
|
||||||
double? prevStart;
|
double? prevStart;
|
||||||
if (i != 0) {
|
if (i != 0) {
|
||||||
prevStart = segmentColors[i - 1].start * size.width;
|
prevStart = segmentColors[i - 1].start * size.width;
|
||||||
@@ -60,8 +73,18 @@ class SegmentProgressBar extends CustomPainter {
|
|||||||
double textX = i == 0
|
double textX = i == 0
|
||||||
? (segmentStart - textPainter.width) / 2
|
? (segmentStart - textPainter.width) / 2
|
||||||
: (segmentStart - prevStart! - textPainter.width) / 2 + prevStart;
|
: (segmentStart - prevStart! - textPainter.width) / 2 + prevStart;
|
||||||
double textY = size.height - textPainter.height - 1;
|
double textY = size.height - textPainter.height - 2;
|
||||||
textPainter.paint(canvas, Offset(textX, textY));
|
textPainter.paint(canvas, Offset(textX, textY));
|
||||||
|
} else {
|
||||||
|
canvas.drawRect(
|
||||||
|
Rect.fromLTWH(
|
||||||
|
segmentStart,
|
||||||
|
0,
|
||||||
|
segmentWidth == 0 ? 2 : segmentWidth,
|
||||||
|
size.height,
|
||||||
|
),
|
||||||
|
paint,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -69,6 +92,6 @@ class SegmentProgressBar extends CustomPainter {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
bool shouldRepaint(covariant CustomPainter oldDelegate) {
|
bool shouldRepaint(covariant CustomPainter oldDelegate) {
|
||||||
return true;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user