enrollWithoutServerPushingWidget method
Widget
enrollWithoutServerPushingWidget({
- required bool withGlasses,
- required dynamic onPercentageChanged(
- dynamic
- required dynamic onCountdownStarted(
- dynamic
- required dynamic onCompleted(
- dynamic
- required dynamic onFailed(
- dynamic
- required Widget customPermissionBuilder(
- dynamic
- required Widget onLoadingWidget,
- required Stack builder(),
- SmartfaceCameraPosition? cameraPosition = SmartfaceCameraPosition.front,
- dynamic onRectInsideEllipseChanged()?,
- SmartfaceTransparentEllipseOverlay? rectInsideEllipseOverlay,
- @Deprecated('Use rectInsideEllipseOverlay instead for better integration and automatic state management') Widget? faceMaskOverlay,
Creates a widget for enrolling without server pushing.
This widget handles the enrollment process with various callbacks and customizations but does not push data to a remote server.
Recommended Usage:
Use rectInsideEllipseOverlay
for a cleaner API with automatic state management.
Parameters:
withGlasses
(required): A boolean indicating if the user is wearing glasses.onPercentageChanged
(required): A callback function that is triggered when the percentage changes.onCountdownStarted
(required): A callback function that is triggered when the countdown starts.onCompleted
(required): A callback function that is triggered when the enrollment is completed. It receives a map of string to dynamic values.onFailed
(required): A callback function that is triggered when the enrollment fails.customPermissionBuilder
(required): A function that returns a custom permission widget.onLoadingWidget
(required): A widget that is displayed while loading.builder
(required): A function that returns a stack widget with a camera controller.cameraPosition
: The camera position to use (front or back camera).onRectInsideEllipseChanged
: Optional callback that is triggered when the rectangle position changes relative to the ellipse.
New Recommended Parameters:
rectInsideEllipseOverlay
: A SmartfaceTransparentEllipseOverlay widget that handles ellipse validation automatically.
Returns: A widget that handles the enrollment process without server pushing
Implementation
Widget enrollWithoutServerPushingWidget({
required bool withGlasses,
required Function(dynamic) onPercentageChanged,
required Function(dynamic) onCountdownStarted,
required Function(dynamic) onCompleted,
required Function(dynamic) onFailed,
required Widget Function(dynamic) customPermissionBuilder,
required Widget onLoadingWidget,
required Stack Function(Widget, FlutterSmartfacePlatformCameraController)
builder,
SmartfaceCameraPosition? cameraPosition = SmartfaceCameraPosition.front,
Function(bool)? onRectInsideEllipseChanged,
// NEW: Recommended parameter for cleaner API
SmartfaceTransparentEllipseOverlay? rectInsideEllipseOverlay,
// LEGACY: Deprecated parameters - maintained for backward compatibility
@Deprecated(
'Use rectInsideEllipseOverlay instead for better integration and automatic state management')
Widget? faceMaskOverlay,
}) {
// Build base creation parameters
Map<String, dynamic> creationParams = {
'withGlasses': withGlasses,
'withoutServerPushing': true,
'counter': 3,
};
return platformViewLink(
cameraPosition: cameraPosition,
creationParams: creationParams,
onPercentageChanged: onPercentageChanged,
onCountdownStarted: onCountdownStarted,
onCompleted: (arguments) {
onCompleted(arguments);
},
onFailed: onFailed,
customPermissionBuilder: customPermissionBuilder,
onLoadingWidget: onLoadingWidget,
// Use rectInsideEllipseOverlay if provided, otherwise fall back to faceMaskOverlay
rectInsideEllipseOverlay: rectInsideEllipseOverlay,
onRectInsideEllipseChanged: onRectInsideEllipseChanged,
faceMaskOverlay: faceMaskOverlay,
builder: builder,
viewType: 'enroll_finish_view',
);
}