mirror of
https://github.com/vcmi/vcmi.git
synced 2025-04-11 11:31:52 +02:00
save mapzoom
This commit is contained in:
parent
3627731041
commit
7beabc44ea
@ -210,7 +210,12 @@ void MapView::onMapZoomLevelChanged(int stepsChange, bool useDeadZone)
|
||||
void MapView::onViewMapActivated()
|
||||
{
|
||||
controller->activateAdventureContext();
|
||||
controller->setTileSize(Point(32, 32));
|
||||
|
||||
int zoom = persistentStorage["tileZoom"].Integer();
|
||||
if(zoom)
|
||||
controller->setTileSize(Point(zoom, zoom));
|
||||
else
|
||||
controller->setTileSize(Point(32, 32));
|
||||
}
|
||||
|
||||
PuzzleMapView::PuzzleMapView(const Point & offset, const Point & dimensions, const int3 & tileToCenter)
|
||||
|
@ -72,7 +72,7 @@ void MapViewController::setViewCenter(const Point & position, int level)
|
||||
adventureInt->onMapViewMoved(model->getTilesTotalRect(), model->getLevel());
|
||||
}
|
||||
|
||||
void MapViewController::setTileSize(const Point & tileSize)
|
||||
void MapViewController::setTileSize(const Point & tileSize, bool setTarget)
|
||||
{
|
||||
Point oldSize = model->getSingleTileSize();
|
||||
model->setTileSize(tileSize);
|
||||
@ -87,6 +87,9 @@ void MapViewController::setTileSize(const Point & tileSize)
|
||||
|
||||
// force update of view center since changing tile size may invalidated it
|
||||
setViewCenter(newViewCenter, model->getLevel());
|
||||
|
||||
if(setTarget)
|
||||
targetTileSize = tileSize;
|
||||
}
|
||||
|
||||
void MapViewController::modifyTileSize(int stepsChange, bool useDeadZone)
|
||||
@ -125,7 +128,7 @@ void MapViewController::modifyTileSize(int stepsChange, bool useDeadZone)
|
||||
if(actualZoom.y >= defaultTileSize - zoomTileDeadArea && actualZoom.y <= defaultTileSize + zoomTileDeadArea)
|
||||
actualZoom.y = defaultTileSize;
|
||||
}
|
||||
|
||||
|
||||
bool isInDeadZone = targetTileSize != actualZoom || actualZoom == Point(defaultTileSize, defaultTileSize);
|
||||
|
||||
if(!wasInDeadZone && isInDeadZone)
|
||||
@ -133,7 +136,10 @@ void MapViewController::modifyTileSize(int stepsChange, bool useDeadZone)
|
||||
|
||||
wasInDeadZone = isInDeadZone;
|
||||
|
||||
setTileSize(actualZoom);
|
||||
setTileSize(actualZoom, false);
|
||||
|
||||
Settings tileZoom = persistentStorage.write["tileZoom"];
|
||||
tileZoom->Integer() = actualZoom.x;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -96,7 +96,7 @@ public:
|
||||
|
||||
void setViewCenter(const int3 & position);
|
||||
void setViewCenter(const Point & position, int level);
|
||||
void setTileSize(const Point & tileSize);
|
||||
void setTileSize(const Point & tileSize, bool setTarget = true);
|
||||
void modifyTileSize(int stepsChange, bool useDeadZone);
|
||||
void tick(uint32_t timePassed);
|
||||
void afterRender();
|
||||
|
Loading…
x
Reference in New Issue
Block a user