|
tesseract 3.04.01
|
00001 /********************************************************************** 00002 * File: pagewalk.cpp (Formerly walkers.c) 00003 * Description: Block list processors 00004 * Author: Phil Cheatle 00005 * Created: Thu Oct 10 16:25:24 BST 1991 00006 * 00007 * (C) Copyright 1991, Hewlett-Packard Ltd. 00008 ** Licensed under the Apache License, Version 2.0 (the "License"); 00009 ** you may not use this file except in compliance with the License. 00010 ** You may obtain a copy of the License at 00011 ** http://www.apache.org/licenses/LICENSE-2.0 00012 ** Unless required by applicable law or agreed to in writing, software 00013 ** distributed under the License is distributed on an "AS IS" BASIS, 00014 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00015 ** See the License for the specific language governing permissions and 00016 ** limitations under the License. 00017 * 00018 **********************************************************************/ 00019 00020 #include "pageres.h" 00021 #include "tesseractclass.h" 00022 00023 namespace tesseract { 00030 void Tesseract::process_selected_words( 00031 PAGE_RES* page_res, // blocks to check 00032 TBOX & selection_box, 00033 BOOL8(tesseract::Tesseract::*word_processor)(PAGE_RES_IT* pr_it)) { 00034 for (PAGE_RES_IT page_res_it(page_res); page_res_it.word() != NULL; 00035 page_res_it.forward()) { 00036 WERD* word = page_res_it.word()->word; 00037 if (word->bounding_box().overlap(selection_box)) { 00038 if (!(this->*word_processor)(&page_res_it)) 00039 return; 00040 } 00041 } 00042 } 00043 } // namespace tesseract