2007-03-08 04:03:40 +08:00
|
|
|
/**********************************************************************
|
|
|
|
* File: wordit.c
|
|
|
|
* Description: An iterator for passing over all the words in a document.
|
|
|
|
* Author: Ray Smith
|
|
|
|
* Created: Mon Apr 27 08:51:22 BST 1992
|
|
|
|
*
|
|
|
|
* (C) Copyright 1992, Hewlett-Packard Ltd.
|
|
|
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
** you may not use this file except in compliance with the License.
|
|
|
|
** You may obtain a copy of the License at
|
|
|
|
** http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
** Unless required by applicable law or agreed to in writing, software
|
|
|
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
** See the License for the specific language governing permissions and
|
|
|
|
** limitations under the License.
|
|
|
|
*
|
|
|
|
**********************************************************************/
|
|
|
|
|
|
|
|
#ifndef WERDIT_H
|
|
|
|
#define WERDIT_H
|
|
|
|
|
|
|
|
#include "varable.h"
|
|
|
|
#include "ocrblock.h"
|
|
|
|
#include "notdll.h"
|
|
|
|
|
|
|
|
class WERDIT
|
|
|
|
{
|
|
|
|
public:
|
2008-04-22 08:32:14 +08:00
|
|
|
WERDIT() {
|
2007-03-08 04:03:40 +08:00
|
|
|
} //empty contructor
|
|
|
|
WERDIT( //empty contructor
|
|
|
|
BLOCK_LIST *blocklist) { //blocks on page
|
|
|
|
start_page(blocklist); //ready to scan
|
|
|
|
}
|
|
|
|
|
|
|
|
void start_page( //get ready
|
|
|
|
BLOCK_LIST *blocklist); //blocks on page
|
|
|
|
|
|
|
|
WERD *forward(); //get next word
|
|
|
|
WERD *next_word() { //get next word
|
|
|
|
return word_it.data (); //already at next
|
|
|
|
}
|
|
|
|
ROW *row() { //get current row
|
|
|
|
return word_it.cycled_list ()? NULL : row_it.data ();
|
|
|
|
}
|
|
|
|
ROW *next_row() { //get next row
|
|
|
|
return row_it.data_relative (1);
|
|
|
|
}
|
|
|
|
BLOCK *block() { //get current block
|
|
|
|
return block_it.data ();
|
|
|
|
}
|
|
|
|
|
|
|
|
private:
|
|
|
|
BLOCK_IT block_it; //iterators
|
|
|
|
ROW_IT row_it;
|
|
|
|
WERD_IT word_it;
|
|
|
|
};
|
|
|
|
|
|
|
|
//extern BOOL_VAR_H(wordit_linearc,FALSE,"Pass poly of linearc to Tess");
|
|
|
|
WERD *make_pseudo_word( //make fake word
|
|
|
|
BLOCK_LIST *block_list, //blocks to check //block of selection
|
2008-04-22 08:32:14 +08:00
|
|
|
TBOX &selection_box,
|
2007-03-08 04:03:40 +08:00
|
|
|
BLOCK *&pseudo_block,
|
|
|
|
ROW *&pseudo_row //row of selection
|
|
|
|
);
|
|
|
|
#endif
|