Barcode AR Responsive Annotation

Defined under the namespace Scandit.Datacapture.Barcode.Ar.Ui

BarcodeArResponsiveAnnotation
class BarcodeArResponsiveAnnotation : ScanditHTMLElement, BarcodeArAnnotation

Added in version 7.5.0

Responsive annotations dynamically switch between two different info annotation variations based on the barcode’s size relative to the screen. This allows for different display styles when barcodes appear close-up versus far away in the camera view.

The annotation uses a configurable threshold to determine when to switch between the close-up and far-away variations. When the barcode area as a percentage of the screen area exceeds the threshold, the far-away annotation is displayed. Otherwise, the close-up annotation is shown.

Both the close-up and far-away annotations are BarcodeArInfoAnnotation instances, but either can be set to null to display nothing for that variation.

create(barcode, closeUp, farAway)
static create(barcode: Barcode,
        closeUp: BarcodeArInfoAnnotation | null,
        farAway: BarcodeArInfoAnnotation | null): BarcodeArResponsiveAnnotation

Added in version 7.5.0

Constructs a new responsive annotation with the given barcode and annotation variations.

updatePosition(point, transformOrigin, rotationAngle)
updatePosition(point: Point,
        transformOrigin: Point,
        rotationAngle: number): void

Added in version 7.5.0

Update the position of the element with the given point, transform origin based on the anchor if any. RotationAngle is the angle of the barcode.

Example of updating the position of the annotation:

updatePosition(point, transformOrigin, rotationAngle) {
  this.style.transform = `translate3d(calc(${Math.round(point.x)}px + ${transformOrigin.x}%), calc(${Math.round(
    point.y
  )}px + ${transformOrigin.y}%), 0px) rotate(${rotationAngle}deg)`;
}
threshold
static threshold: number

Added in version 7.5.0

The threshold (percentage of the barcode area vs screen area) that determines when to display close-up vs far-away annotations.

The value should be between 0.0 and 1.0, where 0.1 represents 10% of the screen area. The default value is 0.05.

Note

The threshold is a class-level property that applies to all instances of BarcodeArResponsiveAnnotation.

barcode
get barcode(): Barcode

Added in version 7.5.0

The barcode instance for the annotation.

annotationTrigger
annotationTrigger: BarcodeArAnnotationTrigger

Added in version 7.5.0

The trigger that causes the annotation to be presented. By default is BarcodeArAnnotationTrigger.HighlightTapAndBarcodeScan.