19#include <KWayland/Client/compositor.h>
20#include <KWayland/Client/connection_thread.h>
21#include <KWayland/Client/output.h>
22#include <KWayland/Client/surface.h>
24#include <QDBusConnection>
27#include <sys/socket.h>
35static const QString s_socketName = QStringLiteral(
"wayland_test_kwin_fractionalScale-0");
48void TestFractionalScale::initTestCase()
50 qRegisterMetaType<KWin::Window *>();
51 qRegisterMetaType<KWayland::Client::Output *>();
57 .
geometry = QRect(0, 0, 1280 / 1.25, 1024 / 1.25),
61 .
geometry = QRect(1280, 0, 1280 / 2, 1024 / 2),
67 QVERIFY(applicationStartedSpy.wait());
70 QCOMPARE(outputs[0]->geometry(), QRect(0, 0, 1024, 819));
71 QCOMPARE(outputs[1]->geometry(), QRect(1280, 0, 640, 512));
72 QCOMPARE(outputs[0]->scale(), 1.25);
73 QCOMPARE(outputs[1]->scale(), 2.0);
76void TestFractionalScale::init()
85void TestFractionalScale::cleanup()
90void TestFractionalScale::testShow()
98 QCOMPARE(fractionalScale->preferredScale(), 1.25 * 120);
103 QCOMPARE(fractionalScale->preferredScale(), 1.25 * 120);
107#include "fractional_scaling_test.moc"
QList< Output * > outputs() const
void setActiveOutput(Output *output)
#define WAYLANDTEST_MAIN(TestObject)
Window * renderAndWaitForShown(KWayland::Client::Surface *surface, const QSize &size, const QColor &color, const QImage::Format &format=QImage::Format_ARGB32, int timeout=5000)
void destroyWaylandConnection()
void setOutputConfig(const QList< QRect > &geometries)
bool setupWaylandConnection(AdditionalWaylandInterfaces flags=AdditionalWaylandInterfaces())
QList< KWayland::Client::Output * > outputs
std::unique_ptr< KWayland::Client::Surface > createSurface()
XdgToplevel * createXdgToplevelSurface(KWayland::Client::Surface *surface, QObject *parent=nullptr)
FractionalScaleV1 * createFractionalScaleV1(KWayland::Client::Surface *surface)
WaylandServer * waylandServer()
InputRedirection * input()