UNPKG

red-agate-barcode

Version:

red-agate barcode tag library.

71 lines (70 loc) 2.77 kB
import { SvgCanvas } from 'red-agate-svg-canvas/modules/drawing/canvas/SvgCanvas'; import { ShapeProps, Shape, ImagingShapeBasePropsMixin } from 'red-agate/modules/red-agate/tags/Shape'; import { BitStreamWriter } from 'red-agate-util/modules/io/BitStream'; import { Bitmap } from 'red-agate-util/modules/imaging/Bitmap'; import { QrSourceDataTypes, QrDataChunkType } from "./Qr.defs"; export interface QrProps extends ShapeProps, ImagingShapeBasePropsMixin { data?: Array<Uint8Array | string | number> | Uint8Array | string; version?: number | "auto"; ecLevel?: "L" | "M" | "Q" | "H"; encoding?: "number" | "alnum" | "8bit" | "auto"; cellSize?: number; unit?: string; asDataUrl?: boolean; asImgTag?: boolean; } export interface QrPropsNoUndefined extends ShapeProps, ImagingShapeBasePropsMixin { data?: Array<Uint8Array | string | number> | Uint8Array | string; version: number | "auto"; ecLevel: "L" | "M" | "Q" | "H"; encoding: "number" | "alnum" | "8bit" | "auto"; cellSize: number; unit?: string; asDataUrl?: boolean; asImgTag?: boolean; } export declare const qrPropsDefault: QrPropsNoUndefined; export declare class Qr extends Shape<QrProps> { constructor(props: QrProps); toImgTag(): string; toElementStyle(): string; toDataUrl(): string; toSvg(): string; toRendered(): string; render(contexts: Map<string, any>, children: string): string; protected evaluteMask(bitmap: Bitmap): number; protected encodeNumberData(data: string): { data: BitStreamWriter; charLength: number; } | null; protected encodeAlnumData(data: string): { data: BitStreamWriter; charLength: number; } | null; protected encode8bitData(data: string): { data: BitStreamWriter; charLength: number; }; protected encodeChunks(data: QrSourceDataTypes[] | QrSourceDataTypes): Array<{ type: QrDataChunkType; data: BitStreamWriter; charLength: number; }>; protected determineSymbolVersion(chunks: Array<{ type: QrDataChunkType; data: BitStreamWriter; }>): { version: number; segments: number[][]; dataLength: number; maxDataLength: number; }; protected encodeData(data: QrSourceDataTypes[] | QrSourceDataTypes): { version: number; data: Uint8Array; ecLevel: "L" | "M" | "Q" | "H"; }; protected applyMask(bitmap: Bitmap, funcPatternsMap: Bitmap, fn: (x: number, y: number) => boolean): void; protected buildBitmap(data: Uint8Array, version: number): Bitmap; protected drawBitmap(canvas: SvgCanvas, bitmap: Bitmap): void; }