Implementation
VinScannerScreenConfiguration({
this.version = "1.0",
this.screen = "VINScanner",
VinScannerScreenTextLocalization? localization,
Palette? palette,
ScanbotColor? backgroundColor,
CameraConfiguration? cameraConfiguration,
CameraPermissionScreen? cameraPermission,
UserGuidanceConfiguration? topUserGuidance,
UserGuidanceConfiguration? finderViewUserGuidance,
TopBarConfiguration? topBar,
ScanbotIconButton? topBarOpenIntroScreenButton,
VinScannerIntroScreenConfiguration? introScreen,
ActionBarConfiguration? actionBar,
PermanentViewFinderConfiguration? viewFinder,
VinScannerConfiguration? scannerConfiguration,
this.shouldShowWordBoxes = true,
ScanbotColor? wordBoxesFillColor,
ScanbotColor? wordBoxesLineColor,
this.confirmationAlertDialogEnabled = false,
ScanbotAlertDialog? confirmationAlertDialog,
ScanCompletionOverlay? successOverlay,
Sound? sound,
Vibration? vibration,
this.keepScreenOn = true,
}) : localization = localization ?? VinScannerScreenTextLocalization(),
palette = palette ?? Palette(),
backgroundColor = backgroundColor ?? ScanbotColor("?sbColorSurfaceLow"),
cameraConfiguration = cameraConfiguration ??
CameraConfiguration(
orientationLockMode: OrientationLockMode.PORTRAIT),
cameraPermission = cameraPermission ??
CameraPermissionScreen(
statusBarMode: StatusBarMode.DARK,
background: ScanbotColor("?sbColorSurface"),
iconBackground: ScanbotColor("?sbColorOutline"),
icon: IconStyle(
visible: true, color: ScanbotColor("?sbColorOnSurface")),
enableCameraButton: ButtonConfiguration(
visible: true,
text: "?cameraPermissionEnableCameraButton",
accessibilityDescription:
"?accessibilityDescriptionCameraPermissionEnableCameraButton",
background: BackgroundStyle(
strokeColor: ScanbotColor("?sbColorPrimary"),
fillColor: ScanbotColor("?sbColorPrimary"),
strokeWidth: 0.0),
foreground: ForegroundStyle(
iconVisible: false,
color: ScanbotColor("?sbColorOnPrimary"),
useShadow: false)),
closeButton: ButtonConfiguration(
visible: true,
text: "?cameraPermissionCloseButton",
accessibilityDescription:
"?accessibilityDescriptionCameraPermissionCloseButton",
background: BackgroundStyle(
strokeColor: ScanbotColor("#00000000"),
fillColor: ScanbotColor("#00000000"),
strokeWidth: 0.0),
foreground: ForegroundStyle(
iconVisible: false,
color: ScanbotColor("?sbColorPrimary"),
useShadow: false)),
enableCameraTitle: StyledText(
text: "?cameraPermissionEnableCameraTitle",
color: ScanbotColor("?sbColorOnSurface")),
enableCameraExplanation: StyledText(
text: "?cameraPermissionEnableCameraExplanation",
color: ScanbotColor("?sbColorOnSurfaceVariant"))),
topUserGuidance = topUserGuidance ??
UserGuidanceConfiguration(
title: StyledText(text: "?topUserGuidance")),
finderViewUserGuidance = finderViewUserGuidance ??
UserGuidanceConfiguration(
title: StyledText(text: "?finderViewUserGuidance")),
topBar = topBar ??
TopBarConfiguration(
title: StyledText(visible: true, text: "?topBarTitle"),
cancelButton: ButtonConfiguration(
text: "?topBarCancelButton",
accessibilityDescription:
"?accessibilityDescriptionCancelButton",
background: BackgroundStyle(
strokeColor: ScanbotColor("#00000000"),
fillColor: ScanbotColor("#00000000"),
strokeWidth: 0.0),
foreground: ForegroundStyle(
color: ScanbotColor("?sbColorOnPrimary")))),
topBarOpenIntroScreenButton = topBarOpenIntroScreenButton ??
ScanbotIconButton(
color: ScanbotColor("?sbColorOnPrimary"),
accessibilityDescription:
"?accessibilityDescriptionOpenIntroScreenButton"),
introScreen = introScreen ?? VinScannerIntroScreenConfiguration(),
actionBar = actionBar ??
ActionBarConfiguration(
flipCameraButton: RoundButton(
visible: false,
accessibilityDescription:
"?accessibilityDescriptionFlipCameraButton",
backgroundColor: ScanbotColor("?sbColorSurfaceHigh"),
foregroundColor: ScanbotColor("?sbColorOnPrimary"),
activeBackgroundColor: ScanbotColor("?sbColorWarning"),
activeForegroundColor: ScanbotColor("#1C1B1F"))),
viewFinder = viewFinder ??
PermanentViewFinderConfiguration(
style: FinderCorneredStyle(
strokeColor: ScanbotColor("?sbColorSurface"),
strokeWidth: 2.0),
aspectRatio: AspectRatio(width: 5.0, height: 1.0),
preferredHeight: 56.0),
scannerConfiguration =
scannerConfiguration ?? VinScannerConfiguration(),
wordBoxesFillColor = wordBoxesFillColor ?? ScanbotColor("#33CCE54C"),
wordBoxesLineColor = wordBoxesLineColor ?? ScanbotColor("#33CCE599"),
confirmationAlertDialog = confirmationAlertDialog ??
ScanbotAlertDialog(
title: StyledText(
text: "?vinConfirmationAlertTitle",
color: ScanbotColor("?sbColorOnSurface")),
subtitle:
StyledText(color: ScanbotColor("?sbColorOnSurfaceVariant")),
sheetColor: ScanbotColor("?sbColorSurface"),
modalOverlayColor: ScanbotColor("?sbColorModalOverlay"),
dividerColor: ScanbotColor("?sbColorOutline"),
okButton: ButtonConfiguration(
visible: true,
text: "?vinConfirmationAlertSubmitButton",
accessibilityDescription:
"?accessibilityDescriptionConfirmationSubmitButton",
background: BackgroundStyle(
strokeColor: ScanbotColor("?sbColorPrimary"),
fillColor: ScanbotColor("?sbColorPrimary"),
strokeWidth: 1.0),
foreground: ForegroundStyle(
iconVisible: true,
color: ScanbotColor("?sbColorOnPrimary"),
useShadow: false)),
cancelButton: ButtonConfiguration(
visible: true,
text: "?vinConfirmationAlertCancelButton",
accessibilityDescription:
"?accessibilityDescriptionConfirmationCancelButton",
background: BackgroundStyle(
strokeColor: ScanbotColor("#00000000"),
fillColor: ScanbotColor("#00000000"),
strokeWidth: 1.0),
foreground: ForegroundStyle(
iconVisible: false,
color: ScanbotColor("?sbColorPrimary"),
useShadow: false))),
successOverlay = successOverlay ?? ScanCompletionOverlay(),
sound = sound ?? Sound(),
vibration = vibration ?? Vibration();