00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00019
00020 #ifndef PGEDIT_H
00021 #define PGEDIT_H
00022
00023 #include "ocrblock.h"
00024 #include "ocrrow.h"
00025 #include "werd.h"
00026 #include "rect.h"
00027 #include "pagewalk.h"
00028 #include "varable.h"
00029 #include "notdll.h"
00030 #include "tesseractclass.h"
00031
00032 class ScrollView;
00033 class SVMenuNode;
00034 struct SVEvent;
00035
00036
00037
00038 class PGEventHandler : public SVEventHandler {
00039 public:
00040 PGEventHandler(tesseract::Tesseract* tess) : tess_(tess) {
00041 }
00042 void Notify(const SVEvent* sve);
00043 private:
00044 tesseract::Tesseract* tess_;
00045 };
00046
00047 extern BLOCK_LIST *current_block_list;
00048 extern BOOL8 *current_image_changed;
00049 extern STRING_VAR_H (editor_image_win_name, "EditorImage",
00050 "Editor image window name");
00051 extern INT_VAR_H (editor_image_xpos, 590, "Editor image X Pos");
00052 extern INT_VAR_H (editor_image_ypos, 10, "Editor image Y Pos");
00053 extern INT_VAR_H (editor_image_height, 680, "Editor image height");
00054 extern INT_VAR_H (editor_image_width, 655, "Editor image width");
00055 extern INT_VAR_H (editor_image_word_bb_color, BLUE,
00056 "Word bounding box colour");
00057 extern INT_VAR_H (editor_image_blob_bb_color, YELLOW,
00058 "Blob bounding box colour");
00059 extern INT_VAR_H (editor_image_text_color, WHITE, "Correct text colour");
00060 extern STRING_VAR_H (editor_dbwin_name, "EditorDBWin",
00061 "Editor debug window name");
00062 extern INT_VAR_H (editor_dbwin_xpos, 50, "Editor debug window X Pos");
00063 extern INT_VAR_H (editor_dbwin_ypos, 500, "Editor debug window Y Pos");
00064 extern INT_VAR_H (editor_dbwin_height, 24, "Editor debug window height");
00065 extern INT_VAR_H (editor_dbwin_width, 80, "Editor debug window width");
00066 extern STRING_VAR_H (editor_word_name, "BlnWords",
00067 "BL normalised word window");
00068 extern INT_VAR_H (editor_word_xpos, 60, "Word window X Pos");
00069 extern INT_VAR_H (editor_word_ypos, 510, "Word window Y Pos");
00070 extern INT_VAR_H (editor_word_height, 240, "Word window height");
00071 extern INT_VAR_H (editor_word_width, 655, "Word window width");
00072 extern double_VAR_H (editor_smd_scale_factor, 1.0, "Scaling for smd image");
00073
00074 void add_word(
00075 WERD *word,
00076 ROW *src_row,
00077 BLOCK *src_block,
00078 BLOCK_LIST *dest_block_list
00079 );
00080 ScrollView* bln_word_window_handle();
00081 void build_image_window(TBOX page_bounding_box);
00082 void display_bln_lines(ScrollView window,
00083 ScrollView::Color colour,
00084 float scale_factor,
00085 float y_offset,
00086 float minx,
00087 float maxx);
00088
00089 void do_re_display (BOOL8 word_painter (
00090 BLOCK *, ROW *, WERD *));
00091 const TBOX do_tidy_cmd();
00092 void do_view_cmd();
00093 void do_write_file(
00094 char *name
00095 );
00096 void pgeditor_msg(
00097 const char *msg);
00098 void pgeditor_show_point(
00099 SVEvent *event);
00100 void pgeditor_write_file(
00101 char *name,
00102 BLOCK_LIST *blocks
00103 );
00104
00105 float re_scale_and_move_bln_word(WERD *norm_word,
00106 const TBOX &box
00107 );
00108 void re_segment_word(
00109 BLOCK_LIST *block_list,
00110 TBOX &selection_box);
00111 void block_space_stat(
00112 BLOCK_LIST *block_list,
00113 TBOX &selection_box);
00114 void row_space_stat(
00115 BLOCK_LIST *block_list,
00116 TBOX &selection_box);
00117 void show_point(
00118 BLOCK_LIST *block_list,
00119 float x,
00120 float y);
00121
00122 BOOL8 word_blank_and_set_display(BLOCK *block,
00123 ROW *row,
00124 WERD *word
00125 );
00126 BOOL8 word_bln_display(
00127 BLOCK *,
00128 ROW *row,
00129 WERD *word
00130 );
00131 BOOL8 word_change_text(
00132 BLOCK *block,
00133 ROW *row,
00134 WERD *word
00135 );
00136 BOOL8 word_copy(
00137 BLOCK *block,
00138 ROW *row,
00139 WERD *word
00140 );
00141 BOOL8 word_delete(
00142 BLOCK *block,
00143 ROW *row,
00144 WERD *word,
00145 BLOCK_IT &block_it,
00146 ROW_IT &row_it,
00147 WERD_IT &word_it
00148 );
00149 BOOL8 word_display(
00150 BLOCK *,
00151 ROW *row,
00152 WERD *word
00153 );
00154 BOOL8 word_dumper(
00155 BLOCK *block,
00156 ROW *row,
00157 WERD *word
00158 );
00159 BOOL8 word_set_display(
00160 BLOCK *block,
00161 ROW *row,
00162 WERD *word
00163 );
00164 BOOL8 word_toggle_seg(
00165 BLOCK *,
00166 ROW *,
00167 WERD *word
00168 );
00169 void do_check_mem(
00170 inT32 level);
00171 #endif