bool Object::IsInsideVisibleArea() const { IE::rect rect = gfx_rect_to_rect(RoomContainer::Get()->VisibleArea()); if (rect_contains(rect, Position())) return true; return false; }
void RoomBase::SetAreaOffset(const IE::point& point) { GFX::rect areaRect = AreaRect(); fAreaOffset = point; if (fAreaOffset.x < 0) fAreaOffset.x = 0; else if (fAreaOffset.x + fViewPort.w > areaRect.w) fAreaOffset.x = std::max(areaRect.w - fViewPort.w, 0); if (fAreaOffset.y < 0) fAreaOffset.y = 0; else if (fAreaOffset.y + fViewPort.h > areaRect.h) fAreaOffset.y = std::max(areaRect.h - fViewPort.h, 0); fMapArea = gfx_rect_to_rect(offset_rect_to(fViewPort, fAreaOffset.x, fAreaOffset.y)); }
/* virtual */ IE::rect RoomContainer::Frame() const { return gfx_rect_to_rect(AreaRect()); }
/* virtual */ IE::rect RoomBase::Frame() const { return gfx_rect_to_rect(AreaRect()); }