void KisZoomAndPanTest::initializeViewport(ZoomAndPanTester &t, bool fullscreenMode, bool rotate, bool mirror) { QCOMPARE(t.image()->size(), QSize(640,441)); QCOMPARE(t.image()->xRes(), 1.0); QCOMPARE(t.image()->yRes(), 1.0); t.canvasController()->resize(QSize(500,500)); t.zoomController()->setZoom(KoZoomMode::ZOOM_CONSTANT, 1.0); t.canvasController()->setPreferredCenter(QPoint(320,220)); QCOMPARE(t.canvasWidget()->size(), QSize(483,483)); QCOMPARE(t.canvasWidget()->size(), t.canvasController()->viewportSize()); QVERIFY(verifyOffset(t, QPoint(79,-21))); if (fullscreenMode) { QCOMPARE(t.canvasController()->preferredCenter(), QPointF(320,220)); QAction *action = t.view()->actionCollection()->action("view_show_just_the_canvas"); action->setChecked(true); QVERIFY(verifyOffset(t, QPoint(79,-21))); QCOMPARE(t.canvasController()->preferredCenter(), QPointF(329,220)); t.canvasController()->resize(QSize(483,483)); QCOMPARE(t.canvasWidget()->size(), QSize(483,483)); QCOMPARE(t.canvasWidget()->size(), t.canvasController()->viewportSize()); QVERIFY(verifyOffset(t, QPoint(79,-21))); /** * FIXME: here is a small flaw in KoCanvasControllerWidget * We cannot set the center point explicitly, because it'll be rounded * up by recenterPreferred function, so real center point will be * different. Make the preferredCenter() return real center of the * image instead of the set value */ QCOMPARE(t.canvasController()->preferredCenter(), QPointF(320.5,220)); } if (rotate) { t.canvasController()->rotateCanvas(90); QVERIFY(verifyOffset(t, QPoint(-21,79))); QVERIFY(compareWithRounding(QPointF(220,320), t.canvasController()->preferredCenter(), 2)); QCOMPARE(t.coordinatesConverter()->imageRectInWidgetPixels().topLeft().toPoint(), -t.coordinatesConverter()->documentOffset()); } if (mirror) { t.canvasController()->mirrorCanvas(true); QVERIFY(verifyOffset(t, QPoint(78, -21))); QVERIFY(compareWithRounding(QPointF(320,220), t.canvasController()->preferredCenter(), 2)); QCOMPARE(t.coordinatesConverter()->imageRectInWidgetPixels().topLeft().toPoint(), -t.coordinatesConverter()->documentOffset()); } }
/* * ======== _ACPY3_init ======== * Initialize the ACPY3 module */ static void _ACPY3_init(Void) { GT_0trace(CURTRACE, GT_ENTER, "_ACPY3_init > Enter\n"); if (refCount == 0) { #ifndef _ACPY3_CPUCOPY_ _ACPY3_qdmaInit(); #endif initQdmaSettings(); #ifndef _ACPY3_CPUCOPY_ _ACPY3_lock = LockMP_create(_ACPY3_SEMKEY); GT_assert(CURTRACE, _ACPY3_lock != NULL); #endif } /* count references even if no allocation is done */ /* so that memory free is done only when last node requires ACPY3 */ refCount++; GT_assert(CURTRACE, verifyOffset(ACPY3_PARAMFIELD_ELEMENTSIZE, ACPY3_PaRamRegs, acnt)); GT_assert(CURTRACE, verifyOffset(ACPY3_PARAMFIELD_NUMELEMENTS, ACPY3_PaRamRegs, bcnt)); GT_assert(CURTRACE, verifyOffset(ACPY3_PARAMFIELD_ELEMENTINDEX_SRC, ACPY3_PaRamRegs, srcElementIndex)); GT_assert(CURTRACE, verifyOffset(ACPY3_PARAMFIELD_ELEMENTINDEX_DST, ACPY3_PaRamRegs, dstElementIndex)); GT_assert(CURTRACE, verifyOffset(ACPY3_PARAMFIELD_FRAMEINDEX_SRC, ACPY3_PaRamRegs, srcFrameIndex)); GT_assert(CURTRACE, verifyOffset(ACPY3_PARAMFIELD_FRAMEINDEX_DST, ACPY3_PaRamRegs, dstFrameIndex)); GT_assert(CURTRACE, verifyOffset(ACPY3_PARAMFIELD_NUMFRAMES, ACPY3_PaRamRegs, ccnt)); GT_assert(CURTRACE, verifyOffset(ACPY3_PARAMFIELD_SRCADDR, ACPY3_PaRamRegs, src)); GT_assert(CURTRACE, verifyOffset(ACPY3_PARAMFIELD_DSTADDR, ACPY3_PaRamRegs, dst)); GT_0trace(CURTRACE, GT_ENTER, "_ACPY3_init > Exit\n"); }
void KisZoomAndPanTest::testZoom100ChangingWidgetSize() { ZoomAndPanTester t; QCOMPARE(t.image()->size(), QSize(640,441)); QCOMPARE(t.image()->xRes(), 1.0); QCOMPARE(t.image()->yRes(), 1.0); t.canvasController()->resize(QSize(1000,1000)); t.zoomController()->setZoom(KoZoomMode::ZOOM_CONSTANT, 1.0); t.canvasController()->setPreferredCenter(QPoint(320,220)); QCOMPARE(t.canvasWidget()->size(), QSize(983,983)); QCOMPARE(t.canvasWidget()->size(), t.canvasController()->viewportSize()); QVERIFY(verifyOffset(t, QPoint(-171,-271))); t.canvasController()->resize(QSize(700,700)); QCOMPARE(t.canvasWidget()->size(), QSize(683,683)); QCOMPARE(t.canvasWidget()->size(), t.canvasController()->viewportSize()); QVERIFY(verifyOffset(t, QPoint(-171,-271))); t.canvasController()->setPreferredCenter(QPoint(320,220)); QVERIFY(verifyOffset(t, QPoint(-21,-121))); t.canvasController()->resize(QSize(400,400)); QCOMPARE(t.canvasWidget()->size(), QSize(383,383)); QCOMPARE(t.canvasWidget()->size(), t.canvasController()->viewportSize()); QVERIFY(verifyOffset(t, QPoint(-21,-121))); t.canvasController()->setPreferredCenter(QPoint(320,220)); QVERIFY(verifyOffset(t, QPoint(129,29))); t.canvasController()->pan(QPoint(100,100)); QVERIFY(verifyOffset(t, QPoint(229,129))); }
/* * ======== _ACPY3_init ======== * Initialize the ACPY3 module */ static void _ACPY3_init(Void) { if (refCount == 0) { GT_0trace(ti_sdo_fc_acpy3_GTMask, GT_ENTER, "_ACPY3_init > Enter\n"); #ifndef _ACPY3_CPUCOPY_ _ACPY3_qdmaInit(); #endif initQdmaSettings(); } else { GT_0trace(ti_sdo_fc_acpy3_GTMask, GT_ENTER, "_ACPY3_init > Enter\n"); } /* count references even if no allocation is done */ /* so that memory free is done only when last node requires ACPY3 */ refCount++; DBC_ensure(verifyOffset(ACPY3_PARAMFIELD_ELEMENTSIZE, ACPY3_PaRamRegs, acnt)); DBC_ensure(verifyOffset(ACPY3_PARAMFIELD_NUMELEMENTS, ACPY3_PaRamRegs, bcnt)); DBC_ensure(verifyOffset(ACPY3_PARAMFIELD_ELEMENTINDEX_SRC, ACPY3_PaRamRegs, srcElementIndex)); DBC_ensure(verifyOffset(ACPY3_PARAMFIELD_ELEMENTINDEX_DST, ACPY3_PaRamRegs, dstElementIndex)); DBC_ensure(verifyOffset(ACPY3_PARAMFIELD_FRAMEINDEX_SRC, ACPY3_PaRamRegs, srcFrameIndex)); DBC_ensure(verifyOffset(ACPY3_PARAMFIELD_FRAMEINDEX_DST, ACPY3_PaRamRegs, dstFrameIndex)); DBC_ensure(verifyOffset(ACPY3_PARAMFIELD_NUMFRAMES, ACPY3_PaRamRegs, ccnt)); DBC_ensure(verifyOffset(ACPY3_PARAMFIELD_SRCADDR, ACPY3_PaRamRegs, src)); DBC_ensure(verifyOffset(ACPY3_PARAMFIELD_DSTADDR, ACPY3_PaRamRegs, dst)); DBC_ensure(verifyOffset(ACPY3_PARAMFIELD_ELEMENTSIZE, ACPY3_PaRamRegs, acnt)); GT_assert(ti_sdo_fc_acpy3_GTMask, verifyOffset(ACPY3_PARAMFIELD_NUMELEMENTS, ACPY3_PaRamRegs, bcnt)); GT_assert(ti_sdo_fc_acpy3_GTMask, verifyOffset( ACPY3_PARAMFIELD_ELEMENTINDEX_SRC, ACPY3_PaRamRegs, srcElementIndex)); GT_assert(ti_sdo_fc_acpy3_GTMask, verifyOffset( ACPY3_PARAMFIELD_ELEMENTINDEX_DST, ACPY3_PaRamRegs, dstElementIndex)); GT_assert(ti_sdo_fc_acpy3_GTMask, verifyOffset( ACPY3_PARAMFIELD_FRAMEINDEX_SRC, ACPY3_PaRamRegs, srcFrameIndex)); GT_assert(ti_sdo_fc_acpy3_GTMask, verifyOffset( ACPY3_PARAMFIELD_FRAMEINDEX_DST, ACPY3_PaRamRegs, dstFrameIndex)); GT_assert(ti_sdo_fc_acpy3_GTMask, verifyOffset(ACPY3_PARAMFIELD_NUMFRAMES, ACPY3_PaRamRegs, ccnt)); GT_assert(ti_sdo_fc_acpy3_GTMask, verifyOffset(ACPY3_PARAMFIELD_SRCADDR, ACPY3_PaRamRegs, src)); GT_assert(ti_sdo_fc_acpy3_GTMask, verifyOffset(ACPY3_PARAMFIELD_DSTADDR, ACPY3_PaRamRegs, dst)); GT_0trace(ti_sdo_fc_acpy3_GTMask, GT_ENTER, "_ACPY3_init > Exit\n"); }