reference/ocr-new/Zone.cc
author viric@llimona
Thu, 18 May 2006 23:12:51 +0200
changeset 0 6b8091ca909a
permissions -rw-r--r--
Init from working directory of svn repository.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     1
#include "Zone.h"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     2
#include "system.h"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     3
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     4
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     5
Zone::Zone(Point ulp, Point lrp, ZonedPage * parentPage)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     6
     :fparent(parentPage) , ful(ulp), flr(lrp)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     7
     { 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     8
       fpage = new Page;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     9
       convertMap(fparent->bmap(),fpage->rmap(), ful, flr);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    10
       convertMap(fpage->rmap(), fpage->bmap(), NOPNT, NOPNT); 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    11
     }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    12
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    13
void Zone::buildPage(ZonedPage * parentPage)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    14
     // ful and flr must already be set
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    15
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    16
  if (fpage != NULL) 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    17
    delete fpage;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    18
  fparent = parentPage;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    19
  fpage = new Page;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    20
  convertMap(fparent->bmap(),fpage->rmap(), ful, flr);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    21
  convertMap(fpage->rmap(), fpage->bmap(), NOPNT, NOPNT); 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    22
  
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    23
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    24
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    25
Zone::~Zone()
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    26
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    27
  delete fpage;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    28
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    29
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    30
Zones::Zones()
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    31
  :List()
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    32
{}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    33
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    34
Zone * Zones::findZone(int x, int y)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    35
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    36
  for (ListElement *ptr = first; ptr != NULL && ptr->item!=NULL; 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    37
       ptr = ptr->next) 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    38
    {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    39
    
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    40
      Zone * item = (Zone *) ptr->item;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    41
      if ( x >= item->ul().x() && x <= item->lr().x()  &&
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    42
	   y >= item->ul().y() && y <= item->lr().y())
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    43
	return item;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    44
    }	
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    45
      return NULL;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    46
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    47
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    48
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    49
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    50
Zones::~Zones()
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    51
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    52
  for (ListElement *ptr = first; ptr != NULL && ptr->item!=NULL; 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    53
       ptr = ptr->next) {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    54
    if (ptr->item != NULL)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    55
      delete (Zone *) (ptr->item);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    56
     }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    57
  while(!IsEmpty())
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    58
    Remove();
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    59
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    60
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    61
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    62
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    63
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    64
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    65
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    66
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    67
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    68
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    69
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    70
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    71
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    72