2015-08-14 14:52:40 +00:00
|
|
|
/********************************************************************
|
|
|
|
KWin - the KDE window manager
|
|
|
|
This file is part of the KDE project.
|
|
|
|
|
2020-08-02 22:10:35 +00:00
|
|
|
SPDX-FileCopyrightText: 2015 Martin Gräßlin <mgraesslin@kde.org>
|
2015-08-14 14:52:40 +00:00
|
|
|
|
2020-08-02 22:10:35 +00:00
|
|
|
SPDX-License-Identifier: GPL-2.0-or-later
|
2015-08-14 14:52:40 +00:00
|
|
|
*********************************************************************/
|
|
|
|
#include "screen.h"
|
2016-02-17 11:42:12 +00:00
|
|
|
#include "platformcursor.h"
|
2017-10-17 17:13:50 +00:00
|
|
|
#include "screens.h"
|
2015-08-14 14:52:40 +00:00
|
|
|
|
|
|
|
namespace KWin
|
|
|
|
{
|
|
|
|
namespace QPA
|
|
|
|
{
|
|
|
|
|
2017-10-17 17:13:50 +00:00
|
|
|
Screen::Screen(int screen)
|
2015-08-14 14:52:40 +00:00
|
|
|
: QPlatformScreen()
|
2017-10-17 17:13:50 +00:00
|
|
|
, m_screen(screen)
|
2016-02-17 11:42:12 +00:00
|
|
|
, m_cursor(new PlatformCursor)
|
2015-08-14 14:52:40 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
Screen::~Screen() = default;
|
|
|
|
|
|
|
|
int Screen::depth() const
|
|
|
|
{
|
|
|
|
return 32;
|
|
|
|
}
|
|
|
|
|
|
|
|
QImage::Format Screen::format() const
|
|
|
|
{
|
|
|
|
return QImage::Format_ARGB32_Premultiplied;
|
|
|
|
}
|
|
|
|
|
|
|
|
QRect Screen::geometry() const
|
|
|
|
{
|
2017-10-17 17:13:50 +00:00
|
|
|
return m_screen != -1 ? screens()->geometry(m_screen) : QRect(0, 0, 1, 1);
|
2015-08-14 14:52:40 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
QSizeF Screen::physicalSize() const
|
|
|
|
{
|
2017-10-17 17:13:50 +00:00
|
|
|
return m_screen != -1 ? screens()->physicalSize(m_screen) : QPlatformScreen::physicalSize();
|
2015-08-14 14:52:40 +00:00
|
|
|
}
|
|
|
|
|
2016-02-17 11:42:12 +00:00
|
|
|
QPlatformCursor *Screen::cursor() const
|
|
|
|
{
|
|
|
|
return m_cursor.data();
|
|
|
|
}
|
|
|
|
|
2016-05-13 08:21:19 +00:00
|
|
|
QDpi Screen::logicalDpi() const
|
|
|
|
{
|
2019-07-02 17:47:40 +00:00
|
|
|
static int forceDpi = qEnvironmentVariableIsSet("QT_WAYLAND_FORCE_DPI") ? qEnvironmentVariableIntValue("QT_WAYLAND_FORCE_DPI") : -1;
|
|
|
|
if (forceDpi > 0) {
|
|
|
|
return QDpi(forceDpi, forceDpi);
|
2016-05-13 08:21:19 +00:00
|
|
|
}
|
|
|
|
|
2019-07-02 17:47:40 +00:00
|
|
|
return QDpi(96, 96);
|
2016-05-13 08:21:19 +00:00
|
|
|
}
|
|
|
|
|
2017-03-25 12:16:46 +00:00
|
|
|
qreal Screen::devicePixelRatio() const
|
|
|
|
{
|
2017-10-17 17:13:50 +00:00
|
|
|
return m_screen != -1 ? screens()->scale(m_screen) : 1.0;
|
2017-03-25 12:16:46 +00:00
|
|
|
}
|
|
|
|
|
2015-08-14 14:52:40 +00:00
|
|
|
}
|
|
|
|
}
|