#ifndef _ZONE_H #define _ZONE_H #include "stdlib.h" #include #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