Files
comaps/libs/drape_frontend/gui/drape_gui.cpp
Konstantin Pastbin bfffa1fff4 Format all C++ and Java code via clang-format
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-08-17 14:32:37 +07:00

74 lines
1.4 KiB
C++

#include "drape_gui.hpp"
#include "ruler_helper.hpp"
#include "drape_frontend/color_constants.hpp"
#include "drape_frontend/visual_params.hpp"
#include "base/assert.hpp"
namespace gui
{
df::ColorConstant const kGuiTextColor = "GuiText";
struct DrapeGui::Impl
{
RulerHelper m_rulerHelper;
};
DrapeGui::DrapeGui() : m_impl(new Impl()) {}
DrapeGui & DrapeGui::Instance()
{
static DrapeGui s_gui;
if (!s_gui.m_impl)
s_gui.m_impl.reset(new Impl());
return s_gui;
}
RulerHelper & DrapeGui::GetRulerHelper()
{
return Instance().GetRulerHelperImpl();
}
dp::FontDecl DrapeGui::GetGuiTextFont()
{
return {df::GetColorConstant(kGuiTextColor), 14};
}
void DrapeGui::Destroy()
{
ASSERT(m_impl != nullptr, ());
m_impl.reset();
}
void DrapeGui::SetSurfaceSize(m2::PointF const & size)
{
std::lock_guard<std::mutex> lock(m_surfaceSizeMutex);
m_surfaceSize = size;
}
m2::PointF DrapeGui::GetSurfaceSize() const
{
std::lock_guard<std::mutex> lock(m_surfaceSizeMutex);
return m_surfaceSize;
}
RulerHelper & DrapeGui::GetRulerHelperImpl()
{
ASSERT(m_impl != nullptr, ());
return m_impl->m_rulerHelper;
}
void DrapeGui::ConnectOnCompassTappedHandler(Shape::TTapHandler const & handler)
{
m_onCompassTappedHandler = handler;
}
void DrapeGui::CallOnCompassTappedHandler()
{
if (m_onCompassTappedHandler != nullptr)
m_onCompassTappedHandler();
}
} // namespace gui