forked from organicmaps/organicmaps
Merge pull request #5149 from darina/font-scale-setting
Large fonts size setting added.
This commit is contained in:
commit
446610c853
4 changed files with 35 additions and 21 deletions
|
@ -13,11 +13,6 @@
|
|||
#include "std/bind.hpp"
|
||||
#include "std/utility.hpp"
|
||||
|
||||
namespace
|
||||
{
|
||||
char const kFontScale[] = "FontScale";
|
||||
}
|
||||
|
||||
namespace df
|
||||
{
|
||||
DrapeEngine::DrapeEngine(Params && params)
|
||||
|
@ -25,9 +20,7 @@ DrapeEngine::DrapeEngine(Params && params)
|
|||
{
|
||||
VisualParams::Init(params.m_vs, df::CalculateTileSize(m_viewport.GetWidth(), m_viewport.GetHeight()));
|
||||
|
||||
double scaleFactor = 1.0;
|
||||
if (settings::Get(kFontScale, scaleFactor))
|
||||
df::VisualParams::Instance().SetFontScale(scaleFactor);
|
||||
df::VisualParams::Instance().SetFontScale(params.m_fontsScaleFactor);
|
||||
|
||||
gui::DrapeGui & guiSubsystem = gui::DrapeGui::Instance();
|
||||
guiSubsystem.SetLocalizator(bind(&StringsBundle::GetString, params.m_stringsBundle.get(), _1));
|
||||
|
@ -578,7 +571,6 @@ void DrapeEngine::SetFontScaleFactor(double scaleFactor)
|
|||
|
||||
scaleFactor = my::clamp(scaleFactor, kMinScaleFactor, kMaxScaleFactor);
|
||||
|
||||
settings::Set(kFontScale, scaleFactor);
|
||||
VisualParams::Instance().SetFontScale(scaleFactor);
|
||||
}
|
||||
|
||||
|
|
|
@ -42,6 +42,7 @@ public:
|
|||
Viewport const & viewport,
|
||||
MapDataProvider const & model,
|
||||
double vs,
|
||||
double fontsScaleFactor,
|
||||
gui::TWidgetsInitInfo && info,
|
||||
pair<location::EMyPositionMode, bool> const & initialMyPositionMode,
|
||||
bool allow3dBuildings,
|
||||
|
@ -57,6 +58,7 @@ public:
|
|||
, m_viewport(viewport)
|
||||
, m_model(model)
|
||||
, m_vs(vs)
|
||||
, m_fontsScaleFactor(fontsScaleFactor)
|
||||
, m_info(move(info))
|
||||
, m_initialMyPositionMode(initialMyPositionMode)
|
||||
, m_allow3dBuildings(allow3dBuildings)
|
||||
|
@ -74,6 +76,7 @@ public:
|
|||
Viewport m_viewport;
|
||||
MapDataProvider m_model;
|
||||
double m_vs;
|
||||
double m_fontsScaleFactor;
|
||||
gui::TWidgetsInitInfo m_info;
|
||||
pair<location::EMyPositionMode, bool> m_initialMyPositionMode;
|
||||
bool m_allow3dBuildings;
|
||||
|
|
|
@ -124,9 +124,10 @@ char const kAllow3dKey[] = "Allow3d";
|
|||
char const kAllow3dBuildingsKey[] = "Buildings3d";
|
||||
char const kAllowAutoZoom[] = "AutoZoom";
|
||||
char const kTrafficEnabledKey[] = "TrafficEnabled";
|
||||
char const kLargeFontsSize[] = "LargeFontsSize";
|
||||
|
||||
double const kDistEqualQueryMeters = 100.0;
|
||||
|
||||
double const kLargeFontsScaleFactor = 1.6;
|
||||
size_t constexpr kMaxTrafficCacheSizeBytes = 64 /* Mb */ * 1024 * 1024;
|
||||
|
||||
// Must correspond SearchMarkType.
|
||||
|
@ -1659,11 +1660,13 @@ void Framework::CreateDrapeEngine(ref_ptr<dp::OGLContextFactory> contextFactory,
|
|||
bool const trafficEnabled = LoadTrafficEnabled();
|
||||
m_trafficManager.SetEnabled(trafficEnabled);
|
||||
|
||||
double const fontsScaleFactor = LoadLargeFontsSize() ? kLargeFontsScaleFactor : 1.0;
|
||||
|
||||
df::DrapeEngine::Params p(contextFactory,
|
||||
make_ref(&m_stringsBundle),
|
||||
df::Viewport(0, 0, params.m_surfaceWidth, params.m_surfaceHeight),
|
||||
df::MapDataProvider(idReadFn, featureReadFn, isCountryLoadedByNameFn, updateCurrentCountryFn),
|
||||
params.m_visualScale, move(params.m_widgetsInitInfo),
|
||||
params.m_visualScale, fontsScaleFactor, move(params.m_widgetsInitInfo),
|
||||
make_pair(params.m_initialMyPositionState, params.m_hasMyPositionState),
|
||||
allow3dBuildings, trafficEnabled, params.m_isChoosePositionMode,
|
||||
params.m_isChoosePositionMode, GetSelectedFeatureTriangles(), params.m_isFirstLaunch,
|
||||
|
@ -1825,14 +1828,6 @@ void Framework::OnUpdateGpsTrackPointsCallback(vector<pair<size_t, location::Gps
|
|||
m_drapeEngine->UpdateGpsTrackPoints(move(pointsAdd), move(indicesRemove));
|
||||
}
|
||||
|
||||
void Framework::SetFontScaleFactor(double scaleFactor)
|
||||
{
|
||||
ASSERT(m_drapeEngine.get() != nullptr, ());
|
||||
m_drapeEngine->SetFontScaleFactor(scaleFactor);
|
||||
|
||||
InvalidateRect(GetCurrentViewport());
|
||||
}
|
||||
|
||||
void Framework::MarkMapStyle(MapStyle mapStyle)
|
||||
{
|
||||
// Store current map style before classificator reloading
|
||||
|
@ -2712,6 +2707,28 @@ void Framework::Load3dMode(bool & allow3d, bool & allow3dBuildings)
|
|||
allow3dBuildings = true;
|
||||
}
|
||||
|
||||
void Framework::SaveLargeFontsSize(bool isLargeSize)
|
||||
{
|
||||
settings::Set(kLargeFontsSize, isLargeSize);
|
||||
}
|
||||
|
||||
bool Framework::LoadLargeFontsSize()
|
||||
{
|
||||
bool isLargeSize = false;
|
||||
settings::Get(kLargeFontsSize, isLargeSize);
|
||||
return isLargeSize;
|
||||
}
|
||||
|
||||
void Framework::SetLargeFontsSize(bool isLargeSize)
|
||||
{
|
||||
double const scaleFactor = isLargeSize ? kLargeFontsScaleFactor : 1.0;
|
||||
|
||||
ASSERT(m_drapeEngine.get() != nullptr, ());
|
||||
m_drapeEngine->SetFontScaleFactor(scaleFactor);
|
||||
|
||||
InvalidateRect(GetCurrentViewport());
|
||||
}
|
||||
|
||||
bool Framework::LoadTrafficEnabled()
|
||||
{
|
||||
bool enabled = false;
|
||||
|
|
|
@ -451,8 +451,6 @@ public:
|
|||
void OnRecoverGLContext(int width, int height);
|
||||
void OnDestroyGLContext();
|
||||
|
||||
void SetFontScaleFactor(double scaleFactor);
|
||||
|
||||
private:
|
||||
/// Depends on initialized Drape engine.
|
||||
void SaveViewport();
|
||||
|
@ -776,6 +774,10 @@ public:
|
|||
void Save3dMode(bool allow3d, bool allow3dBuildings);
|
||||
void Load3dMode(bool & allow3d, bool & allow3dBuildings);
|
||||
|
||||
void SetLargeFontsSize(bool isLargeSize);
|
||||
void SaveLargeFontsSize(bool isLargeSize);
|
||||
bool LoadLargeFontsSize();
|
||||
|
||||
bool LoadAutoZoom();
|
||||
void AllowAutoZoom(bool allowAutoZoom);
|
||||
void SaveAutoZoom(bool allowAutoZoom);
|
||||
|
|
Loading…
Add table
Reference in a new issue