/*
Copyright (C) 2013 Arnaud Champenois arthelion92@gmail.com
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef IMAGETEMPLATE_H
#define IMAGETEMPLATE_H
#include <QImage>
#include <QString>
#include <QRect>
#include <QMetaType>
class LogoTemplate
{
public:
LogoTemplate(QImage image,QString name,QRect pos,bool isNotLogo,
int marginBefore, int marginAfter);
LogoTemplate(QString fileName);
LogoTemplate();
QString getName() const { return name; }
QImage getImage() const { return image; }
QRect getRect() const { return pos; }
bool isValid() const { return !image.isNull(); }
bool isNotLogo() const { return notLogo; }
void remove();
int getRank() const { return rank; }
static QList<LogoTemplate> readTemplates();
static void updateTemplates(QList<LogoTemplate>);
static void write(LogoTemplate tmpl);
bool operator<(const LogoTemplate &b) const {
return rank<b.rank;
}
int getMarginBefore() const
{
return marginBefore;
}
int getMarginAfter() const
{
return marginAfter;
}
protected:
void read(QString fileName);
void save(QString fileName);
void saveIni();
private:
QImage image;
QString name;
QRect pos;
QString fileName;
int rank;
bool notLogo;
int marginBefore;
int marginAfter;
};
Q_DECLARE_METATYPE(LogoTemplate)
#endif // IMAGETEMPLATE_H