HBufC* utf8ToUnicode( const char* utf8 ) { // Length should be right if english and a bit too long if not. HBufC* retVal = HBufC::New( strlen( utf8 ) + 1 ); TPtr retPtr( retVal->Des() ); ConvertUTF8ToUnicode( reinterpret_cast<const unsigned char*>(utf8), retPtr ); return retVal; }
std::unique_ptr<State> MarkState::handle(CVideoLoader & loader, CAbstractAlgorithm & algorithm, std::unique_ptr<CMeasuredData> &) { cv::Mat frame; cv::namedWindow(algorithm.m_winName, CV_WINDOW_AUTOSIZE); CPatternController::getInstance().setWinName(algorithm.m_winName); std::unique_ptr<State> retPtr( new TrackState() ); std::vector<std::pair<cv::Point, cv::Mat>> imgVec = CPatternController::getInstance().getImgVec(); while(0 == imgVec.size()) { if(false == CPatternController::getInstance().isMarkerActive()) { frame = loader.getNextFrame(); CPatternController::getInstance().setFrame( frame ); cv::imshow(algorithm.m_winName, frame); } else { cv::imshow(algorithm.m_winName, CPatternController::getInstance().getFrame() ); } imgVec = CPatternController::getInstance().getImgVec(); if(true == loader.interval(20)) break; } return retPtr; }
template<typename Data> static PrivatePtr<Data> getPrivate(Data &arg) { PrivatePtr<Data> retPtr(new Data); retPtr->Swap(arg, Int2Type<Data::serverSendsAnswer>()); return retPtr; }