drawTools method

void drawTools(
  1. Canvas canvas,
  2. Size size,
  3. double scaleX,
  4. double scrollX,
  5. double getX(
    1. double
    ),
  6. double getY(
    1. double
    ),
)

Implementation

void drawTools(Canvas canvas, Size size, double scaleX, double scrollX,
    double Function(double) getX, double Function(double) getY) {
  debugPrint(
      'DrawingToolManager.drawTools: 工具数量=${_tools.length}, 当前绘制工具=${_currentDrawingTool != null}');

  // 绘制已完成的工具
  for (final tool in _tools) {
    if (tool.isVisible) {
      debugPrint('绘制工具: ${tool.type}, id=${tool.id}');
      tool.draw(canvas, size, scaleX, scrollX, getX, getY);

      // 绘制选中状态的视觉反馈
      if (tool == _selectedTool) {
        _drawSelectionIndicator(canvas, tool);
      }
    }
  }

  // 绘制正在绘制的工具
  if (_currentDrawingTool != null) {
    debugPrint(
        '绘制当前工具: ${_currentDrawingTool!.type}, 完成状态=${_currentDrawingTool!.isComplete}');
    _currentDrawingTool!.draw(canvas, size, scaleX, scrollX, getX, getY);
  }
}