porymap/src/ui/movementpermissionsselector.cpp

39 lines
1.2 KiB
C++
Raw Normal View History

#include "movementpermissionsselector.h"
#include <QPainter>
2023-12-07 18:45:08 +00:00
const int MovementPermissionsSelector::CellWidth = 32;
const int MovementPermissionsSelector::CellHeight = 32;
void MovementPermissionsSelector::draw() {
2023-12-05 07:01:44 +00:00
this->setPixmap(this->basePixmap);
this->drawSelection();
}
2023-12-07 18:45:08 +00:00
void MovementPermissionsSelector::setBasePixmap(QPixmap pixmap) {
this->basePixmap = pixmap;
this->draw();
}
uint16_t MovementPermissionsSelector::getSelectedCollision() {
return static_cast<uint16_t>(this->selectionInitialX);
}
uint16_t MovementPermissionsSelector::getSelectedElevation() {
return static_cast<uint16_t>(this->selectionInitialY);
}
void MovementPermissionsSelector::select(uint16_t collision, uint16_t elevation) {
2023-12-07 18:45:08 +00:00
SelectablePixmapItem::select(collision, elevation, 0, 0);
}
void MovementPermissionsSelector::hoverMoveEvent(QGraphicsSceneHoverEvent *event) {
QPoint pos = this->getCellPos(event->pos());
uint16_t collision = static_cast<uint16_t>(pos.x());
uint16_t elevation = static_cast<uint16_t>(pos.y());
emit this->hoveredMovementPermissionChanged(collision, elevation);
}
void MovementPermissionsSelector::hoverLeaveEvent(QGraphicsSceneHoverEvent *) {
emit this->hoveredMovementPermissionCleared();
}