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"