bwip-js
Version:
JavaScript barcode generator supporting over 100 types and standards.
190 lines (168 loc) • 7.01 kB
TypeScript
// Type definitions for bwip-js __BWIPJS_VERS__
//
// THIS DEFINITION FILE IS MACHINE GENERATED - DO NOT EDIT
//
// Project: https://github.com/metafloor/bwip-js
//
// This definition file was based on:
//
// Definitions by: TANAKA Koichi <https://github.com/MugeSo>
// Guillaume VanderEst <https://github.com/gvanderest>
// Ryan Jentzsch <https://github.com/RyanNerd>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// platform-specific includes
declare namespace BwipJs {
export interface BwippOptions {
includecheck?: boolean | undefined;
includecheckintext?: boolean | undefined;
parse?: boolean | undefined;
parsefnc?: boolean | undefined;
height?: number | undefined;
width?: number | undefined;
inkspread?: number | undefined;
inkspreadh?: number | undefined;
inkspreadv?: number | undefined;
dotty?: boolean | undefined;
binarytext?: boolean | undefined; // really a bwip-js option but better positioned here
includetext?: boolean | undefined;
textfont?: string | undefined;
textsize?: number | undefined;
textgaps?: number | undefined;
alttext?: string | undefined;
textxalign?: 'offleft' | 'left' | 'center' | 'right' | 'offright' | 'justify' | undefined;
textyalign?: 'below' | 'center' | 'above' | undefined;
textxoffset?: number | undefined;
textyoffset?: number | undefined;
showborder?: boolean | undefined;
borderwidth?: number | undefined;
borderleft?: number | undefined;
borderright?: number | undefined;
bordertop?: number | undefined;
borderbottom?: number | undefined;
barcolor?: string | undefined;
backgroundcolor?: string | undefined;
bordercolor?: string | undefined;
textcolor?: string | undefined;
addontextxoffset?: number | undefined;
addontextyoffset?: number | undefined;
addontextfont?: string | undefined;
addontextsize?: number | undefined;
guardwhitespace?: boolean | undefined;
guardwidth?: number | undefined;
guardheight?: number | undefined;
guardleftpos?: number | undefined;
guardrightpos?: number | undefined;
guardleftypos?: number | undefined;
guardrightypos?: number | undefined;
}
export interface RenderOptions extends BwippOptions {
bcid: string;
text: string;
scaleX?: number | undefined;
scaleY?: number | undefined;
scale?: number | undefined;
rotate?: 'N' | 'R' | 'L' | 'I' | undefined;
paddingwidth?: number | undefined;
paddingheight?: number | undefined;
paddingleft?: number | undefined;
paddingright?: number | undefined;
paddingtop?: number | undefined;
paddingbottom?: number | undefined;
monochrome?: boolean | undefined;
sizelimit?: number | undefined;
}
export interface RawOptions extends BwippOptions {
bcid: string;
text: string;
}
export interface DrawingContext<T> {
setopts?(options: RenderOptions): void;
scale(sx: number, sy: number): [number, number] | null;
measure(
str: string,
font: string,
fwidth: number,
fheight: number,
): { width: number; ascent: number; descent: number };
init(width: number, height: number): void;
line(x0: number, y0: number, x1: number, y1: number, lw: number, rgb: string): void;
polygon(pts: Array<[number, number]>): void;
hexagon(pts: [[number, number], [number, number], [number, number], [number, number], [number, number]]): void;
ellipse(x: number, y: number, rx: number, ry: number, ccw: boolean): void;
fill(rgb: string): void;
text(
x: number,
y: number,
str: string,
rgb: string,
font: { name: string; width: number; height: number; dx: number },
): void;
end(): T;
}
export function render<T>(params: RenderOptions, drawing: DrawingContext<T>): T;
export function raw(
options: RawOptions,
):
| Array<{ bbs: number[]; bhs: number[]; sbs: number[] }>
| Array<{ pixs: number[]; pixx: number; pixy: number; height: number; width: number }>;
export function raw(
bcid: string,
text: string,
opts: string,
):
| Array<{ bbs: number[]; bhs: number[]; sbs: number[] }>
| Array<{ pixs: number[]; pixx: number; pixy: number; height: number; width: number }>;
export function raw(
bcid: string,
text: string,
opts?: BwippOptions,
):
| Array<{ bbs: number[]; bhs: number[]; sbs: number[] }>
| Array<{ pixs: number[]; pixx: number; pixy: number; height: number; width: number }>;
export const BWIPP_VERSION: string;
export const BWIPJS_VERSION: string;
// wrapper around FontLib.loadFont()
export function loadFont(name: string, data: string | Uint8Array): void;
export function loadFont(name: string, mult: number, data: string | Uint8Array): void;
export function loadFont(name: string, multy: number, multx: number, data: string | Uint8Array): void;
export namespace FontLib {
export interface PathData
extends Array<
| { type: 'M'; x: number; y: number }
| { type: 'L'; x: number; y: number }
| { type: 'Q'; x: number; y: number; cx: number; cy: number }
| { type: 'C'; x: number; y: number; cx1: number; cy1: number; cx2: number; cy2: number }
> {
ascent: number;
descent: number;
advance: number;
}
export function lookup(font: string): number;
export function monochrome(mono: boolean): void;
export function getglyph(
fontid: number,
charcode: number,
width: number,
height: number,
): {
glyph: number;
top: number;
left: number;
width: number;
height: number;
advance: number;
pixels: Uint8Array;
bytes: Uint8Array;
cachekey: string;
offset: number;
};
export function getpaths(fontid: number, charcode: number, width: number, height: number): PathData;
export function loadFont(name: string, data: string | Uint8Array): void;
export function loadFont(name: string, mult: number, data: string | Uint8Array): void;
export function loadFont(name: string, multy: number, multx: number, data: string | Uint8Array): void;
}
export function toSVG(opts: RenderOptions): string;
export function drawingSVG(): DrawingContext<string>;
// platform-specific exports
}
export = BwipJs