Files
comaps/drape_frontend/gui/ruler_helper.hpp
Konstantin Pastbin e3e4a1985a Organic Maps sources as of 02.04.2025 (fad26bbf22ac3da75e01e62aa01e5c8e11861005)
To expand with full Organic Maps and Maps.ME commits history run:
  git remote add om-historic [om-historic.git repo url]
  git fetch --tags om-historic
  git replace squashed-history historic-commits
2025-05-08 21:10:51 +07:00

41 lines
839 B
C++

#pragma once
#include <cstdint>
#include <string>
class ScreenBase;
namespace gui
{
class RulerHelper
{
public:
RulerHelper();
void Update(ScreenBase const & screen);
static bool IsVisible(ScreenBase const & screen);
void Invalidate();
static float GetRulerHalfHeight();
float GetRulerPixelLength() const;
static float GetMaxRulerPixelLength();
static int GetVerticalTextOffset();
bool IsTextDirty() const;
std::string const & GetRulerText() const;
void ResetTextDirtyFlag();
static void GetTextInitInfo(std::string & alphabet, uint32_t & size);
private:
double CalcMetersDiff(double value);
void SetTextDirty();
private:
float m_pixelLength;
int m_rangeIndex;
std::string m_rulerText;
bool m_isTextDirty;
mutable bool m_dirtyTextRequested;
int m_currentDrawScale = 0;
};
} // namespace gui