void CPlainTextEditor::SelectLeft(void)
{
	BeginSelection();
	miEditPos = FindLeft(miEditPos);
	EndSelection();
	ResetUpDown();
}
Example #2
0
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();
}