2013-01-18 12:14:03 -08:00
using System.Collections.Generic ;
2010-02-05 11:52:53 -08:00
/ *
2013-01-18 12:14:03 -08:00
* Copyright 2008 ZXing authors
*
* Licensed under the Apache License , Version 2.0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
* You may obtain a copy of the License at
*
* http : //www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing , software
* distributed under the License is distributed on an "AS IS" BASIS ,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND , either express or implied .
* See the License for the specific language governing permissions and
* limitations under the License .
* /
2010-02-05 11:52:53 -08:00
namespace com.google.zxing
{
2013-01-18 12:14:03 -08:00
using BitMatrix = com . google . zxing . common . BitMatrix ;
using CodaBarWriter = com . google . zxing . oned . CodaBarWriter ;
using Code128Writer = com . google . zxing . oned . Code128Writer ;
using Code39Writer = com . google . zxing . oned . Code39Writer ;
using EAN13Writer = com . google . zxing . oned . EAN13Writer ;
using EAN8Writer = com . google . zxing . oned . EAN8Writer ;
using ITFWriter = com . google . zxing . oned . ITFWriter ;
using UPCAWriter = com . google . zxing . oned . UPCAWriter ;
using PDF417Writer = com . google . zxing . pdf417 . encoder . PDF417Writer ;
using QRCodeWriter = com . google . zxing . qrcode . QRCodeWriter ;
/// <summary>
/// This is a factory class which finds the appropriate Writer subclass for the BarcodeFormat
2010-02-05 11:52:53 -08:00
/// requested and encodes the barcode with the supplied contents.
///
2013-01-18 12:14:03 -08:00
/// @author dswitkin@google.com (Daniel Switkin)
2010-02-05 11:52:53 -08:00
/// </summary>
public sealed class MultiFormatWriter : Writer
{
2013-01-18 12:14:03 -08:00
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
//ORIGINAL LINE: public com.google.zxing.common.BitMatrix encode(String contents, BarcodeFormat format, int width, int height) throws WriterException
public BitMatrix encode ( string contents , BarcodeFormat format , int width , int height )
{
return encode ( contents , format , width , height , null ) ;
}
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
//ORIGINAL LINE: public com.google.zxing.common.BitMatrix encode(String contents, BarcodeFormat format, int width, int height, java.util.Map<EncodeHintType,?> hints) throws WriterException
public BitMatrix encode ( string contents , BarcodeFormat format , int width , int height , IDictionary < EncodeHintType , object > hints )
{
Writer writer ;
switch ( format )
2010-02-05 11:52:53 -08:00
{
2013-01-18 12:14:03 -08:00
case com . google . zxing . BarcodeFormat . EAN_8 :
writer = new EAN8Writer ( ) ;
break ;
case com . google . zxing . BarcodeFormat . EAN_13 :
writer = new EAN13Writer ( ) ;
break ;
case com . google . zxing . BarcodeFormat . UPC_A :
writer = new UPCAWriter ( ) ;
break ;
case com . google . zxing . BarcodeFormat . QR_CODE :
writer = new QRCodeWriter ( ) ;
break ;
case com . google . zxing . BarcodeFormat . CODE_39 :
writer = new Code39Writer ( ) ;
break ;
case com . google . zxing . BarcodeFormat . CODE_128 :
writer = new Code128Writer ( ) ;
break ;
case com . google . zxing . BarcodeFormat . ITF :
writer = new ITFWriter ( ) ;
break ;
case com . google . zxing . BarcodeFormat . PDF_417 :
writer = new PDF417Writer ( ) ;
break ;
case com . google . zxing . BarcodeFormat . CODABAR :
writer = new CodaBarWriter ( ) ;
break ;
default :
throw new System . ArgumentException ( "No encoder available for format " + format ) ;
2010-02-05 11:52:53 -08:00
}
2013-01-18 12:14:03 -08:00
return writer . encode ( contents , format , width , height , hints ) ;
}
2010-02-05 11:52:53 -08:00
}
2013-01-18 12:14:03 -08:00
2010-02-05 11:52:53 -08:00
}