Improved datamatrix reader with new algorithm
[zxing.git] / core / src / com / google / zxing / Writer.java
1 /*
2  * Copyright 2008 ZXing authors
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 package com.google.zxing;
18
19 import com.google.zxing.common.BitMatrix;
20
21 import java.util.Hashtable;
22
23 /**
24  * The base class for all objects which encode/generate a barcode image.
25  *
26  * @author dswitkin@google.com (Daniel Switkin)
27  */
28 public interface Writer {
29
30   /**
31    * Encode a barcode using the default settings.
32    *
33    * @param contents The contents to encode in the barcode
34    * @param format The barcode format to generate
35    * @param width The preferred width in pixels
36    * @param height The preferred height in pixels
37    * @return The generated barcode as a Matrix of unsigned bytes (0 == black, 255 == white)
38    */
39   BitMatrix encode(String contents, BarcodeFormat format, int width, int height)
40       throws WriterException;
41
42   /**
43    *
44    * @param contents The contents to encode in the barcode
45    * @param format The barcode format to generate
46    * @param width The preferred width in pixels
47    * @param height The preferred height in pixels
48    * @param hints Additional parameters to supply to the encoder
49    * @return The generated barcode as a Matrix of unsigned bytes (0 == black, 255 == white)
50    */
51   BitMatrix encode(String contents, BarcodeFormat format, int width, int height, Hashtable hints)
52       throws WriterException;
53
54 }