@microblink/photopay-in-browser-sdk
Version:
A simple payment barcode scanning library for WebAssembly-enabled browsers.
84 lines (83 loc) • 2.92 kB
TypeScript
/**
* Copyright (c) Microblink Ltd. All rights reserved.
*/
import { Point, Quadrilateral } from "./Geometry";
/**
* Interface representing possible events that can occur during image processing.
* All functions in this interface are optional and will be called only if they are
* implemented.
*/
export interface MetadataCallbacks {
/**
* Called when recognition process wants to display some debug text information.
* @param debugTest Debug text information to be displayed.
*/
onDebugText?(debugTest: string): void;
/**
* Called when all recognizers in RecognizerRunner have failed to detect anything on the image.
*/
onDetectionFailed?(): void;
/**
* Called when recognition process wants to display some quadrilateral.
* @param quad Quadrilateral to be displayed.
*/
onQuadDetection?(quad: DisplayableQuad): void;
/**
* Called when recognition process wants to display some points.
* @param pointSet Points to be displayed.
*/
onPointsDetection?(pointSet: DisplayablePoints): void;
/**
* Called when first side recognition with the combined recognizer completes.
*/
onFirstSideResult?(): void;
/**
* Called when glare detection has completed with result whether glare has been found or not.
* @param hasGlare indicates whether glare has been found on the input image or not
*/
onGlare?(hasGlare: boolean): void;
}
/**
* Detection status of the specific detected object.
*/
export declare enum DetectionStatus {
/** Detection failed, form not detected */
Fail = 0,
/** Object was successfully detected */
Success = 1,
/** Object detected, but the camera is too far above it */
CameraTooHigh = 2,
/** Fallback detection of an object was successful */
FallbackSuccess = 3,
/** Object is detected, but parts of it are not in image */
Partial = 4,
/** Object detected, but camera is at too big angle */
CameraAtAngle = 5,
/** Object detected, but the camera is too near to it */
CameraTooNear = 6,
/** Document detected, but document is too close to the edge of the frame */
DocumentTooCloseToEdge = 7
}
/**
* Interface representing any displayable object.
*/
export interface Displayable {
/** Detection status of the displayable object. */
detectionStatus: DetectionStatus;
/**
* 3x3 transformation matrix from the image's coordinate system to view's coordinate system.
*/
transformMatrix: Float32Array;
}
/**
* Interface representing quadrilateral in image.
*/
export interface DisplayableQuad extends Displayable, Quadrilateral {
}
/**
* Interface representing list of points in image.
*/
export interface DisplayablePoints extends Displayable {
/** Array of points */
points: Point[];
}