init method
void
init({})
Implementation
void init({
required Size viewportSize,
required Size imageRenderSize,
required ui.Image originalImage,
required Rect cropRect,
}) {
_imageRenderSize = imageRenderSize;
_originalImage = originalImage;
_viewportCropRect = cropRect;
// Remove old listeners to avoid duplicates if re-inited
transformationController.removeListener(_onMatrixChange);
transformationController.addListener(_onMatrixChange);
// Initial Setup: Center and Cover
// Use addPostFrameCallback to ensure the widget tree is ready if needed,
// though for matrix logic it can be immediate.
// PostFrame is safer for triggering value updates that might rebuild.
WidgetsBinding.instance.addPostFrameCallback((_) {
_resetToCenterCover();
});
}