Signed-off-by: dom <githubaccount56556@proton.me>
This commit is contained in:
dom
2026-01-19 12:48:24 +08:00
parent 397f887b91
commit 33278a74b2
17 changed files with 79 additions and 101 deletions

View File

@@ -125,10 +125,10 @@ class RenderProgressBar extends BaseRenderProgressBar<Segment> {
if (segmentEnd > segmentStart ||
(segmentEnd == segmentStart && segmentStart > 0)) {
canvas.drawRect(
Rect.fromLTWH(
Rect.fromLTRB(
segmentStart,
0,
segmentEnd == segmentStart ? 2 : segmentEnd - segmentStart,
segmentEnd == segmentStart ? segmentStart + 2 : segmentEnd,
size.height,
),
paint,
@@ -183,13 +183,13 @@ class RenderViewPointProgressBar
}
}
static const double barHeight = 15.0;
@override
Size computeDryLayout(BoxConstraints constraints) {
return constraints.constrain(Size(constraints.maxWidth, barHeight));
void performLayout() {
size = constraints.constrain(Size(constraints.maxWidth, _barHeight));
}
static const double _barHeight = 15.0;
@override
void paint(PaintingContext context, Offset offset) {
final size = this.size;
@@ -197,7 +197,7 @@ class RenderViewPointProgressBar
final paint = Paint()..style = PaintingStyle.fill;
canvas.drawRect(
Rect.fromLTWH(0, 0, size.width, barHeight),
Rect.fromLTRB(0, 0, size.width, _barHeight),
paint..color = Colors.grey[600]!.withValues(alpha: 0.45),
);
@@ -241,11 +241,11 @@ class RenderViewPointProgressBar
}
canvas.drawRect(
Rect.fromLTWH(
Rect.fromLTRB(
segmentStart,
0,
segmentEnd == segmentStart ? 2 : segmentEnd - segmentStart,
barHeight + height,
segmentEnd == segmentStart ? segmentStart + 2 : segmentEnd,
_barHeight + height,
),
paint,
);
@@ -255,7 +255,7 @@ class RenderViewPointProgressBar
: (segmentStart - prevStart - textPainter.width) / 2 +
prevStart +
1;
final textY = (barHeight - textPainter.height) / 2;
final textY = (_barHeight - textPainter.height) / 2;
textPainter.paint(canvas, Offset(textX, textY));
}
}
@@ -356,12 +356,7 @@ class BaseRenderProgressBar<T extends BaseSegment> extends RenderBox {
@override
void performLayout() {
size = computeDryLayout(constraints);
}
@override
Size computeDryLayout(BoxConstraints constraints) {
return constraints.constrain(Size(constraints.maxWidth, height));
size = constraints.constrain(Size(constraints.maxWidth, height));
}
@override