Init from working directory of svn repository.
#include "Zone.h"
#include "system.h"
Zone::Zone(Point ulp, Point lrp, ZonedPage * parentPage)
:fparent(parentPage) , ful(ulp), flr(lrp)
{
fpage = new Page;
convertMap(fparent->bmap(),fpage->rmap(), ful, flr);
convertMap(fpage->rmap(), fpage->bmap(), NOPNT, NOPNT);
}
void Zone::buildPage(ZonedPage * parentPage)
// ful and flr must already be set
{
if (fpage != NULL)
delete fpage;
fparent = parentPage;
fpage = new Page;
convertMap(fparent->bmap(),fpage->rmap(), ful, flr);
convertMap(fpage->rmap(), fpage->bmap(), NOPNT, NOPNT);
}
Zone::~Zone()
{
delete fpage;
}
Zones::Zones()
:List()
{}
Zone * Zones::findZone(int x, int y)
{
for (ListElement *ptr = first; ptr != NULL && ptr->item!=NULL;
ptr = ptr->next)
{
Zone * item = (Zone *) ptr->item;
if ( x >= item->ul().x() && x <= item->lr().x() &&
y >= item->ul().y() && y <= item->lr().y())
return item;
}
return NULL;
}
Zones::~Zones()
{
for (ListElement *ptr = first; ptr != NULL && ptr->item!=NULL;
ptr = ptr->next) {
if (ptr->item != NULL)
delete (Zone *) (ptr->item);
}
while(!IsEmpty())
Remove();
}