HorizontalLineAddingPreviewMobile constructor
HorizontalLineAddingPreviewMobile({
- required InteractiveLayerBehaviour interactiveLayerBehaviour,
- required HorizontalLineInteractableDrawing interactableDrawing,
- required dynamic onAddingStateChange(),
Initializes HorizontalLineInteractableDrawing.
Implementation
HorizontalLineAddingPreviewMobile({
required super.interactiveLayerBehaviour,
required super.interactableDrawing,
required super.onAddingStateChange,
}) {
if (interactableDrawing.startPoint == null) {
final interactiveLayer = interactiveLayerBehaviour.interactiveLayer;
final Size layerSize = interactiveLayer.drawingContext.fullSize;
final double centerX = layerSize.width / 2;
final double centerY = layerSize.height / 2;
interactableDrawing.startPoint = EdgePoint(
epoch: interactiveLayer.epochFromX(centerX),
quote: interactiveLayer.quoteFromY(centerY),
);
// Use a post-frame callback to ensure the startPoint is fully set before transitioning
// Check if the widget is still mounted to prevent race conditions
WidgetsBinding.instance.addPostFrameCallback((_) {
// Check if the interactive layer is still mounted and startPoint is valid
if (interactiveLayerBehaviour.interactiveLayer.isStillMounted &&
interactableDrawing.startPoint != null) {
onAddingStateChange(AddingStateInfo(1, 1));
}
});
}
}