fix deprecations

This commit is contained in:
2025-08-16 20:55:50 +00:00
parent 6ba97315a7
commit 0ab86ce143
3 changed files with 20 additions and 18 deletions
+1 -1
View File
@@ -92,7 +92,7 @@ class _RenderCallbacksExampleState extends State<RenderCallbacksExample> {
width: 350, width: 350,
height: 400, height: 400,
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.black.withOpacity(0.8), color: Colors.black.withValues(alpha: 0.8),
borderRadius: BorderRadius.circular(8), borderRadius: BorderRadius.circular(8),
border: Border.all(color: Colors.grey), border: Border.all(color: Colors.grey),
), ),
+7 -5
View File
@@ -64,7 +64,9 @@ class DotGridBackground extends CanvasBackground {
_program = p; _program = p;
// Request a repaint when shader becomes available // Request a repaint when shader becomes available
try { try {
RendererBinding.instance.renderView.markNeedsPaint(); for (final renderView in RendererBinding.instance.renderViews) {
renderView.markNeedsPaint();
}
} catch (_) {} } catch (_) {}
}).catchError((_) { }).catchError((_) {
// keep _program null; we'll fallback to CPU/simple paint // keep _program null; we'll fallback to CPU/simple paint
@@ -124,10 +126,10 @@ class DotGridBackground extends CanvasBackground {
} }
void set4c(Color c) { void set4c(Color c) {
shader.setFloat(i++, c.red / 255.0); shader.setFloat(i++, c.r);
shader.setFloat(i++, c.green / 255.0); shader.setFloat(i++, c.g);
shader.setFloat(i++, c.blue / 255.0); shader.setFloat(i++, c.b);
shader.setFloat(i++, c.opacity); shader.setFloat(i++, c.a);
} }
set2(originXPx, originYPx); set2(originXPx, originYPx);
+12 -12
View File
@@ -1,7 +1,7 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart'; import 'package:flutter/rendering.dart';
import 'package:flutter/services.dart'; // added for LogicalKeyboardKey import 'package:flutter/services.dart'; // HardwareKeyboard, LogicalKeyboardKey
import 'package:flutter/gestures.dart'; // added for PointerScrollEvent import 'package:flutter/gestures.dart'; // PointerScrollEvent
import '../utils/offset_extensions.dart'; import '../utils/offset_extensions.dart';
import '../utils/styles.dart'; import '../utils/styles.dart';
@@ -47,7 +47,7 @@ class _LazyCanvasState extends State<LazyCanvas> with TickerProviderStateMixin<L
behavior: HitTestBehavior.translucent, // ensure scroll signals are captured even on empty space behavior: HitTestBehavior.translucent, // ensure scroll signals are captured even on empty space
onPointerSignal: (event) { onPointerSignal: (event) {
if (event is PointerScrollEvent) { if (event is PointerScrollEvent) {
final pressed = RawKeyboard.instance.keysPressed; final pressed = HardwareKeyboard.instance.logicalKeysPressed;
if (pressed.contains(LogicalKeyboardKey.controlLeft) || pressed.contains(LogicalKeyboardKey.controlRight)) { if (pressed.contains(LogicalKeyboardKey.controlLeft) || pressed.contains(LogicalKeyboardKey.controlRight)) {
// Typical mouse wheel up gives negative dy on many platforms; invert if needed // Typical mouse wheel up gives negative dy on many platforms; invert if needed
final delta = (-event.scrollDelta.dy) * 0.0015; // sensitivity final delta = (-event.scrollDelta.dy) * 0.0015; // sensitivity
@@ -177,11 +177,11 @@ class _CanvasRenderBox extends RenderBox
Function onChildSizeChange; Function onChildSizeChange;
_CanvasRenderBox({ _CanvasRenderBox({
required childrenIds, required List<CanvasChildId> childrenIds,
required ssPositions, required List<Offset> ssPositions,
required scale, required double scale,
required gridSpaceOffset, required Offset gridSpaceOffset,
required canvasBackground, required CanvasBackground canvasBackground,
required this.onCanvasSizeChange, required this.onCanvasSizeChange,
required this.onChildSizeChange, required this.onChildSizeChange,
}) : assert(childrenIds.length == ssPositions.length), }) : assert(childrenIds.length == ssPositions.length),
@@ -282,8 +282,8 @@ class _CanvasRenderBox extends RenderBox
// Apply transformation using pushTransform for proper coordinate handling // Apply transformation using pushTransform for proper coordinate handling
final transform = Matrix4.identity() final transform = Matrix4.identity()
..translate(drawAt.dx, drawAt.dy) ..translateByDouble(drawAt.dx, drawAt.dy, 0.0, 1.0)
..scale(childParentData.scale, childParentData.scale); ..scaleByDouble(childParentData.scale, childParentData.scale, 1.0, 1.0);
// Note: initially I was using context.canvas.translate and context.canvas.scale // Note: initially I was using context.canvas.translate and context.canvas.scale
// but that doesn't work with say using a SingleChildScrollView inside a child // but that doesn't work with say using a SingleChildScrollView inside a child
@@ -319,8 +319,8 @@ class _CanvasRenderBox extends RenderBox
} else { } else {
// same paint transform for hit testing when scaled // same paint transform for hit testing when scaled
final Matrix4 transform = Matrix4.identity() final Matrix4 transform = Matrix4.identity()
..translate(childParentData.offset.dx, childParentData.offset.dy) ..translateByDouble(childParentData.offset.dx, childParentData.offset.dy, 0.0, 1.0)
..scale(childParentData.scale, childParentData.scale); ..scaleByDouble(childParentData.scale, childParentData.scale, 1.0, 1.0);
isHit = result.addWithPaintTransform( isHit = result.addWithPaintTransform(
transform: transform, transform: transform,