tesseract 3.04.01

ccmain/pagewalk.cpp

Go to the documentation of this file.
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
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines