2020-05-02 22:25:35 +01:00
|
|
|
#include "overlay.h"
|
2021-11-22 04:14:15 +00:00
|
|
|
#include "log.h"
|
2020-05-02 22:25:35 +01:00
|
|
|
|
|
|
|
void OverlayText::render(QPainter *painter) {
|
|
|
|
QFont font = painter->font();
|
|
|
|
font.setPixelSize(this->fontSize);
|
|
|
|
painter->setFont(font);
|
|
|
|
painter->setPen(this->color);
|
|
|
|
painter->drawText(this->x, this->y, this->text);
|
|
|
|
}
|
|
|
|
|
|
|
|
void OverlayRect::render(QPainter *painter) {
|
|
|
|
if (this->filled) {
|
|
|
|
painter->fillRect(this->x, this->y, this->width, this->height, this->color);
|
|
|
|
} else {
|
|
|
|
painter->setPen(this->color);
|
|
|
|
painter->drawRect(this->x, this->y, this->width, this->height);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void OverlayImage::render(QPainter *painter) {
|
|
|
|
painter->drawImage(this->x, this->y, this->image);
|
|
|
|
}
|
|
|
|
|
|
|
|
void Overlay::clearItems() {
|
|
|
|
for (auto item : this->items) {
|
|
|
|
delete item;
|
|
|
|
}
|
|
|
|
this->items.clear();
|
|
|
|
}
|
|
|
|
|
|
|
|
QList<OverlayItem*> Overlay::getItems() {
|
|
|
|
return this->items;
|
|
|
|
}
|
|
|
|
|
|
|
|
void Overlay::addText(QString text, int x, int y, QString color, int fontSize) {
|
|
|
|
this->items.append(new OverlayText(text, x, y, QColor(color), fontSize));
|
|
|
|
}
|
|
|
|
|
|
|
|
void Overlay::addRect(int x, int y, int width, int height, QString color, bool filled) {
|
|
|
|
this->items.append(new OverlayRect(x, y, width, height, QColor(color), filled));
|
|
|
|
}
|
|
|
|
|
2021-11-22 04:14:15 +00:00
|
|
|
bool Overlay::addImage(int x, int y, QString filepath) {
|
|
|
|
QImage image = QImage(filepath);
|
|
|
|
if (image.isNull()) {
|
|
|
|
logError(QString("Failed to load image '%1'").arg(filepath));
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
this->items.append(new OverlayImage(x, y, image));
|
|
|
|
return true;
|
2020-05-02 22:25:35 +01:00
|
|
|
}
|