Changeset View
Changeset View
Standalone View
Standalone View
autotests/integration/scene_qpainter_test.cpp
Show First 20 Lines • Show All 217 Lines • ▼ Show 20 Line(s) | 203 | { | |||
---|---|---|---|---|---|
218 | // now let's set a cursor image | 218 | // now let's set a cursor image | ||
219 | QScopedPointer<Surface> cs(Test::createSurface()); | 219 | QScopedPointer<Surface> cs(Test::createSurface()); | ||
220 | QVERIFY(!cs.isNull()); | 220 | QVERIFY(!cs.isNull()); | ||
221 | Test::render(cs.data(), QSize(10, 10), Qt::red); | 221 | Test::render(cs.data(), QSize(10, 10), Qt::red); | ||
222 | p->setCursor(cs.data(), QPoint(5, 5)); | 222 | p->setCursor(cs.data(), QPoint(5, 5)); | ||
223 | 223 | | |||
224 | // now let's map the window | 224 | // now let's map the window | ||
225 | s->setScale(2); | 225 | s->setScale(2); | ||
226 | QVERIFY(Test::renderAndWaitForShown(s.data(), QSize(400, 600), Qt::blue)); | 226 | | ||
227 | //draw a blue square@400x600 with red rectangle@200x200 in the middle | ||||
228 | const QSize size(400,600); | ||||
229 | QImage img(size, QImage::Format_ARGB32); | ||||
230 | img.fill(Qt::blue); | ||||
231 | QPainter surfacePainter(&img); | ||||
232 | surfacePainter.fillRect(200,300,200,200, Qt::red); | ||||
233 | | ||||
234 | //add buffer | ||||
235 | Test::render(s.data(), img); | ||||
236 | Test::waitForWaylandWindowShown(); | ||||
227 | 237 | | |||
228 | // which should trigger a frame | 238 | // which should trigger a frame | ||
229 | if (frameRenderedSpy.isEmpty()) { | 239 | if (frameRenderedSpy.isEmpty()) { | ||
230 | QVERIFY(frameRenderedSpy.wait()); | 240 | QVERIFY(frameRenderedSpy.wait()); | ||
231 | } | 241 | } | ||
232 | QImage referenceImage(QSize(1280, 1024), QImage::Format_RGB32); | 242 | QImage referenceImage(QSize(1280, 1024), QImage::Format_RGB32); | ||
233 | referenceImage.fill(Qt::black); | 243 | referenceImage.fill(Qt::black); | ||
234 | QPainter painter(&referenceImage); | 244 | QPainter painter(&referenceImage); | ||
235 | painter.fillRect(0, 0, 200, 300, Qt::blue); | 245 | painter.fillRect(0, 0, 200, 300, Qt::blue); | ||
246 | painter.fillRect(100, 150, 100, 100, Qt::red); | ||||
236 | painter.fillRect(5, 5, 10, 10, Qt::red); //cursor | 247 | painter.fillRect(5, 5, 10, 10, Qt::red); //cursor | ||
237 | 248 | | |||
238 | QCOMPARE(referenceImage, *scene->backend()->buffer()); | 249 | QCOMPARE(referenceImage, *scene->backend()->buffer()); | ||
239 | } | 250 | } | ||
240 | 251 | | |||
241 | void SceneQPainterTest::testCompositorRestart_data() | 252 | void SceneQPainterTest::testCompositorRestart_data() | ||
242 | { | 253 | { | ||
243 | QTest::addColumn<Test::ShellSurfaceType>("type"); | 254 | QTest::addColumn<Test::ShellSurfaceType>("type"); | ||
▲ Show 20 Lines • Show All 139 Lines • Show Last 20 Lines |