void LoginWidget::on_toolButtonApplyForRegistration_clicked(){ if(!checkServerAddress()){ return; } QDialog dlg(this); QVBoxLayout vbl(&dlg); ApplyForRegistrationWidget rw(&dlg); connect(this, SIGNAL(signalRegistrationServerInfoReceived(quint8, bool, const QString &, quint8, const QString &, bool)), &rw, SLOT(slotProcessRegistrationServerInfo(quint8, bool, const QString &, quint8, const QString &, bool))/*, Qt::QueuedConnection*/); connect(this, SIGNAL(signalRegistrationResultReceived(quint8, quint32, const QString&)), &rw, SLOT(slotProcessRegistrationResult(quint8, quint32, const QString&))/*, Qt::QueuedConnection*/); //connect(&rw, SIGNAL(requestRegistrationServerInfo()), this, SIGNAL(requestRegistrationServerInfo())/*, Qt::QueuedConnection*/); connect(&rw, SIGNAL(registration()), this, SIGNAL(registration())); connect(&rw, SIGNAL(canceled()), &dlg, SLOT(accept())); vbl.addWidget(&rw); dlg.setLayout(&vbl); dlg.updateGeometry(); dlg.setWindowTitle(tr("Registration")); emit requestRegistrationServerInfo(); //QTimer::singleShot(5000, &rw, SLOT(requestRegistrationServerInfoTimeout())); dlg.exec(); }
/* For new layout only After rsync we have 2 config on destination node: valid, in /etc/ and invalid (rsynced), in private area. Rewrote config in private by valid config content, remove config from etc and 'register' VE. */ int VEObj::veRegister() { int rc; char tmpfile[PATH_MAX + 1]; struct stat st; tmpfile[0] = 0; if (stat(confRealPath().c_str(), &st) == 0) { /* to save origin config (https://jira.sw.ru/browse/PSBM-10260) */ snprintf(tmpfile, sizeof(tmpfile), "%s.XXXXXX", confRealPath().c_str()); mktemp(tmpfile); if (rename(confRealPath().c_str(), tmpfile)) return putErr(MIG_ERR_SYSTEM, "rename(%s, %s) : %m", confRealPath().c_str(), tmpfile); } /* rewrite private config */ if ((rc = move_file(confRealPath().c_str(), confPath().c_str()))) { if (tmpfile[0]) rename(tmpfile, confRealPath().c_str()); return rc; } if (tmpfile[0]) unlink(tmpfile); /* vzctl register for new layout VE */ return registration(); }
TEST_F(APZHitTestingTester, Bug1148350) { CreateBug1148350LayerTree(); ScopedLayerTreeRegistration registration(manager, 0, root, mcc); manager->UpdateHitTestingTree(nullptr, root, false, 0, 0); MockFunction<void(std::string checkPointName)> check; { InSequence s; EXPECT_CALL(*mcc, HandleTap(TapType::eSingleTap, LayoutDevicePoint(100, 100), 0, ApzcOf(layers[1])->GetGuid(), _)).Times(1); EXPECT_CALL(check, Call("Tapped without transform")); EXPECT_CALL(*mcc, HandleTap(TapType::eSingleTap, LayoutDevicePoint(100, 100), 0, ApzcOf(layers[1])->GetGuid(), _)).Times(1); EXPECT_CALL(check, Call("Tapped with interleaved transform")); } Tap(manager, ScreenIntPoint(100, 100), TimeDuration::FromMilliseconds(100)); mcc->RunThroughDelayedTasks(); check.Call("Tapped without transform"); uint64_t blockId; TouchDown(manager, ScreenIntPoint(100, 100), mcc->Time(), &blockId); if (gfxPrefs::TouchActionEnabled()) { SetDefaultAllowedTouchBehavior(manager, blockId); } mcc->AdvanceByMillis(100); layers[0]->SetVisibleRegion(LayerIntRegion(LayerIntRect(0,50,200,150))); layers[0]->SetBaseTransform(Matrix4x4::Translation(0, 50, 0)); manager->UpdateHitTestingTree(nullptr, root, false, 0, 0); TouchUp(manager, ScreenIntPoint(100, 100), mcc->Time()); mcc->RunThroughDelayedTasks(); check.Call("Tapped with interleaved transform"); }
Eigen::Matrix4f CloudMapper::GetTransformForTwoCloudsPointToPoint(CloudMapper::Cloud::Ptr &source, CloudMapper::Cloud::Ptr &target, ICPParams params) { pcl::Registration<CloudMapper::PointType, CloudMapper::PointType>::Ptr registration(new pcl::IterativeClosestPoint<CloudMapper::PointType, CloudMapper::PointType>); typedef pcl::registration::CorrespondenceRejectorSampleConsensus<CloudMapper::PointType> Rejector; Rejector::Ptr rejector(new Rejector); rejector->setInlierThreshold(params.RansacRejectionThreshold); rejector->setMaximumIterations(params.MaxRANSACIterations); rejector->setInputSource(source); rejector->setInputTarget(target); registration->setInputSource(source); registration->setInputTarget(target); registration->setMaxCorrespondenceDistance(params.MaxCorrespondenceDistance); registration->setRANSACOutlierRejectionThreshold(params.RansacRejectionThreshold); registration->setTransformationEpsilon(params.TransformationEpsilon); registration->setMaximumIterations(params.MaxICPIterations); registration->setRANSACIterations(params.MaxRANSACIterations); registration->addCorrespondenceRejector(rejector); CloudMapper::Cloud::Ptr c(new CloudMapper::Cloud); registration->align(*c); std::cout << "Fitness Score " << registration->getFitnessScore() << std::endl; return registration->getFinalTransformation(); }
void SoundSourceProviderRegistry::registerProviderForFileExtension( const QString& fileExtension, const SoundSourceProviderPointer& pProvider, SoundSourceProviderPriority providerPriority) { SoundSourceProviderRegistration registration(pProvider, providerPriority); addRegistrationForFileExtension(fileExtension, std::move(registration)); }
void t_phone_user::handle_broken_connection(void) { log_file->write_header("t_phone_user::handle_broken_connection", LOG_NORMAL, LOG_DEBUG); log_file->write_raw("Handle broken connection for "); log_file->write_raw(user_config->get_profile_name()); log_file->write_endl(); log_file->write_footer(); // A persistent connection has been broken. The connection must be re-established // by registering again. This is only needed when the user was registered already. // If no registration was present, then the persistent connection should not have // been established. if (is_registered) { // Re-register if no register is pending if (!r_register) { log_file->write_header("t_phone_user::handle_broken_connection", LOG_NORMAL, LOG_DEBUG); log_file->write_raw("Re-establish broken connection for "); log_file->write_raw(user_config->get_profile_name()); log_file->write_endl(); log_file->write_footer(); registration(REG_REGISTER, true, registration_time); } } }
void t_phone_user::timeout(t_phone_timer timer) { switch (timer) { case PTMR_REGISTRATION: id_registration = 0; // Registration expired. Re-register. if (is_registered || last_reg_failed) { // Re-register if no register is pending if (!r_register) { registration(REG_REGISTER, true, registration_time); } } break; case PTMR_NAT_KEEPALIVE: id_nat_keepalive = 0; // Send a new NAT keepalive packet if (use_nat_keepalive) { send_nat_keepalive(); phone->start_timer(PTMR_NAT_KEEPALIVE, this); } break; case PTMR_TCP_PING: id_tcp_ping = 0; // Send a TCP ping; if (user_config->get_persistent_tcp()) { send_tcp_ping(); phone->start_timer(PTMR_TCP_PING, this); } break; default: assert(false); } }
// main function int main_registration(int argc, char **argv) { // process input arguments if (argc != 4) { fprintf(stderr, "usage:\n\t%s left right Tright\n", *argv); // 0 1 2 3 return 1; } char *filename_left = argv[1]; char *filename_right = argv[2]; char *filename_Tright = argv[3]; // read input image int w, h; float *left = iio_read_image_float(filename_left, &w, &h); float *right = iio_read_image_float(filename_right, &w, &h); // allocate space for the output image float *out = malloc(w*h*sizeof(float)); // run the algorithm registration(out, left, right, w, h); // save the output image iio_write_image_float(filename_Tright, out, w, h); // cleanup and exit free(left); free(right); free(out); return 0; }
int user_transations() { USER usr; memset(&usr,0,USR_LEN); int i=user_temp_p.userid; int is_exist; int is_match; //user结构体status最初被初始化为0,只有上线以后才会变为1 //所以首先检查status的状态 //如果为0,且用户名存在,则表示用户名密码错 //如果为0,且用户名不存在,则表示用户要注册 //如果为1,则表示用户想改密码 if(user_temp_p.status==0) { is_exist=check_exist(); if(is_exist==0) registration(); else login(); } else { c_lseek(user_list_fd,i*USR_LEN,SEEK_SET); c_read(user_list_fd,&usr,USR_LEN); memset(usr.password,0,15); strncpy(usr.password,user_temp_p.password,strlen(user_temp_p.password)); c_lseek(user_list_fd,i*USR_LEN,SEEK_SET); c_write(user_list_fd,&usr,USR_LEN); //modify password; } }
TEST_F(APZCTreeManagerTester, Bug1194876) { CreateBug1194876Tree(); ScopedLayerTreeRegistration registration(manager, 0, root, mcc); manager->UpdateHitTestingTree(nullptr, root, false, 0, 0); uint64_t blockId; nsTArray<ScrollableLayerGuid> targets; // First touch goes down, APZCTM will hit layers[1] because it is on top of // layers[0], but we tell it the real target APZC is layers[0]. MultiTouchInput mti; mti = CreateMultiTouchInput(MultiTouchInput::MULTITOUCH_START, mcc->Time()); mti.mTouches.AppendElement(SingleTouchData(0, ParentLayerPoint(25, 50), ScreenSize(0, 0), 0, 0)); manager->ReceiveInputEvent(mti, nullptr, &blockId); manager->ContentReceivedInputBlock(blockId, false); targets.AppendElement(ApzcOf(layers[0])->GetGuid()); manager->SetTargetAPZC(blockId, targets); // Around here, the above touch will get processed by ApzcOf(layers[0]) // Second touch goes down (first touch remains down), APZCTM will again hit // layers[1]. Again we tell it both touches landed on layers[0], but because // layers[1] is the RCD layer, it will end up being the multitouch target. mti.mTouches.AppendElement(SingleTouchData(1, ParentLayerPoint(75, 50), ScreenSize(0, 0), 0, 0)); manager->ReceiveInputEvent(mti, nullptr, &blockId); manager->ContentReceivedInputBlock(blockId, false); targets.AppendElement(ApzcOf(layers[0])->GetGuid()); manager->SetTargetAPZC(blockId, targets); // Around here, the above multi-touch will get processed by ApzcOf(layers[1]). // We want to ensure that ApzcOf(layers[0]) has had its state cleared, because // otherwise it will do things like dispatch spurious long-tap events. EXPECT_CALL(*mcc, HandleLongTap(_, _, _, _)).Times(0); }
TEST_F(APZHitTestingTester, TestRepaintFlushOnWheelEvents) { // The purpose of this test is to ensure that wheel events trigger a repaint // flush as per bug 1166871, and that the wheel event untransform is a no-op. CreateSimpleScrollingLayer(); ScopedLayerTreeRegistration registration(manager, 0, root, mcc); manager->UpdateHitTestingTree(nullptr, root, false, 0, 0); TestAsyncPanZoomController* apzcroot = ApzcOf(root); EXPECT_CALL(*mcc, RequestContentRepaint(_)).Times(AtLeast(3)); ScreenPoint origin(100, 50); for (int i = 0; i < 3; i++) { ScrollWheelInput swi(MillisecondsSinceStartup(mcc->Time()), mcc->Time(), 0, ScrollWheelInput::SCROLLMODE_INSTANT, ScrollWheelInput::SCROLLDELTA_PIXEL, origin, 0, 10, false); EXPECT_EQ(nsEventStatus_eConsumeDoDefault, manager->ReceiveInputEvent(swi, nullptr, nullptr)); EXPECT_EQ(origin, swi.mOrigin); AsyncTransform viewTransform; ParentLayerPoint point; apzcroot->SampleContentTransformForFrame(&viewTransform, point); EXPECT_EQ(0, point.x); EXPECT_EQ((i + 1) * 10, point.y); EXPECT_EQ(0, viewTransform.mTranslation.x); EXPECT_EQ((i + 1) * -10, viewTransform.mTranslation.y); mcc->AdvanceByMillis(5); } }
TEST_F(APZCTreeManagerTester, ScrollablePaintedLayers) { CreateSimpleMultiLayerTree(); ScopedLayerTreeRegistration registration(manager, 0, root, mcc); // both layers have the same scrollId SetScrollableFrameMetrics(layers[1], FrameMetrics::START_SCROLL_ID); SetScrollableFrameMetrics(layers[2], FrameMetrics::START_SCROLL_ID); manager->UpdateHitTestingTree(nullptr, root, false, 0, 0); TestAsyncPanZoomController* nullAPZC = nullptr; // so they should have the same APZC EXPECT_FALSE(layers[0]->HasScrollableFrameMetrics()); EXPECT_NE(nullAPZC, ApzcOf(layers[1])); EXPECT_NE(nullAPZC, ApzcOf(layers[2])); EXPECT_EQ(ApzcOf(layers[1]), ApzcOf(layers[2])); // Change the scrollId of layers[1], and verify the APZC changes SetScrollableFrameMetrics(layers[1], FrameMetrics::START_SCROLL_ID + 1); manager->UpdateHitTestingTree(nullptr, root, false, 0, 0); EXPECT_NE(ApzcOf(layers[1]), ApzcOf(layers[2])); // Change the scrollId of layers[2] to match that of layers[1], ensure we get the same // APZC for both again SetScrollableFrameMetrics(layers[2], FrameMetrics::START_SCROLL_ID + 1); manager->UpdateHitTestingTree(nullptr, root, false, 0, 0); EXPECT_EQ(ApzcOf(layers[1]), ApzcOf(layers[2])); }
void PropertyRegistry::registerProperty( const AtomicString& name, const CSSSyntaxDescriptor& syntax, bool inherits, const CSSValue* initial, PassRefPtr<CSSVariableData> initialVariableData) { DCHECK(!registration(name)); m_registrations.set(name, new Registration(syntax, inherits, initial, std::move(initialVariableData))); }
Eigen::Matrix4f CloudMapper::GetTransformForTwoCloudsPointToPlane(CloudMapper::Cloud::Ptr &source, CloudMapper::Cloud::Ptr &target, ICPParams params) { CloudMapper::NormalCloud::Ptr normalSource(new CloudMapper::NormalCloud); pcl::copyPointCloud(*source, *normalSource); CloudMapper::NormalCloud::Ptr normalTarget(new CloudMapper::NormalCloud); pcl::copyPointCloud(*target, *normalTarget); typedef pcl::search::KdTree<CloudMapper::PointNormal> Search2; Search2::Ptr search(new Search2); pcl::NormalEstimation<CloudMapper::PointNormal, CloudMapper::PointNormal> estimation; estimation.setSearchMethod(search); estimation.setKSearch(10); estimation.setInputCloud(normalTarget); estimation.compute(*normalTarget); typedef pcl::registration::CorrespondenceRejectorSampleConsensus<CloudMapper::PointNormal> Rejector; pcl::Registration<CloudMapper::PointNormal, CloudMapper::PointNormal>::Ptr registration(new pcl::IterativeClosestPoint<CloudMapper::PointNormal, CloudMapper::PointNormal>); pcl::registration::CorrespondenceRejectorSampleConsensus<CloudMapper::PointNormal>::Ptr rejector(new pcl::registration::CorrespondenceRejectorSampleConsensus<CloudMapper::PointNormal>); rejector->setInlierThreshold(params.RansacRejectionThreshold); rejector->setMaximumIterations(params.MaxRANSACIterations); rejector->setInputSource(normalSource); rejector->setInputTarget(normalTarget); registration->setInputSource(normalSource); registration->setInputTarget(normalTarget); registration->setMaxCorrespondenceDistance(params.MaxCorrespondenceDistance); registration->setRANSACOutlierRejectionThreshold(params.RansacRejectionThreshold); registration->setTransformationEpsilon(params.TransformationEpsilon); registration->setMaximumIterations(params.MaxICPIterations); registration->setRANSACIterations(params.MaxRANSACIterations); registration->addCorrespondenceRejector(rejector); if (m_useNormalShooting) { typedef pcl::registration::CorrespondenceEstimationNormalShooting<CloudMapper::PointNormal, CloudMapper::PointNormal, CloudMapper::PointNormal> NormalShooting; NormalShooting::Ptr ce(new NormalShooting); registration->setCorrespondenceEstimation(ce); } typedef TransformationEstimationHPE<CloudMapper::PointNormal, CloudMapper::PointNormal> Custom; Custom::Ptr metric(new Custom); metric->SetWeights(m_weights); registration->setTransformationEstimation(metric); CloudMapper::NormalCloud::Ptr c(new CloudMapper::NormalCloud); registration->align(*c); //std::cout << "Fitness Score " << registration->getFitnessScore() << std::endl; return registration->getFinalTransformation(); }
void RDOKernel::proc( RDOMessageInfo& msg ) { switch ( msg.message ) { // Закрыть все треды case RT_THREAD_CLOSE: { #ifdef TR_TRACE trace( thread_name + " stop begin" ); #endif #ifdef RDO_MT threads_mutex.Lock(); #endif std::list< RDOThread* >::iterator it = threads.begin(); while ( it != threads.end() ) { RDOThread* thread = *it; #ifdef RDO_MT if ( !thread->isGUI() ) { CEvent* thread_destroy = thread->getDestroyEvent(); threads_mutex.Unlock(); sendMessage( thread, RDOThread::RT_THREAD_CLOSE ); thread_destroy->Lock(); threads_mutex.Lock(); delete thread_destroy; it = threads.begin(); } else { ++it; } #else sendMessage( thread, RDOThread::RT_THREAD_CLOSE ); it = threads.begin(); #endif } #ifdef RDO_MT threads_mutex.Unlock(); #endif #ifdef TR_TRACE trace ( thread_name + " stop end" ); #endif break; } case RT_THREAD_CONNECTION: { if ( msg.from != this ) { registration( msg.from ); } break; } case RT_THREAD_DISCONNECTION: { if ( msg.from != this ) { unregistered( msg.from ); } break; } default: break; } }
TEST_F(APZCTreeManagerTester, Bug1198900) { // This is just a test that cancels a wheel event to make sure it doesn't // crash. CreateSimpleDTCScrollingLayer(); ScopedLayerTreeRegistration registration(manager, 0, root, mcc); manager->UpdateHitTestingTree(nullptr, root, false, 0, 0); ScreenPoint origin(100, 50); ScrollWheelInput swi(MillisecondsSinceStartup(mcc->Time()), mcc->Time(), 0, ScrollWheelInput::SCROLLMODE_INSTANT, ScrollWheelInput::SCROLLDELTA_PIXEL, origin, 0, 10); uint64_t blockId; manager->ReceiveInputEvent(swi, nullptr, &blockId); manager->ContentReceivedInputBlock(blockId, /* preventDefault= */ true); }
void ICCVTutorial<FeatureType>::determineFinalTransformation () { cout << "final registration..." << std::flush; pcl::Registration<pcl::PointXYZRGB, pcl::PointXYZRGB>::Ptr registration (new pcl::IterativeClosestPoint<pcl::PointXYZRGB, pcl::PointXYZRGB>); registration->setInputCloud(source_transformed_); //registration->setInputCloud(source_segmented_); registration->setInputTarget (target_segmented_); registration->setMaxCorrespondenceDistance(0.05); registration->setRANSACOutlierRejectionThreshold (0.05); registration->setTransformationEpsilon (0.000001); registration->setMaximumIterations (1000); registration->align(*source_registered_); transformation_matrix_ = registration->getFinalTransformation(); cout << "OK" << endl; }
void RDOKernelGUI::proc( RDOMessageInfo& msg ) { switch ( msg.message ) { // Удалить прикрепленные треды case RT_THREAD_CLOSE: { #ifdef TR_TRACE trace( thread_name + " stop begin" ); #endif std::list< RDOThread* >::iterator it = threads.begin(); while ( it != threads.end() ) { RDOThread* thread = *it; threads.erase( it ); thread->stop(); delete thread; it = threads.begin(); } #ifdef TR_TRACE trace ( thread_name + " stop end" ); #endif return; } case RT_THREAD_CONNECTION: { if ( msg.from != this ) { registration( msg.from ); return; } break; } case RT_THREAD_DISCONNECTION: { if ( msg.from != this ) { unregistered( msg.from ); return; } break; } default: break; } std::list< RDOThread* >::iterator it = threads.begin(); while ( it != threads.end() ) { // it_next используется из-за того, что в RDOThreadRunTime->idle() м.б. удален RDOThreadRunTime и убран из threads std::list< RDOThread* >::iterator it_next = it; ++it_next; if ( *it != msg.from ) { (*it)->proc( msg ); } it = it_next; } }
void PrefChangeRegistrar::Add(const char* path, NotificationObserver* obs) { if(!service_) { NOTREACHED(); return; } ObserverRegistration registration(path, obs); if(observers_.find(registration) != observers_.end()) { NOTREACHED(); return; } observers_.insert(registration); service_->AddPrefObserver(path, obs); }
TEST_F(APZEventRegionsTester, Obscuration) { CreateObscuringLayerTree(); ScopedLayerTreeRegistration registration(manager, 0, root, mcc); manager->UpdateHitTestingTree(nullptr, root, false, 0, 0); TestAsyncPanZoomController* parent = ApzcOf(layers[1]); TestAsyncPanZoomController* child = ApzcOf(layers[2]); ApzcPanNoFling(parent, mcc, 75, 25); HitTestResult result; RefPtr<AsyncPanZoomController> hit = manager->GetTargetAPZC(ScreenPoint(50, 75), &result); EXPECT_EQ(child, hit.get()); EXPECT_EQ(HitTestResult::HitLayer, result); }
void CLoginDialog::OnBnClickedRegister() { GetDlgItem(IDC_SAVE)->ShowWindow(SW_HIDE); caption="Register"; SetWindowText(caption); CStatic *m_Label; CFont *m_Font1 = new CFont; m_Font1->CreatePointFont(160, (CString)"Arial Bold"); m_Label = (CStatic *)GetDlgItem(IDC_LOGTEXT); m_Label->SetWindowText(caption); m_Label->SetFont(m_Font1); CString text; GetDlgItemText(IDC_Register,text); if(0==text.Compare(_T("Submit"))){ if(registration()){ GetDlgItem(IDC_PinRem)->ShowWindow(SW_NORMAL); SetDlgItemText(IDC_PinRem,L"Submit"); OnBnClickedPinrem(); } }else{ CString fieldText= _T("Phone Number"); GetDlgItem(IDC_LOGTEXT)->ShowWindow(SW_NORMAL); GetDlgItem(IDC_LOGO)->ShowWindow(SW_HIDE); GetDlgItem(IDC_COUNTRY)->ShowWindow(SW_NORMAL); GetDlgItem(IDC_PHONE)->ShowWindow(SW_NORMAL); ((CEdit*)GetDlgItem(IDC_PHONE))->SetWindowText(fieldText); GetDlgItem(IDC_CountryCode)->ShowWindow(SW_NORMAL); GetDlgItem(IDC_Register)->ShowWindow(SW_NORMAL); GetDlgItem(IDC_LoginBTN)->ShowWindow(SW_HIDE); fieldText= _T("Please enter your email"); GetDlgItem(IDC_EMAIL)->ShowWindow(SW_NORMAL); ((CEdit*)GetDlgItem(IDC_EMAIL))->SetWindowText(fieldText); GetDlgItem(IDC_NAME)->ShowWindow(SW_NORMAL); fieldText= _T("Please enter your name"); ((CEdit*)GetDlgItem(IDC_NAME))->SetWindowText(fieldText); GetDlgItem(IDC_PinRem)->ShowWindow(SW_HIDE); GetDlgItem(IDC_BACK)->ShowWindow(SW_NORMAL); SetDlgItemText(IDC_Register,L"Submit"); } }
void PrefChangeRegistrar::Remove(const char* path, NotificationObserver* obs) { if(!service_) { NOTREACHED(); return; } ObserverRegistration registration(path, obs); std::set<ObserverRegistration>::iterator it = observers_.find(registration); if(it == observers_.end()) { NOTREACHED(); return; } service_->RemovePrefObserver(it->first.c_str(), it->second); observers_.erase(it); }
TEST_F(APZEventRegionsTester, Obscuration) { SCOPED_GFX_VAR(UseWebRender, bool, false); CreateObscuringLayerTree(); ScopedLayerTreeRegistration registration(manager, LayersId{0}, root, mcc); manager->UpdateHitTestingTree(LayersId{0}, root, false, LayersId{0}, 0); RefPtr<TestAsyncPanZoomController> parent = ApzcOf(layers[1]); TestAsyncPanZoomController* child = ApzcOf(layers[2]); Pan(parent, 75, 25, PanOptions::NoFling); gfx::CompositorHitTestInfo result; RefPtr<AsyncPanZoomController> hit = manager->GetTargetAPZC(ScreenPoint(50, 75), &result, nullptr); EXPECT_EQ(child, hit.get()); EXPECT_EQ(result, CompositorHitTestFlags::eVisibleToHitTest); }
TEST_F(APZHitTestingTester, HitTestingRespectsScrollClip_Bug1257288) { // Create the layer tree. const char* layerTreeSyntax = "c(tt)"; // LayerID 0 12 nsIntRegion layerVisibleRegion[] = { nsIntRegion(IntRect(0,0,200,200)), nsIntRegion(IntRect(0,0,200,200)), nsIntRegion(IntRect(0,0,200,100)) }; root = CreateLayerTree(layerTreeSyntax, layerVisibleRegion, nullptr, lm, layers); // Add root scroll metadata to the first painted layer. SetScrollableFrameMetrics(layers[1], FrameMetrics::START_SCROLL_ID, CSSRect(0,0,200,200)); // Add root and subframe scroll metadata to the second painted layer. // Give the subframe metadata a scroll clip corresponding to the subframe's // composition bounds. // Importantly, give the layer a layer clip which leaks outside of the // subframe's composition bounds. ScrollMetadata rootMetadata = BuildScrollMetadata( FrameMetrics::START_SCROLL_ID, CSSRect(0,0,200,200), ParentLayerRect(0,0,200,200)); ScrollMetadata subframeMetadata = BuildScrollMetadata( FrameMetrics::START_SCROLL_ID + 1, CSSRect(0,0,200,200), ParentLayerRect(0,0,200,100)); subframeMetadata.SetScrollClip(Some(LayerClip(ParentLayerIntRect(0,0,200,100)))); layers[2]->SetScrollMetadata({subframeMetadata, rootMetadata}); layers[2]->SetClipRect(Some(ParentLayerIntRect(0,0,200,200))); SetEventRegionsBasedOnBottommostMetrics(layers[2]); // Build the hit testing tree. ScopedLayerTreeRegistration registration(manager, 0, root, mcc); manager->UpdateHitTestingTree(nullptr, root, false, 0, 0); // Pan on a region that's inside layers[2]'s layer clip, but outside // its subframe metadata's scroll clip. Pan(manager, 120, 110); // Test that the subframe hasn't scrolled. EXPECT_EQ(CSSPoint(0,0), ApzcOf(layers[2], 0)->GetFrameMetrics().GetScrollOffset()); }
TEST_F(APZHitTestingTester, TestForceDisableApz) { CreateSimpleScrollingLayer(); DisableApzOn(root); ScopedLayerTreeRegistration registration(manager, 0, root, mcc); manager->UpdateHitTestingTree(nullptr, root, false, 0, 0); TestAsyncPanZoomController* apzcroot = ApzcOf(root); ScreenPoint origin(100, 50); ScrollWheelInput swi(MillisecondsSinceStartup(mcc->Time()), mcc->Time(), 0, ScrollWheelInput::SCROLLMODE_INSTANT, ScrollWheelInput::SCROLLDELTA_PIXEL, origin, 0, 10, false); EXPECT_EQ(nsEventStatus_eConsumeDoDefault, manager->ReceiveInputEvent(swi, nullptr, nullptr)); EXPECT_EQ(origin, swi.mOrigin); AsyncTransform viewTransform; ParentLayerPoint point; apzcroot->SampleContentTransformForFrame(&viewTransform, point); // Since APZ is force-disabled, we expect to see the async transform via // the NORMAL AsyncMode, but not via the RESPECT_FORCE_DISABLE AsyncMode. EXPECT_EQ(0, point.x); EXPECT_EQ(10, point.y); EXPECT_EQ(0, viewTransform.mTranslation.x); EXPECT_EQ(-10, viewTransform.mTranslation.y); viewTransform = apzcroot->GetCurrentAsyncTransform(AsyncPanZoomController::RESPECT_FORCE_DISABLE); point = apzcroot->GetCurrentAsyncScrollOffset(AsyncPanZoomController::RESPECT_FORCE_DISABLE); EXPECT_EQ(0, point.x); EXPECT_EQ(0, point.y); EXPECT_EQ(0, viewTransform.mTranslation.x); EXPECT_EQ(0, viewTransform.mTranslation.y); mcc->AdvanceByMillis(10); // With untransforming events we should get normal behaviour (in this case, // no noticeable untransform, because the repaint request already got // flushed). swi = ScrollWheelInput(MillisecondsSinceStartup(mcc->Time()), mcc->Time(), 0, ScrollWheelInput::SCROLLMODE_INSTANT, ScrollWheelInput::SCROLLDELTA_PIXEL, origin, 0, 0, false); EXPECT_EQ(nsEventStatus_eConsumeDoDefault, manager->ReceiveInputEvent(swi, nullptr, nullptr)); EXPECT_EQ(origin, swi.mOrigin); }
TEST_F(APZCTreeManagerTester, Bug1068268) { CreatePotentiallyLeakingTree(); ScopedLayerTreeRegistration registration(manager, 0, root, mcc); manager->UpdateHitTestingTree(nullptr, root, false, 0, 0); RefPtr<HitTestingTreeNode> root = manager->GetRootNode(); RefPtr<HitTestingTreeNode> node2 = root->GetFirstChild()->GetFirstChild(); RefPtr<HitTestingTreeNode> node5 = root->GetLastChild()->GetLastChild(); EXPECT_EQ(ApzcOf(layers[2]), node5->GetApzc()); EXPECT_EQ(ApzcOf(layers[2]), node2->GetApzc()); EXPECT_EQ(ApzcOf(layers[0]), ApzcOf(layers[2])->GetParent()); EXPECT_EQ(ApzcOf(layers[2]), ApzcOf(layers[5])); EXPECT_EQ(node2->GetFirstChild(), node2->GetLastChild()); EXPECT_EQ(ApzcOf(layers[3]), node2->GetLastChild()->GetApzc()); EXPECT_EQ(node5->GetFirstChild(), node5->GetLastChild()); EXPECT_EQ(ApzcOf(layers[6]), node5->GetLastChild()->GetApzc()); EXPECT_EQ(ApzcOf(layers[2]), ApzcOf(layers[3])->GetParent()); EXPECT_EQ(ApzcOf(layers[5]), ApzcOf(layers[6])->GetParent()); }
int parse_args(int argc, char* argv[]) { if(argc < 2) { fprintf(stderr,"Take an arguments or use --help\n"); return argc; } bool hs=true; for(int i = 1; i < argc; i++) { if(argv[i][0]=='-') { if((!strcmp(argv[i], "--help")||!strcmp(argv[i],"-h"))&&hs) { show_help(); hs=!hs; } if(!strcmp(argv[i], "-s")) { fprintf(stdout, "Start as server\n"); start_server(argv[i++]); } if(!strcmp(argv[i], "--server-cfg")) { fprintf(stdout, "Let's configure a server!\n"); server_cfg(argv[i++]); } if(!strcmp(argv[i], "-c")) { fprintf(stdout, "Start as client\n"); start_client(argv[i++]); } if(!strcmp(argv[i], "-r")) { fprintf(stdout, "Start a registration\n"); registration(argv[i++]); } } else { fprintf(stderr, "Wrong arguments\n"); if(hs) show_help(); return 0; } } return 0; }
void* vision_sense(void*) { MatND ini_feature; Mat ini_state; VideoCapture cap(videoid); while(video_ready == 0) {} while(true) { if(g_state == 0) { registration(ini_feature, ini_state); visual_tracking(ini_feature, ini_state); cout << "init type: " << ini_feature.type() << endl; } else if(g_state == 2 || g_state == 3) { // visual detection //g_state = 0; int flag = ObjectDete(ini_feature, ini_state); //cout << "detecting" << endl; if(flag) visual_tracking(ini_feature, ini_state); else cout << "Failed to detect the label in given time."<<endl; } // usleep(1000000); // } }
void EventRegistrar::sendRegistration() { Noam::MessageBuilder builder( lemmaId ); QVariantList plays; QVariantList hears; QSet<QString> uniqueHears; QList< Noam::EventFilter* >::iterator i = filters.begin(); while ( i != filters.end() ) { uniqueHears << ( (*i)->getTopicName() ); ++i; } QSet<QString>::iterator j = uniqueHears.begin(); while ( j != uniqueHears.end() ) { hears << ( QVariant(*j) ); ++j; } QByteArray message = builder.buildRegister( deviceType, systemVersion, port, hears, plays ); emit registration( message ); }
void Login::on_registerPushButton_clicked() { Registration registration(this); registration.exec(); }