void CMainMap::DimMap() { CWindow* pw; CMap* pm; CSlider* ps; Math::Point pos, dim; float value; pw = static_cast<CWindow*>(m_interface->SearchControl(EVENT_WINDOW1)); if (pw == nullptr) return; pm = static_cast<CMap*>(pw->SearchControl(EVENT_OBJECT_MAP)); if (pm == nullptr) return; pm->SetState(STATE_VISIBLE, (m_mapMode != 0)); dim.x = 100.0f/640.0f; dim.y = 100.0f/480.0f; pos.x = 540.0f/640.0f; pos.y = 0.0f/480.0f; pm->SetPos(pos); pm->SetDim(dim); ps = static_cast<CSlider*>(pw->SearchControl(EVENT_OBJECT_MAPZOOM)); if (ps != nullptr) { ps->SetState(STATE_VISIBLE, (m_mapMode != 0)); dim.x = SCROLL_WIDTH; dim.y = 66.0f / 480.0f; pos.x = 523.0f / 640.0f; pos.y = 3.0f / 480.0f; ps->SetPos(pos); ps->SetDim(dim); value = pm->GetZoom(); value = (value-ZOOM_MIN) / (ZOOM_MAX-ZOOM_MIN); value = powf(value, 0.5f); ps->SetVisibleValue(value); ps->SetArrowStep(0.2f); } }
float CMainMap::GetZoomMap() { CWindow* pw; CMap* pm; CSlider* ps; pw = static_cast<CWindow*>(m_interface->SearchControl(EVENT_WINDOW1)); if (pw == nullptr) return ZOOM_MIN; pm = static_cast<CMap*>(pw->SearchControl(EVENT_OBJECT_MAP)); if (pm == nullptr) return ZOOM_MIN; ps = static_cast<CSlider*>(pw->SearchControl(EVENT_OBJECT_MAPZOOM)); if (ps == nullptr) return ZOOM_MIN; return pm->GetZoom(); }