package com.common.print.many.base;

import com.common.print.bean.PrintBean;
import com.common.print.bean.PrintContentBean;
import com.common.print.callback.PrintInitResultCallback;

import java.util.List;

/**
 * 打印基本接口
 */
public interface IPrinter {


    void initPrint(PrintInitResultCallback printInitResultCallback);

    /**
     * 打印文字
     * @param text
     * @param align
     * @param textSize
     * @param isBold
     */
    void printText(String text,int align,int textSize,boolean isBold);


    /**
     * 打印条形码
     * @param text
     */
    void printBarCode(String text,int width,int height);

    /**
     * 打印二维码
     */
    void printQrCode(String text,int width,int height);

    /**
     * 打印图片
     * @param base64
     */
    void printBitmap(String base64,int width,int height);

//------------------------------------------------MlaFCDD215 独有方法--------------------------------------------------------//
    /**
     * 将所有文字和图片转成一个Bitmap去打印
     * @param printContentList
     */
    void printTextBitmap(List<PrintContentBean> printContentList,PrintBean.PrintConfigDTO printConfigDTO);

    /**
     * MlaFCDD215 打印bitmap
     * @param printConfigDTO
     */
    void printBitmap(PrintBean.PrintConfigDTO printConfigDTO,String base64,int width,int height);


    /**
     * MlaFCDD215 打印PDF
     * @param printConfigDTO
     */
    void printPDF(PrintBean.PrintConfigDTO printConfigDTO,String localPath);

    //------------------------------------------------MlaFCDD215--------------------------------------------------------//
    /**
     * 走纸
     * 打印空行
     */
    void feed(int line);

    /**
     * 切纸
     */
    void cutPaper();

    /**
     * 打印机取消连接
     */
    void disconnect();

    /**
     * 开始打印
     */
    void startPrint();


}
