File indexing completed on 2024-05-19 04:07:54

0001 /*
0002     SPDX-FileCopyrightText: 2015 Jakob Gruber <jakob.gruber@gmail.com>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "pixmapitem.h"
0008 
0009 #include "src/constants.h"
0010 
0011 PixmapItem::PixmapItem(Renderer::Resource resource, int x, int y, QGraphicsItem *parent) :
0012     QGraphicsPixmapItem(parent), ReloadableItem(x, y), m_resource(resource)
0013 {
0014     setEnabled(false);
0015     reload(QSize());
0016 }
0017 
0018 void PixmapItem::reload(const QSize &size) {
0019     Q_UNUSED(size);
0020     const int tilesize = Renderer::instance()->getTilesize();
0021     setPixmap(Renderer::instance()->getPixmap(m_resource));
0022     setPos(m_x * tilesize, m_y * tilesize);
0023 }
0024 
0025 BackgroundItem::BackgroundItem(Renderer::Resource resource, int x, int y, QGraphicsItem *parent) :
0026     PixmapItem(resource, x, y, parent)
0027 {
0028     connect(Settings::instance(), &Settings::settingChanged,
0029                      this, &BackgroundItem::settingChanged);
0030 }
0031 
0032 void BackgroundItem::settingChanged(Settings::SettingsType type) {
0033     switch (type) {
0034     case Settings::CustomBgEnabled:
0035     case Settings::CustomBgPath: reload(QSize()); break;
0036     default: break;
0037     }
0038 }
0039 
0040 StreakHBackgroundItem::StreakHBackgroundItem(Renderer::Resource resource, int y, QGraphicsItem *parent) :
0041     PixmapItem(resource, 0, y, parent)
0042 {
0043     setZValue(ZVALUE_STREAKFRAME);
0044 }
0045 
0046 void StreakHBackgroundItem::reload(const QSize &size) {
0047     Q_UNUSED(size);
0048     const int tilesize = Renderer::instance()->getTilesize();
0049     const int offset = Renderer::instance()->getXOffset();
0050 
0051     setPixmap(Renderer::instance()->getPixmap(m_resource));
0052     setPos(0 - offset, m_y * tilesize);
0053 }
0054 
0055 StreakVBackgroundItem::StreakVBackgroundItem(Renderer::Resource resource, int x, QGraphicsItem *parent) :
0056     PixmapItem(resource, x, 0, parent)
0057 {
0058     setZValue(ZVALUE_STREAKFRAME);
0059     setRotation(90);
0060 }
0061 
0062 void StreakVBackgroundItem::reload(const QSize &size) {
0063     Q_UNUSED(size);
0064     const int tilesize = Renderer::instance()->getTilesize();
0065     const int offset = Renderer::instance()->getYOffset();
0066 
0067     setPixmap(Renderer::instance()->getPixmap(m_resource));
0068     setPos((m_x + 1) * tilesize, 0 - offset);
0069 }
0070 
0071 #include "moc_pixmapitem.cpp"