You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
1.3 KiB
68 lines
1.3 KiB
/* |
|
KWin - the KDE window manager |
|
This file is part of the KDE project. |
|
|
|
SPDX-FileCopyrightText: 2015 Martin Gräßlin <mgraesslin@kde.org> |
|
|
|
SPDX-License-Identifier: GPL-2.0-or-later |
|
*/ |
|
#include "screen.h" |
|
#include "platformcursor.h" |
|
#include "screens.h" |
|
|
|
namespace KWin |
|
{ |
|
namespace QPA |
|
{ |
|
|
|
Screen::Screen(int screen) |
|
: QPlatformScreen() |
|
, m_screen(screen) |
|
, m_cursor(new PlatformCursor) |
|
{ |
|
} |
|
|
|
Screen::~Screen() = default; |
|
|
|
int Screen::depth() const |
|
{ |
|
return 32; |
|
} |
|
|
|
QImage::Format Screen::format() const |
|
{ |
|
return QImage::Format_ARGB32_Premultiplied; |
|
} |
|
|
|
QRect Screen::geometry() const |
|
{ |
|
return m_screen != -1 ? screens()->geometry(m_screen) : QRect(0, 0, 1, 1); |
|
} |
|
|
|
QSizeF Screen::physicalSize() const |
|
{ |
|
return m_screen != -1 ? screens()->physicalSize(m_screen) : QPlatformScreen::physicalSize(); |
|
} |
|
|
|
QPlatformCursor *Screen::cursor() const |
|
{ |
|
return m_cursor.data(); |
|
} |
|
|
|
QDpi Screen::logicalDpi() const |
|
{ |
|
static int forceDpi = qEnvironmentVariableIsSet("QT_WAYLAND_FORCE_DPI") ? qEnvironmentVariableIntValue("QT_WAYLAND_FORCE_DPI") : -1; |
|
if (forceDpi > 0) { |
|
return QDpi(forceDpi, forceDpi); |
|
} |
|
|
|
return QDpi(96, 96); |
|
} |
|
|
|
qreal Screen::devicePixelRatio() const |
|
{ |
|
return m_screen != -1 ? screens()->scale(m_screen) : 1.0; |
|
} |
|
|
|
} |
|
}
|
|
|