File indexing completed on 2023-12-03 07:53:50

0001 /*
0002     SPDX-FileCopyrightText: 2007 Paolo Capriotti <p.capriotti@gmail.com>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "kbsrenderer.h"
0008 #include "coord.h"
0009 // KDEGames
0010 #include <kdegames_version.h>
0011 #include <KgThemeProvider>
0012 #include <KGameRenderedItem>
0013 
0014 static KgThemeProvider *provider()
0015 {
0016     KgThemeProvider *prov = new KgThemeProvider;
0017 #if KDEGAMES_VERSION >= QT_VERSION_CHECK(7, 4, 0)
0018     prov->discoverThemes(QStringLiteral("pictures"));
0019 #else
0020     prov->discoverThemes("appdata", QStringLiteral("pictures"));
0021 #endif
0022     return prov;
0023 }
0024 
0025 KBSRenderer::KBSRenderer()
0026 : KGameRenderer(provider())
0027 {
0028 }
0029 
0030 KBSRenderer::~KBSRenderer()
0031 {
0032 }
0033 
0034 void KBSRenderer::resize(int sz)
0035 {
0036     resize(QSize(sz, sz));
0037 }
0038 
0039 void KBSRenderer::resize(const QSize& sz)
0040 {
0041     if (m_size != sz) {
0042         m_size = sz;
0043     }
0044 }
0045 
0046 QSize KBSRenderer::size() const
0047 {
0048     return m_size;
0049 }
0050 
0051 Coord KBSRenderer::toLogical(const QPointF& p) const
0052 {
0053     int x = static_cast<int>(p.x() / m_size.width());
0054     int y = static_cast<int>(p.y() / m_size.height());
0055 
0056     return Coord(x, y);
0057 }
0058 
0059 QPointF KBSRenderer::toReal(const Coord& c) const
0060 {
0061     return QPointF(c.x * m_size.width(), c.y * m_size.height());
0062 }