void CPlainTextEditor::SelectLeft(void) { BeginSelection(); miEditPos = FindLeft(miEditPos); EndSelection(); ResetUpDown(); }
void BlockLocalizer::Run() { FindUp(); if (uppoints.size() < 5) { return; } #ifdef BL_OUTPUT_DEBUG_INFO FindLeft(); FindRight(); #else thread t1 = thread(std::mem_fn(&BlockLocalizer::FindLeft), this); thread t2 = thread(std::mem_fn(&BlockLocalizer::FindRight), this); t1.join(); t2.join(); #endif if (leftpoints.size() < 5 || rightpoints.size() < 5) { return; } FindDown(); if (downpoints.size() < 5) { return; } NotFoundBlockFlag = false; Judgement(); p_block->Lines2ABCD(); #ifdef BL_OUTPUT_DEBUG_INFO cv::line(drowDebugResult, cv::Point(0, (*p_block).UpLine.k * (0 - (*p_block).UpLine.x0) + (*p_block).UpLine.y0), cv::Point(drowDebugResult.cols, (*p_block).UpLine.k * (drowDebugResult.cols - (*p_block).UpLine.x0) + (*p_block).UpLine.y0), cv::Scalar(0, 0, 255), 1); cv::line(drowDebugResult, cv::Point(0, (*p_block).DownLine.k * (0 - (*p_block).DownLine.x0) + (*p_block).DownLine.y0), cv::Point(drowDebugResult.cols, (*p_block).DownLine.k * (drowDebugResult.cols - (*p_block).DownLine.x0) + (*p_block).DownLine.y0), cv::Scalar(0, 255, 255), 1); cv::line(drowDebugResult, cv::Point((drowDebugResult.rows - (*p_block).LeftLine.y0) / (*p_block).LeftLine.k + (*p_block).LeftLine.x0, drowDebugResult.rows), cv::Point((0 - (*p_block).LeftLine.y0) / (*p_block).LeftLine.k + (*p_block).LeftLine.x0, 0), cv::Scalar(0, 255, 0), 1); cv::line(drowDebugResult, cv::Point((drowDebugResult.rows - (*p_block).RightLine.y0) / (*p_block).RightLine.k + (*p_block).RightLine.x0, drowDebugResult.rows), cv::Point((0 - (*p_block).RightLine.y0) / (*p_block).RightLine.k + (*p_block).RightLine.x0, 0), cv::Scalar(255, 0, 0), 1); if (p_faults->BrokenEdges.size() > 0) { for (int i = 0; i < p_faults->BrokenEdges.size(); i++) { cv::circle(drowDebugResult, p_faults->BrokenEdges[i].position, p_faults->BrokenEdges[i].length / 2, cv::Scalar(0, 0, 255), 10); } } #endif }
void CPlainTextEditor::Left(void) { ClearSelection(); miEditPos = FindLeft(miEditPos); ResetUpDown(); }