| 129 | } |
| 130 | |
| 131 | void ScreenBase::SetFromRects(m2::AnyRectD const & glbRect, m2::RectD const & pxRect) |
| 132 | { |
| 133 | m2::RectD const & lRect = glbRect.GetLocalRect(); |
| 134 | ASSERT(lRect.IsValid(), (lRect)); |
| 135 | ASSERT(!pxRect.IsEmptyInterior(), (pxRect)); |
| 136 | |
| 137 | double const hScale = lRect.SizeX() / pxRect.SizeX(); |
| 138 | double const vScale = lRect.SizeY() / pxRect.SizeY(); |
| 139 | m_Scale = std::max(hScale, vScale); |
| 140 | ASSERT_GREATER(m_Scale, 0.0, ()); |
| 141 | |
| 142 | m_Angle = glbRect.Angle(); |
| 143 | m_Org = glbRect.GlobalCenter(); |
| 144 | |
| 145 | UpdateDependentParameters(); |
| 146 | } |
| 147 | |
| 148 | void ScreenBase::SetFromRect(m2::AnyRectD const & glbRect) |
| 149 | { |