SignatureField constructor

const SignatureField({
  1. Key? key,
  2. String? label,
  3. SignatureData? value,
  4. ValueChanged<SignatureData?>? onChanged,
  5. FormFieldValidator<SignatureData>? validator,
  6. InputDecoration? decoration,
  7. SignatureConfig config = const SignatureConfig(),
  8. double height = 200.0,
  9. double? width,
  10. BorderRadius? borderRadius,
  11. Border? border,
  12. SignatureType signatureType = SignatureType.handwritten,
  13. AuthenticationLevel authLevel = AuthenticationLevel.basic,
  14. bool showClearButton = true,
  15. bool showSaveButton = false,
  16. bool showUndoRedoButtons = true,
  17. bool enableZoom = false,
  18. bool enableFullScreen = true,
  19. bool enableRotation = false,
  20. bool enableResize = false,
  21. String? clearButtonText,
  22. String? saveButtonText,
  23. String? undoButtonText,
  24. String? redoButtonText,
  25. bool enableImageExport = true,
  26. bool enablePdfExport = false,
  27. bool enableSvgExport = false,
  28. bool enableBiometricExport = false,
  29. double exportScale = 2.0,
  30. List<ExportFormat> supportedFormats = const [ExportFormat.png],
  31. bool enableBiometricCapture = false,
  32. bool enableStrokeAnalysis = false,
  33. bool enableTimingAnalysis = false,
  34. bool enablePressureAnalysis = false,
  35. bool enableVelocityAnalysis = false,
  36. bool enableDigitalSigning = false,
  37. bool enableEncryption = false,
  38. bool enableWatermark = false,
  39. bool enableIntegrityCheck = false,
  40. String? certificatePath,
  41. String? privateKeyPath,
  42. Color? backgroundColor,
  43. Color? borderColor,
  44. Widget? placeholder,
  45. TextStyle? labelStyle,
  46. EdgeInsets? padding,
  47. bool showSignatureInfo = false,
  48. bool showBiometricInfo = false,
  49. bool enableGestures = true,
  50. bool enableVelocityBasedWidth = false,
  51. bool enableMultiTouch = false,
  52. bool enablePalmRejection = false,
  53. bool enableAutoSmoothing = true,
  54. bool enableStrokeRecognition = false,
  55. bool enableRealTimeSync = false,
  56. bool enableVersionControl = false,
  57. bool enableComments = false,
  58. bool enableSharing = false,
  59. dynamic onCommentAdded(
    1. SignatureData signature,
    2. String comment
    )?,
  60. bool enableAnalytics = false,
  61. bool enablePerformanceMonitoring = false,
  62. dynamic onAnalyticsEvent(
    1. Map<String, dynamic> analyticsData
    )?,
  63. int? minStrokeCount,
  64. double? minSignatureWidth,
  65. double? minSignatureHeight,
  66. double? minComplexityScore,
  67. Duration? maxSigningTime,
  68. Duration? minSigningTime,
  69. dynamic onSignatureStart(
    1. SignatureData signature
    )?,
  70. dynamic onSignatureEnd(
    1. SignatureData signature
    )?,
  71. dynamic onError(
    1. String error
    )?,
  72. dynamic onBiometricsCaptured(
    1. BiometricProperties biometrics
    )?,
  73. dynamic onDigitalSigningComplete(
    1. SignatureData signature
    )?,
})

Implementation

const SignatureField({
  Key? key,
  // Basic Configuration
  this.label,
  this.value,
  this.onChanged,
  this.validator,
  this.decoration,

  // Advanced Signature Configuration
  this.config = const SignatureConfig(),
  this.height = 200.0,
  this.width,
  this.borderRadius,
  this.border,
  this.signatureType = SignatureType.handwritten,
  this.authLevel = AuthenticationLevel.basic,

  // Enhanced Features
  this.showClearButton = true,
  this.showSaveButton = false,
  this.showUndoRedoButtons = true,
  this.enableZoom = false,
  this.enableFullScreen = true,
  this.enableRotation = false,
  this.enableResize = false,
  this.clearButtonText,
  this.saveButtonText,
  this.undoButtonText,
  this.redoButtonText,

  // Advanced Export Options
  this.enableImageExport = true,
  this.enablePdfExport = false,
  this.enableSvgExport = false,
  this.enableBiometricExport = false,
  this.exportScale = 2.0,
  this.supportedFormats = const [ExportFormat.png],

  // Biometric Features
  this.enableBiometricCapture = false,
  this.enableStrokeAnalysis = false,
  this.enableTimingAnalysis = false,
  this.enablePressureAnalysis = false,
  this.enableVelocityAnalysis = false,

  // Security Features
  this.enableDigitalSigning = false,
  this.enableEncryption = false,
  this.enableWatermark = false,
  this.enableIntegrityCheck = false,
  this.certificatePath,
  this.privateKeyPath,

  // UI Customization
  this.backgroundColor,
  this.borderColor,
  this.placeholder,
  this.labelStyle,
  this.padding,
  this.showSignatureInfo = false,
  this.showBiometricInfo = false,

  // Advanced Drawing Features
  this.enableGestures = true,
  this.enableVelocityBasedWidth = false,
  this.enableMultiTouch = false,
  this.enablePalmRejection = false,
  this.enableAutoSmoothing = true,
  this.enableStrokeRecognition = false,

  // Collaboration Features
  this.enableRealTimeSync = false,
  this.enableVersionControl = false,
  this.enableComments = false,
  this.enableSharing = false,
  this.onCommentAdded,

  // Analytics & Monitoring
  this.enableAnalytics = false,
  this.enablePerformanceMonitoring = false,
  this.onAnalyticsEvent,

  // Validation & Constraints
  this.minStrokeCount,
  this.minSignatureWidth,
  this.minSignatureHeight,
  this.minComplexityScore,
  this.maxSigningTime,
  this.minSigningTime,

  // Callbacks
  this.onSignatureStart,
  this.onSignatureEnd,
  this.onError,
  this.onBiometricsCaptured,
  this.onDigitalSigningComplete,
}) : super(key: key);