1package barcode
2
3import "image"
4
5const (
6	TypeAztec           = "Aztec"
7	TypeCodabar         = "Codabar"
8	TypeCode128         = "Code 128"
9	TypeCode39          = "Code 39"
10	TypeCode93          = "Code 93"
11	TypeDataMatrix      = "DataMatrix"
12	TypeEAN8            = "EAN 8"
13	TypeEAN13           = "EAN 13"
14	TypePDF             = "PDF417"
15	TypeQR              = "QR Code"
16	Type2of5            = "2 of 5"
17	Type2of5Interleaved = "2 of 5 (interleaved)"
18)
19
20// Contains some meta information about a barcode
21type Metadata struct {
22	// the name of the barcode kind
23	CodeKind string
24	// contains 1 for 1D barcodes or 2 for 2D barcodes
25	Dimensions byte
26}
27
28// a rendered and encoded barcode
29type Barcode interface {
30	image.Image
31	// returns some meta information about the barcode
32	Metadata() Metadata
33	// the data that was encoded in this barcode
34	Content() string
35}
36
37// Additional interface that some barcodes might implement to provide
38// the value of its checksum.
39type BarcodeIntCS interface {
40	Barcode
41	CheckSum() int
42}
43