reference/ocr-new/Zone.h
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
#ifndef _ZONE_H
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     2
#define _ZONE_H
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     3
#include "stdlib.h"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     4
#include <iostream.h>
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     5
#include "Point.h"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     6
#include "system.h" 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     7
#include "list.h"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     8
#include "RLEMap.h"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     9
#include "BitMap.h"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    10
#include "Page.h"
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
class Page;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    13
class ZonedPage;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    14
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    15
extern Point NOPNT;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    16
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    17
class Zone
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    18
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    19
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    20
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    21
public:
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    22
  Zone()
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    23
    : ful(NOPNT) , flr(NOPNT) , fpage(NULL), fparent(NULL) 
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(Point ulp, Point lrp)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    26
       :ful(ulp), flr(lrp), fpage(NULL), fparent(NULL) 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    27
       {};
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
  Zone(Point ulp, Point lrp, ZonedPage * parentPage);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    30
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    31
  ~Zone();
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
  void buildPage(ZonedPage * parentPage);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    34
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
  inline Point ul() {return ful;};
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    37
  inline Point lr() {return flr;};
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    38
  inline Page * page() {return fpage;};
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    39
  inline Page * parent() {return fparent;};
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    40
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    41
private:
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    42
  Point ful;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    43
  Point flr;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    44
  Page * fpage;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    45
  Page * fparent;  // page of which this is a part
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
class Zones : public List
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    50
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    51
public:
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    52
  Zones();
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    53
  Zone * findZone(int x, int y);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    54
  ~Zones();
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    55
  
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
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    58
#endif
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