(svn r23402) -Add: Function to check if a TileArea contains a tile. (michi_cc)

This commit is contained in:
terkhen 2011-12-03 20:19:33 +00:00
parent c792125d6a
commit bf1b6d570b
2 changed files with 21 additions and 0 deletions

View File

@ -93,6 +93,25 @@ bool TileArea::Intersects(const TileArea &ta) const
);
}
/**
* Does this tile area contain a tile?
* @param tile Tile to test for.
* @return True if the tile is inside the area.
*/
bool TileArea::Contains(TileIndex tile) const
{
if (this->w == 0) return false;
assert(this->w != 0 && this->h != 0);
uint left = TileX(this->tile);
uint top = TileY(this->tile);
uint tile_x = TileX(tile);
uint tile_y = TileY(tile);
return IsInsideBS(tile_x, left, this->w) && IsInsideBS(tile_y, top, this->h);
}
/**
* Clamp the tile area to map borders.
*/

View File

@ -48,6 +48,8 @@ struct TileArea {
bool Intersects(const TileArea &ta) const;
bool Contains(TileIndex tile) const;
void ClampToMap();
/**