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.

#ifndef _ZONE_H
#define _ZONE_H
#include "stdlib.h"
#include <iostream.h>
#include "Point.h"
#include "system.h" 
#include "list.h"
#include "RLEMap.h"
#include "BitMap.h"
#include "Page.h"

class Page;
class ZonedPage;

extern Point NOPNT;

class Zone
{


public:
  Zone()
    : ful(NOPNT) , flr(NOPNT) , fpage(NULL), fparent(NULL) 
     {};
  Zone(Point ulp, Point lrp)
       :ful(ulp), flr(lrp), fpage(NULL), fparent(NULL) 
       {};

  Zone(Point ulp, Point lrp, ZonedPage * parentPage);

  ~Zone();
    
  void buildPage(ZonedPage * parentPage);


  inline Point ul() {return ful;};
  inline Point lr() {return flr;};
  inline Page * page() {return fpage;};
  inline Page * parent() {return fparent;};

private:
  Point ful;
  Point flr;
  Page * fpage;
  Page * fparent;  // page of which this is a part
};


class Zones : public List
{
public:
  Zones();
  Zone * findZone(int x, int y);
  ~Zones();
  
};

#endif