tesseract  3.03
/usr/local/google/home/jbreiden/tesseract-ocr-read-only/textord/drawedg.cpp
Go to the documentation of this file.
00001 /**********************************************************************
00002  * File:        drawedg.c  (Formerly drawedge.c)
00003  * Description: Collection of functions to draw things to do with edge detection.
00004  * Author:                  Ray Smith
00005  * Created:                 Thu Jun 06 13:29:20 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          "drawedg.h"
00021 
00022 // Include automatically generated configuration file if running autoconf.
00023 #ifdef HAVE_CONFIG_H
00024 #include "config_auto.h"
00025 #endif
00026 
00027 #ifndef GRAPHICS_DISABLED
00028 
00030 #define IMAGE_WIN_NAME    "Edges"
00031 #define IMAGE_XPOS      250
00032 
00033 #define IMAGE_YPOS      0
00034 
00035 #define EXTERN
00036 
00044 ScrollView* create_edges_window(ICOORD page_tr) {
00045   ScrollView* image_win;              //image window
00046 
00047                                  //create the window
00048   image_win = new ScrollView (IMAGE_WIN_NAME, IMAGE_XPOS, IMAGE_YPOS, 0, 0, page_tr.x (),  page_tr.y ());
00049   return image_win;              //window
00050 }
00051 
00052 
00062 void draw_raw_edge(ScrollView* fd,
00063                    CRACKEDGE *start,
00064                    ScrollView::Color colour) {
00065   CRACKEDGE *edgept;             //current point
00066 
00067   fd->Pen(colour);
00068   edgept = start;
00069   fd->SetCursor(edgept->pos.x (), edgept->pos.y ());
00070   do {
00071     do
00072     edgept = edgept->next;
00073                                  //merge straight lines
00074     while (edgept != start && edgept->prev->stepx == edgept->stepx && edgept->prev->stepy == edgept->stepy);
00075 
00076                                  //draw lines
00077   fd->DrawTo(edgept->pos.x (), edgept->pos.y ());
00078   }
00079   while (edgept != start);
00080 }
00081 
00082 #endif  // GRAPHICS_DISABLED
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines