mirror of
https://github.com/vcmi/vcmi.git
synced 2025-06-15 00:05:02 +02:00
Haptic feedback and increased dead zone
This commit is contained in:
@ -20,6 +20,7 @@
|
|||||||
#include "../adventureMap/AdventureMapInterface.h"
|
#include "../adventureMap/AdventureMapInterface.h"
|
||||||
#include "../gui/CGuiHandler.h"
|
#include "../gui/CGuiHandler.h"
|
||||||
#include "../gui/WindowHandler.h"
|
#include "../gui/WindowHandler.h"
|
||||||
|
#include "../eventsSDL/InputHandler.h"
|
||||||
|
|
||||||
#include "../../lib/CConfigHandler.h"
|
#include "../../lib/CConfigHandler.h"
|
||||||
#include "../../lib/mapObjects/CGHeroInstance.h"
|
#include "../../lib/mapObjects/CGHeroInstance.h"
|
||||||
@ -118,6 +119,14 @@ void MapViewController::modifyTileSize(int stepsChange)
|
|||||||
actualZoom.x = defaultTileSize;
|
actualZoom.x = defaultTileSize;
|
||||||
if(actualZoom.y >= defaultTileSize - zoomTileDeadArea && actualZoom.y <= defaultTileSize + zoomTileDeadArea)
|
if(actualZoom.y >= defaultTileSize - zoomTileDeadArea && actualZoom.y <= defaultTileSize + zoomTileDeadArea)
|
||||||
actualZoom.y = defaultTileSize;
|
actualZoom.y = defaultTileSize;
|
||||||
|
|
||||||
|
bool isInDeadZone = targetTileSize != actualZoom;
|
||||||
|
|
||||||
|
if(!wasInDeadZone && isInDeadZone)
|
||||||
|
GH.input().hapticFeedback();
|
||||||
|
|
||||||
|
wasInDeadZone = isInDeadZone;
|
||||||
|
|
||||||
setTileSize(actualZoom);
|
setTileSize(actualZoom);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -51,8 +51,9 @@ class MapViewController : public IMapObjectObserver
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
const int defaultTileSize = 32;
|
const int defaultTileSize = 32;
|
||||||
const int zoomTileDeadArea = 4;
|
const int zoomTileDeadArea = 5;
|
||||||
Point targetTileSize = Point(32, 32);
|
Point targetTileSize = Point(32, 32);
|
||||||
|
bool wasInDeadZone = true;
|
||||||
|
|
||||||
bool isEventInstant(const CGObjectInstance * obj);
|
bool isEventInstant(const CGObjectInstance * obj);
|
||||||
bool isEventVisible(const CGObjectInstance * obj);
|
bool isEventVisible(const CGObjectInstance * obj);
|
||||||
|
Reference in New Issue
Block a user