finishDrawing method

void finishDrawing()

Implementation

void finishDrawing() {
  debugPrint(
      'DrawingToolManager.finishDrawing: $_currentDrawingTool, isComplete: ${_currentDrawingTool?.isComplete}');
  if (_currentDrawingTool != null) {
    debugPrint(
        '当前工具: ${_currentDrawingTool!.type}, 状态: ${_currentDrawingTool!.state}, 完成: ${_currentDrawingTool!.isComplete}');
    if (_currentDrawingTool!.isComplete) {
      // 将工具状态设置为正常状态(非预览状态)
      _currentDrawingTool!.state = DrawingToolState.none;
      _tools.add(_currentDrawingTool!);
      debugPrint('绘图工具已添加,总数: ${_tools.length}');

      // 重要:清除当前绘制工具,这样预览线就会消失
      _currentDrawingTool = null;
      _updateDrawingPosition(null);
      _handleToolCompletion();
    } else {
      debugPrint('工具未完成,无法添加到工具列表');
    }
  } else {
    debugPrint('没有当前绘制工具');
  }
}