Если у меня есть RenderBox
(в виде LeafRenderObjectWidget
) в любом месте экрана, он всегда будет вызываться с PaintingContext
, который начинается с Offset(0.0, 0.0)
. Это можно исправить, переведя Canvas
или используя RenderShiftedBox
для удобства.
Теперь RenderBox
будет рисовать из фактического положения . Это прекрасно работает для меня, однако я хочу ограничить мой RenderBox
от рисования поверх других виджетов, даже если операция canvas происходит за пределами этих границ.
Как мне подойти к этому? Я думал об отсечении LeafRenderObjectWidget
, но понятия не имею, где начнется область моего RenderBox
.
Если раньше было непонятно, у меня есть все, что нужно, чтобы определить, где начинается и заканчивается RenderBox
. Я получаю верхнюю позицию из Offset
, который предоставляется как параметр в paint
, и у меня есть размер, потому что я установил его в performResize
, но я не знаю, как обрезать, используя это, потому что эта информация находится внутри RenderBox
.