isToolEnabled method

bool isToolEnabled(
  1. EditToolsMenu tool
)

Implementation

bool isToolEnabled(EditToolsMenu tool) {
  if (isSingleToolMode) {
    return tool == config.lockToTool;
  }

  if (tool == EditToolsMenu.none) {
    return true;
  }
  if (isCropTool(tool)) {
    if (!isCropFeatureEnabled) return false;
    switch (tool) {
      case EditToolsMenu.cropFree:
        return config.cropOptions.enableFree;
      case EditToolsMenu.crop16_9:
        return config.cropOptions.enable16By9;
      case EditToolsMenu.crop5_4:
        return config.cropOptions.enable5By4;
      case EditToolsMenu.crop1_1:
        return config.cropOptions.enable1By1;
      default:
        return false;
    }
  }
  if (isRotateTool(tool)) {
    if (!isRotateFeatureEnabled) return false;
    switch (tool) {
      case EditToolsMenu.rotateFree:
        return config.rotateOptions.enableFree;
      case EditToolsMenu.rotate_90:
      case EditToolsMenu.rotate_90_:
        return config.rotateOptions.enableFixed;
      default:
        return false;
    }
  }
  if (tool == EditToolsMenu.text) {
    return isTextFeatureEnabled;
  }
  return false;
}