custom-qrcode-browser
Version:
[](https://github.com/CyrilDesch/custom-qrcode-browser/actions/workflows/continuous-integrations.yaml) [![L
61 lines (60 loc) • 2.42 kB
TypeScript
import type { Neighbors } from "../../utils/Neighbors";
interface IQrPixelShape {
createSvgElement(x: number, y: number, size: number, neighbors: Neighbors): string;
}
declare abstract class BaseShape implements IQrPixelShape {
sizeRatio: number;
constructor(sizeRatio?: number);
abstract createSvgElement(x: number, y: number, size: number, neighbors: Neighbors): string;
}
declare class SquareShape extends BaseShape {
createSvgElement(x: number, y: number, size: number): string;
}
declare class CircleShape extends BaseShape {
createSvgElement(x: number, y: number, size: number): string;
}
declare class RoundCornersShape extends BaseShape {
cornerRadius: number;
constructor(sizeRatio?: number, cornerRadius?: number);
createSvgElement(x: number, y: number, size: number): string;
}
declare class RhombusShape extends BaseShape {
createSvgElement(x: number, y: number, size: number): string;
}
declare class StarShape extends BaseShape {
createSvgElement(x: number, y: number, size: number): string;
}
declare class RoundCornersVerticalShape extends BaseShape {
cornerRadius: number;
constructor(sizeRatio?: number, cornerRadius?: number);
createSvgElement(x: number, y: number, size: number): string;
}
declare class RoundCornersHorizontalShape extends BaseShape {
cornerRadius: number;
constructor(sizeRatio?: number, cornerRadius?: number);
createSvgElement(x: number, y: number, size: number): string;
}
declare class HexagonShape extends BaseShape {
createSvgElement(x: number, y: number, size: number): string;
}
declare class OctagonShape extends BaseShape {
createSvgElement(x: number, y: number, size: number): string;
}
declare class StickyCornersShape extends BaseShape {
cornerRadius: number;
constructor(sizeRatio?: number, cornerRadius?: number);
createSvgElement(x: number, y: number, size: number, neighbors: Neighbors): string;
}
export declare const QrPixelShape: {
Square: typeof SquareShape;
Circle: typeof CircleShape;
RoundCorners: typeof RoundCornersShape;
Rhombus: typeof RhombusShape;
Star: typeof StarShape;
RoundCornersVertical: typeof RoundCornersVerticalShape;
RoundCornersHorizontal: typeof RoundCornersHorizontalShape;
StickyCorners: typeof StickyCornersShape;
Hexagon: typeof HexagonShape;
Octagon: typeof OctagonShape;
};
export type { IQrPixelShape };