2018-09-27 00:30:05 +01:00
|
|
|
#include "currentselectedmetatilespixmapitem.h"
|
|
|
|
#include "imageproviders.h"
|
|
|
|
#include <QPainter>
|
|
|
|
|
|
|
|
void CurrentSelectedMetatilesPixmapItem::draw() {
|
|
|
|
QList<uint16_t> *selectedMetatiles = metatileSelector->getSelectedMetatiles();
|
|
|
|
QPoint selectionDimensions = metatileSelector->getSelectionDimensions();
|
|
|
|
int width = selectionDimensions.x() * 16;
|
|
|
|
int height = selectionDimensions.y() * 16;
|
|
|
|
QImage image(width, height, QImage::Format_RGBA8888);
|
|
|
|
QPainter painter(&image);
|
|
|
|
|
|
|
|
for (int i = 0; i < selectionDimensions.x(); i++) {
|
|
|
|
for (int j = 0; j < selectionDimensions.y(); j++) {
|
|
|
|
int x = i * 16;
|
|
|
|
int y = j * 16;
|
|
|
|
int index = j * selectionDimensions.x() + i;
|
2020-07-02 02:19:08 +01:00
|
|
|
QImage metatile_image = getMetatileImage(
|
|
|
|
selectedMetatiles->at(index),
|
|
|
|
map->layout->tileset_primary,
|
|
|
|
map->layout->tileset_secondary,
|
2020-07-02 02:43:19 +01:00
|
|
|
map->metatileLayerOrder,
|
|
|
|
map->metatileLayerOpacity);
|
2018-09-27 00:30:05 +01:00
|
|
|
QPoint metatile_origin = QPoint(x, y);
|
|
|
|
painter.drawImage(metatile_origin, metatile_image);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
painter.end();
|
|
|
|
setPixmap(QPixmap::fromImage(image));
|
|
|
|
}
|