#include "TiledMap.h" TiledBox::TiledBox() { tid=-1; } struct TiledMap::impl { int l,c; TiledBox** data; int rectsize; int vpline,vpcol; }; TiledMap::TiledMap(int Line,int Col,int RectSize) { sp.reset(new impl); sp->l=Line; sp->c=Col; sp->rectsize=RectSize; sp->vpline=0; sp->vpcol=0; sp->data=new TiledBox*[sp->l]; for(int i=0;il;i++) { sp->data[i]=new TiledBox[sp->c]; } } int TiledMap::setBox(int LineID, int ColID, const TiledBox& box) { if(LineID>0&&LineIDl&&ColID>0&&ColIDc) { sp->data[LineID][ColID]=box; return 0; } return -1; } TiledBox* TiledMap::operator[] (int LineID) { return sp->data[LineID]; } int TiledMap::getRectSize() { return sp->rectsize; } void TiledMap::setRectSize(int RectSize) { if(RectSize<0) RectSize=0; sp->rectsize=RectSize; } void TiledMap::setViewPoint(int Line, int Col) { Line=std::min(std::max(Line,0),sp->l-1); Col=std::min(std::max(Col,0),sp->c-1); sp->vpline=Line; sp->vpcol=Col; } void TiledMap::getViewPoint(int& refLine, int& refCol) { refLine=sp->vpline; refCol=sp->vpcol; }