#ifndef BASEBOXPRINTER_H
#define BASEBOXPRINTER_H

#include <QObject>
#include "struct_/packinfo.h"
#include <QPainter>
#include "code39.h"
#include <QImage>
#include "struct_/modelinfo.h"

class BaseBoxPrinter
{
public:
    explicit BaseBoxPrinter();
    virtual ~BaseBoxPrinter();

    virtual QImage doPrinter(QSharedPointer<BoxInfo> box) = 0;
    virtual QImage doPrinter1(QSharedPointer<BoxInfo> box) = 0;
    virtual QImage doPrinter(QSharedPointer<BoxInfo> box,int ModelIndex) = 0;
    virtual QImage Boxmodel() = 0;
    virtual QSize printSize() = 0;
protected:
    Code39 code;
};


class BasePackinfoPrinter
{
public:
    explicit BasePackinfoPrinter();
    virtual ~BasePackinfoPrinter();

    virtual QImage doPrinter(QSharedPointer<PackInfo> box) = 0;
    virtual QImage doPrinter(QSharedPointer<PackInfo> box,int ModelIndex) = 0;
    virtual QImage Packmodel() = 0;
    virtual QSize printSize() = 0;

protected:
    Code39 code;
};

#endif // BASEBOXPRINTER_H
