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

@@ -143,12 +143,7 @@ class RenderCroppedImage extends RenderBox {
@override
void performLayout() {
size = computeDryLayout(constraints);
}
@override
Size computeDryLayout(BoxConstraints constraints) {
return constraints.constrain(_preferredSize);
size = constraints.constrain(_preferredSize);
}
@override

View File

@@ -82,12 +82,7 @@ class RenderArc extends RenderBox {
@override
void performLayout() {
size = computeDryLayout(constraints);
}
@override
Size computeDryLayout(BoxConstraints constraints) {
return constraints.constrain(_preferredSize);
size = constraints.constrain(_preferredSize);
}
@override

View File

@@ -277,7 +277,7 @@ class Triangle extends LeafRenderObjectWidget {
RenderObject createRenderObject(BuildContext context) {
return RenderTriangle(
color: color,
size: size,
preferredSize: size,
type: type,
);
}
@@ -296,10 +296,10 @@ class Triangle extends LeafRenderObjectWidget {
class RenderTriangle extends RenderBox {
RenderTriangle({
required Color color,
required Size size,
required Size preferredSize,
required TooltipType type,
}) : _color = color,
_preferredSize = size,
_preferredSize = preferredSize,
_type = type;
Color _color;
@@ -321,12 +321,7 @@ class RenderTriangle extends RenderBox {
@override
void performLayout() {
size = computeDryLayout(constraints);
}
@override
Size computeDryLayout(BoxConstraints constraints) {
return constraints.constrain(_preferredSize);
size = constraints.constrain(_preferredSize);
}
@override

View File

@@ -1683,7 +1683,7 @@ class _ScrollableSelectionContainerDelegate
bool _globalPositionInScrollable(Offset globalPosition) {
final RenderBox box = state.context.findRenderObject()! as RenderBox;
final Offset localPosition = box.globalToLocal(globalPosition);
final Rect rect = Rect.fromLTWH(0, 0, box.size.width, box.size.height);
final Rect rect = Rect.fromLTRB(0, 0, box.size.width, box.size.height);
return rect.contains(localPosition);
}

View File

@@ -102,7 +102,7 @@ class EdgeDraggingAutoScroller {
final Matrix4 transform = scrollRenderBox.getTransformTo(null);
final Rect globalRect = MatrixUtils.transformRect(
transform,
Rect.fromLTWH(
Rect.fromLTRB(
0,
0,
scrollRenderBox.size.width,

View File

@@ -2473,7 +2473,7 @@ class RenderEditable extends RenderBox
switch (defaultTargetPlatform) {
case TargetPlatform.iOS:
case TargetPlatform.macOS:
_caretPrototype = Rect.fromLTWH(
_caretPrototype = Rect.fromLTRB(
0.0,
0.0,
cursorWidth,
@@ -3169,7 +3169,7 @@ class _TextHighlightPainter extends RenderEditablePainter {
.toRect()
.shift(renderEditable._paintOffset)
.intersect(
Rect.fromLTWH(0, 0, textPainter.width, textPainter.height),
Rect.fromLTRB(0, 0, textPainter.width, textPainter.height),
),
highlightPaint,
);

View File

@@ -6399,7 +6399,7 @@ class _ScribbleFocusableState extends State<_ScribbleFocusable>
final Matrix4 transform = box.getTransformTo(null);
return MatrixUtils.transformRect(
transform,
Rect.fromLTWH(0, 0, box.size.width, box.size.height),
Rect.fromLTRB(0, 0, box.size.width, box.size.height),
);
}

View File

@@ -3573,7 +3573,7 @@ class _SelectionHandleOverlayState extends State<_SelectionHandleOverlay>
final Size handleSize = widget.selectionControls.getHandleSize(
preferredLineHeight,
);
return Rect.fromLTWH(0.0, 0.0, handleSize.width, handleSize.height);
return Rect.fromLTRB(0.0, 0.0, handleSize.width, handleSize.height);
}
@override

View File

@@ -4,6 +4,11 @@ import 'package:flutter/foundation.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import 'package:flutter/services.dart'
show
MouseTrackerAnnotation,
PointerEnterEventListener,
PointerExitEventListener;
/// The shape of the progress bar at the left and right ends.
enum BarCapShape {
@@ -330,7 +335,7 @@ class _EagerHorizontalDragGestureRecognizer
String get debugDescription => '_EagerHorizontalDragGestureRecognizer';
}
class RenderProgressBar extends RenderBox {
class RenderProgressBar extends RenderBox implements MouseTrackerAnnotation {
RenderProgressBar({
required Duration progress,
required Duration total,
@@ -838,4 +843,16 @@ class RenderProgressBar extends RenderBox {
markNeedsPaint();
markNeedsSemanticsUpdate();
}
@override
MouseCursor get cursor => SystemMouseCursors.click;
@override
PointerEnterEventListener? onEnter;
@override
PointerExitEventListener? onExit;
@override
bool get validForMouseTracker => false;
}

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

View File

@@ -113,14 +113,7 @@ class RenderProgressBar extends RenderBox {
@override
void performLayout() {
size = computeDryLayout(constraints);
}
@override
Size computeDryLayout(BoxConstraints constraints) {
return constraints.constrain(
Size(constraints.maxWidth, _radius),
);
size = constraints.constrain(Size(constraints.maxWidth, _radius));
}
@override
@@ -130,11 +123,11 @@ class RenderProgressBar extends RenderBox {
final paint = Paint()..style = .fill;
canvas.clipRect(
.fromLTWH(0, size.height - height, size.width, height),
.fromLTRB(0, size.height - height, size.width, size.height),
);
final radius = Radius.circular(_radius);
final rect = Rect.fromLTWH(0, 0, size.width, size.height);
final rect = Rect.fromLTRB(0, 0, size.width, size.height);
final rrect = RRect.fromRectAndCorners(
rect,
bottomLeft: radius,
@@ -147,8 +140,8 @@ class RenderProgressBar extends RenderBox {
canvas.drawRRect(rrect, paint..color = _color);
} else {
final w = size.width * progress;
final left = Rect.fromLTWH(0, 0, w, size.height);
final right = Rect.fromLTWH(w, 0, size.width - w, size.height);
final left = Rect.fromLTRB(0, 0, w, size.height);
final right = Rect.fromLTRB(w, 0, size.width, size.height);
canvas
..clipRRect(rrect)
..drawRect(left, paint..color = _color)