Tesseract  3.02
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
pgedit.cpp File Reference
#include "pgedit.h"
#include <ctype.h>
#include <math.h>
#include "blread.h"
#include "control.h"
#include "svshowim.h"
#include "paramsd.h"
#include "pageres.h"
#include "tordmain.h"
#include "scrollview.h"
#include "svmnode.h"
#include "statistc.h"
#include "tesseractclass.h"

Go to the source code of this file.

Classes

class  BlnEventHandler
 

Namespaces

 tesseract
 

Macros

#define ASC_HEIGHT   (2 * kBlnBaselineOffset + kBlnXHeight)
 
#define X_HEIGHT   (kBlnBaselineOffset + kBlnXHeight)
 
#define BL_HEIGHT   kBlnBaselineOffset
 
#define DESC_HEIGHT   0
 
#define MAXSPACING   128 /*max expected spacing in pix */
 

Enumerations

enum  CMD_EVENTS {
  NULL_CMD_EVENT, CHANGE_DISP_CMD_EVENT, DUMP_WERD_CMD_EVENT, SHOW_POINT_CMD_EVENT,
  SHOW_BLN_WERD_CMD_EVENT, DEBUG_WERD_CMD_EVENT, BLAMER_CMD_EVENT, BOUNDING_BOX_CMD_EVENT,
  CORRECT_TEXT_CMD_EVENT, POLYGONAL_CMD_EVENT, BL_NORM_CMD_EVENT, BITMAP_CMD_EVENT,
  IMAGE_CMD_EVENT, BLOCKS_CMD_EVENT, BASELINES_CMD_EVENT, UNIFORM_DISP_CMD_EVENT,
  REFRESH_CMD_EVENT, QUIT_CMD_EVENT, RECOG_WERDS, RECOG_PSEUDO,
  SHOW_SUBSCRIPT_CMD_EVENT, SHOW_SUPERSCRIPT_CMD_EVENT, SHOW_ITALIC_CMD_EVENT, SHOW_BOLD_CMD_EVENT,
  SHOW_UNDERLINE_CMD_EVENT, SHOW_FIXEDPITCH_CMD_EVENT, SHOW_SERIF_CMD_EVENT, SHOW_SMALLCAPS_CMD_EVENT,
  SHOW_DROPCAPS_CMD_EVENT
}
 
enum  ColorationMode {
  CM_RAINBOW, CM_SUBSCRIPT, CM_SUPERSCRIPT, CM_ITALIC,
  CM_BOLD, CM_UNDERLINE, CM_FIXEDPITCH, CM_SERIF,
  CM_SMALLCAPS, CM_DROPCAPS
}
 

Functions

ScrollViewbln_word_window_handle ()
 
void build_image_window (int width, int height)
 
void display_bln_lines (ScrollView *window, ScrollView::Color colour, float scale_factor, float y_offset, float minx, float maxx)
 
void pgeditor_msg (const char *msg)
 
void pgeditor_show_point (SVEvent *event)
 
void show_point (PAGE_RES *page_res, float x, float y)
 

Variables

const ERRCODE EMPTYBLOCKLIST = "No blocks to edit"
 
ScrollViewimage_win
 
ParamsEditorpe
 
bool stillRunning = false
 
ScrollViewbln_word_window = NULL
 
CMD_EVENTS mode = CHANGE_DISP_CMD_EVENT
 
bool recog_done = false
 
BITS16 word_display_mode
 
BOOL8 display_image = FALSE
 
BOOL8 display_blocks = FALSE
 
BOOL8 display_baselines = FALSE
 
PAGE_REScurrent_page_res = NULL
 
char * editor_image_win_name = "EditorImage"
 
int editor_image_xpos = 590
 
int editor_image_ypos = 10
 
int editor_image_menuheight = 50
 
int editor_image_word_bb_color = ScrollView::BLUE
 
int editor_image_blob_bb_color = ScrollView::YELLOW
 
int editor_image_text_color = ScrollView::WHITE
 
char * editor_dbwin_name = "EditorDBWin"
 
int editor_dbwin_xpos = 50
 
int editor_dbwin_ypos = 500
 
int editor_dbwin_height = 24
 
int editor_dbwin_width = 80
 
char * editor_word_name = "BlnWords"
 
int editor_word_xpos = 60
 
int editor_word_ypos = 510
 
int editor_word_height = 240
 
int editor_word_width = 655
 
char * editor_debug_config_file = ""
 

Macro Definition Documentation

#define ASC_HEIGHT   (2 * kBlnBaselineOffset + kBlnXHeight)

Definition at line 46 of file pgedit.cpp.

#define BL_HEIGHT   kBlnBaselineOffset

Definition at line 48 of file pgedit.cpp.

#define DESC_HEIGHT   0

Definition at line 49 of file pgedit.cpp.

#define MAXSPACING   128 /*max expected spacing in pix */

Definition at line 50 of file pgedit.cpp.

#define X_HEIGHT   (kBlnBaselineOffset + kBlnXHeight)

Definition at line 47 of file pgedit.cpp.

Enumeration Type Documentation

enum CMD_EVENTS
Enumerator
NULL_CMD_EVENT 
CHANGE_DISP_CMD_EVENT 
DUMP_WERD_CMD_EVENT 
SHOW_POINT_CMD_EVENT 
SHOW_BLN_WERD_CMD_EVENT 
DEBUG_WERD_CMD_EVENT 
BLAMER_CMD_EVENT 
BOUNDING_BOX_CMD_EVENT 
CORRECT_TEXT_CMD_EVENT 
POLYGONAL_CMD_EVENT 
BL_NORM_CMD_EVENT 
BITMAP_CMD_EVENT 
IMAGE_CMD_EVENT 
BLOCKS_CMD_EVENT 
BASELINES_CMD_EVENT 
UNIFORM_DISP_CMD_EVENT 
REFRESH_CMD_EVENT 
QUIT_CMD_EVENT 
RECOG_WERDS 
RECOG_PSEUDO 
SHOW_SUBSCRIPT_CMD_EVENT 
SHOW_SUPERSCRIPT_CMD_EVENT 
SHOW_ITALIC_CMD_EVENT 
SHOW_BOLD_CMD_EVENT 
SHOW_UNDERLINE_CMD_EVENT 
SHOW_FIXEDPITCH_CMD_EVENT 
SHOW_SERIF_CMD_EVENT 
SHOW_SMALLCAPS_CMD_EVENT 
SHOW_DROPCAPS_CMD_EVENT 

Definition at line 54 of file pgedit.cpp.

55 {
85 };
Enumerator
CM_RAINBOW 
CM_SUBSCRIPT 
CM_SUPERSCRIPT 
CM_ITALIC 
CM_BOLD 
CM_UNDERLINE 
CM_FIXEDPITCH 
CM_SERIF 
CM_SMALLCAPS 
CM_DROPCAPS 

Definition at line 87 of file pgedit.cpp.

Function Documentation

ScrollView* bln_word_window_handle ( )

bln_word_window_handle()

Returns
a WINDOW for the word window, creating it if necessary

Definition at line 171 of file pgedit.cpp.

171  { // return handle
172  // not opened yet
173  if (bln_word_window == NULL) {
174  pgeditor_msg("Creating BLN word window...");
177  editor_word_height, 4000, 4000, true);
178  BlnEventHandler* a = new BlnEventHandler();
180  pgeditor_msg("Creating BLN word window...Done");
181  }
182  return bln_word_window;
183 }
#define NULL
Definition: host.h:144
void pgeditor_msg(const char *msg)
Definition: pgedit.cpp:372
void AddEventHandler(SVEventHandler *listener)
Add an Event Listener to this ScrollView Window.
Definition: scrollview.cpp:413
int editor_word_xpos
Definition: pgedit.cpp:149
int editor_word_width
Definition: pgedit.cpp:152
char * editor_word_name
Definition: pgedit.cpp:148
int editor_word_height
Definition: pgedit.cpp:151
int editor_word_ypos
Definition: pgedit.cpp:150
ScrollView * bln_word_window
Definition: pgedit.cpp:113
void build_image_window ( int  width,
int  height 
)

build_image_window()

Destroy the existing image window if there is one. Work out how big the new window needs to be. Create it and re-display.

Definition at line 192 of file pgedit.cpp.

192  {
193  if (image_win != NULL) { delete image_win; }
196  width + 1,
197  height + editor_image_menuheight + 1,
198  width,
199  height,
200  true);
201 }
#define NULL
Definition: host.h:144
int editor_image_menuheight
Definition: pgedit.cpp:133
ScrollView * image_win
Definition: pgedit.cpp:106
int editor_image_xpos
Definition: pgedit.cpp:131
int editor_image_ypos
Definition: pgedit.cpp:132
char * editor_image_win_name
Definition: pgedit.cpp:130
void display_bln_lines ( ScrollView window,
ScrollView::Color  colour,
float  scale_factor,
float  y_offset,
float  minx,
float  maxx 
)

display_bln_lines()

Display normalized baseline, x-height, ascender limit and descender limit

Definition at line 209 of file pgedit.cpp.

214  {
215  window->Pen(colour);
216  window->Line(minx, y_offset + scale_factor * DESC_HEIGHT,
217  maxx, y_offset + scale_factor * DESC_HEIGHT);
218  window->Line(minx, y_offset + scale_factor * BL_HEIGHT,
219  maxx, y_offset + scale_factor * BL_HEIGHT);
220  window->Line(minx, y_offset + scale_factor * X_HEIGHT,
221  maxx, y_offset + scale_factor * X_HEIGHT);
222  window->Line(minx, y_offset + scale_factor * ASC_HEIGHT,
223  maxx, y_offset + scale_factor * ASC_HEIGHT);
224 }
#define DESC_HEIGHT
Definition: pgedit.cpp:49
void Pen(Color color)
Definition: scrollview.cpp:721
#define X_HEIGHT
Definition: pgedit.cpp:47
void Line(int x1, int y1, int x2, int y2)
Definition: scrollview.cpp:533
#define BL_HEIGHT
Definition: pgedit.cpp:48
#define ASC_HEIGHT
Definition: pgedit.cpp:46
void pgeditor_msg ( const char *  msg)

pgeditor_msg()

Display a message - in the command window if there is one, or to stdout

Definition at line 372 of file pgedit.cpp.

373  {
374  image_win->AddMessage(msg);
375 }
void AddMessage(const char *format,...)
Definition: scrollview.cpp:562
ScrollView * image_win
Definition: pgedit.cpp:106
void pgeditor_show_point ( SVEvent event)

pgeditor_show_point()

Display the coordinates of a point in the command window

Definition at line 383 of file pgedit.cpp.

384  {
385  image_win->AddMessage("Pointing at(%d, %d)", event->x, event->y);
386 }
void AddMessage(const char *format,...)
Definition: scrollview.cpp:562
int x
Definition: scrollview.h:66
ScrollView * image_win
Definition: pgedit.cpp:106
int y
Definition: scrollview.h:67
void show_point ( PAGE_RES page_res,
float  x,
float  y 
)

show_point()

Show coords of point, blob bounding box, word bounding box and offset from row baseline

Definition at line 650 of file pgedit.cpp.

650  {
651  FCOORD pt(x, y);
652  PAGE_RES_IT pr_it(page_res);
653 
654  char msg[160];
655  char *msg_ptr = msg;
656 
657  msg_ptr += sprintf(msg_ptr, "Pt:(%0.3f, %0.3f) ", x, y);
658 
659  for (WERD_RES* word = pr_it.word(); word != NULL; word = pr_it.forward()) {
660  if (pr_it.row() != pr_it.prev_row() &&
661  pr_it.row()->row->bounding_box().contains(pt)) {
662  msg_ptr += sprintf(msg_ptr, "BL(x)=%0.3f ",
663  pr_it.row()->row->base_line(x));
664  }
665  if (word->word->bounding_box().contains(pt)) {
666  TBOX box = word->word->bounding_box();
667  msg_ptr += sprintf(msg_ptr, "Wd(%d, %d)/(%d, %d) ",
668  box.left(), box.bottom(),
669  box.right(), box.top());
670  C_BLOB_IT cblob_it(word->word->cblob_list());
671  for (cblob_it.mark_cycle_pt();
672  !cblob_it.cycled_list();
673  cblob_it.forward()) {
674  C_BLOB* cblob = cblob_it.data();
675  box = cblob->bounding_box();
676  if (box.contains(pt)) {
677  msg_ptr += sprintf(msg_ptr,
678  "CBlb(%d, %d)/(%d, %d) ",
679  box.left(), box.bottom(),
680  box.right(), box.top());
681  }
682  }
683  }
684  }
685  image_win->AddMessage(msg);
686 }
bool contains(const FCOORD pt) const
Definition: rect.h:323
#define NULL
Definition: host.h:144
inT16 left() const
Definition: rect.h:67
Definition: rect.h:29
void AddMessage(const char *format,...)
Definition: scrollview.cpp:562
inT16 right() const
Definition: rect.h:74
WERD * word
Definition: pageres.h:334
inT16 top() const
Definition: rect.h:53
ScrollView * image_win
Definition: pgedit.cpp:106
Definition: points.h:189
TBOX bounding_box()
Definition: stepblob.cpp:192
inT16 bottom() const
Definition: rect.h:60

Variable Documentation

ScrollView* bln_word_window = NULL

Definition at line 113 of file pgedit.cpp.

PAGE_RES* current_page_res = NULL

Definition at line 127 of file pgedit.cpp.

BOOL8 display_baselines = FALSE

Definition at line 125 of file pgedit.cpp.

BOOL8 display_blocks = FALSE

Definition at line 124 of file pgedit.cpp.

BOOL8 display_image = FALSE

Definition at line 123 of file pgedit.cpp.

int editor_dbwin_height = 24

"Editor debug window height"

Definition at line 145 of file pgedit.cpp.

char* editor_dbwin_name = "EditorDBWin"

"Editor debug window name"

Definition at line 142 of file pgedit.cpp.

int editor_dbwin_width = 80

"Editor debug window width"

Definition at line 146 of file pgedit.cpp.

int editor_dbwin_xpos = 50

"Editor debug window X Pos"

Definition at line 143 of file pgedit.cpp.

int editor_dbwin_ypos = 500

"Editor debug window Y Pos"

Definition at line 144 of file pgedit.cpp.

char* editor_debug_config_file = ""

"Config file to apply to single words"

Definition at line 154 of file pgedit.cpp.

int editor_image_blob_bb_color = ScrollView::YELLOW

"Blob bounding box colour"

Definition at line 137 of file pgedit.cpp.

int editor_image_menuheight = 50

"Add to image height for menu bar"

Definition at line 133 of file pgedit.cpp.

int editor_image_text_color = ScrollView::WHITE

"Correct text colour"

Definition at line 139 of file pgedit.cpp.

char* editor_image_win_name = "EditorImage"

"Editor image window name"

Definition at line 130 of file pgedit.cpp.

int editor_image_word_bb_color = ScrollView::BLUE

"Word bounding box colour"

Definition at line 135 of file pgedit.cpp.

int editor_image_xpos = 590

"Editor image X Pos"

Definition at line 131 of file pgedit.cpp.

int editor_image_ypos = 10

"Editor image Y Pos"

Definition at line 132 of file pgedit.cpp.

int editor_word_height = 240

"Word window height"

Definition at line 151 of file pgedit.cpp.

char* editor_word_name = "BlnWords"

"BL normalized word window"

Definition at line 148 of file pgedit.cpp.

int editor_word_width = 655

"Word window width"

Definition at line 152 of file pgedit.cpp.

int editor_word_xpos = 60

"Word window X Pos"

Definition at line 149 of file pgedit.cpp.

int editor_word_ypos = 510

"Word window Y Pos"

Definition at line 150 of file pgedit.cpp.

const ERRCODE EMPTYBLOCKLIST = "No blocks to edit"

Definition at line 52 of file pgedit.cpp.

ScrollView* image_win

Definition at line 106 of file pgedit.cpp.

Definition at line 115 of file pgedit.cpp.

Definition at line 107 of file pgedit.cpp.

bool recog_done = false

Definition at line 117 of file pgedit.cpp.

bool stillRunning = false

Definition at line 108 of file pgedit.cpp.

BITS16 word_display_mode

Definition at line 121 of file pgedit.cpp.