reference/ocr-new/Zone.h
changeset 0 6b8091ca909a
equal deleted inserted replaced
-1:000000000000 0:6b8091ca909a
       
     1 #ifndef _ZONE_H
       
     2 #define _ZONE_H
       
     3 #include "stdlib.h"
       
     4 #include <iostream.h>
       
     5 #include "Point.h"
       
     6 #include "system.h" 
       
     7 #include "list.h"
       
     8 #include "RLEMap.h"
       
     9 #include "BitMap.h"
       
    10 #include "Page.h"
       
    11 
       
    12 class Page;
       
    13 class ZonedPage;
       
    14 
       
    15 extern Point NOPNT;
       
    16 
       
    17 class Zone
       
    18 {
       
    19 
       
    20 
       
    21 public:
       
    22   Zone()
       
    23     : ful(NOPNT) , flr(NOPNT) , fpage(NULL), fparent(NULL) 
       
    24      {};
       
    25   Zone(Point ulp, Point lrp)
       
    26        :ful(ulp), flr(lrp), fpage(NULL), fparent(NULL) 
       
    27        {};
       
    28 
       
    29   Zone(Point ulp, Point lrp, ZonedPage * parentPage);
       
    30 
       
    31   ~Zone();
       
    32     
       
    33   void buildPage(ZonedPage * parentPage);
       
    34 
       
    35 
       
    36   inline Point ul() {return ful;};
       
    37   inline Point lr() {return flr;};
       
    38   inline Page * page() {return fpage;};
       
    39   inline Page * parent() {return fparent;};
       
    40 
       
    41 private:
       
    42   Point ful;
       
    43   Point flr;
       
    44   Page * fpage;
       
    45   Page * fparent;  // page of which this is a part
       
    46 };
       
    47 
       
    48 
       
    49 class Zones : public List
       
    50 {
       
    51 public:
       
    52   Zones();
       
    53   Zone * findZone(int x, int y);
       
    54   ~Zones();
       
    55   
       
    56 };
       
    57 
       
    58 #endif
       
    59 
       
    60 
       
    61 
       
    62 
       
    63 
       
    64 
       
    65 
       
    66 
       
    67 
       
    68 
       
    69 
       
    70