1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-12 10:03:53 +02:00
vcmi/client/mapView/MapViewActions.h

46 lines
1.2 KiB
C
Raw Normal View History

/*
* MapViewActions.h, part of VCMI engine
*
* Authors: listed in file AUTHORS in main folder
*
* License: GNU General Public License v2.0 or later
* Full text of license available in license.txt file, in main folder
*
*/
#pragma once
#include "../../lib/int3.h"
2023-03-01 18:15:42 +02:00
#include "../gui/CIntObject.h"
class IMapRendererContext;
class MapViewModel;
class MapView;
class MapViewActions : public CIntObject
{
bool isSwiping;
Point swipeInitialViewPos;
Point swipeInitialRealPos;
MapView & owner;
std::shared_ptr<MapViewModel> model;
std::shared_ptr<IMapRendererContext> context;
void handleHover(const Point & cursorPosition);
void handleSwipeMove(const Point & cursorPosition);
bool handleSwipeStateChange(bool btnPressed);
2023-03-05 23:53:06 +02:00
bool swipeEnabled() const;
public:
2023-03-01 18:15:42 +02:00
MapViewActions(MapView & owner, const std::shared_ptr<MapViewModel> & model);
void setContext(const std::shared_ptr<IMapRendererContext> & context);
void clickLeft(tribool down, bool previousState) override;
void clickRight(tribool down, bool previousState) override;
void clickMiddle(tribool down, bool previousState) override;
void hover(bool on) override;
2023-03-01 18:15:42 +02:00
void mouseMoved(const Point & cursorPosition) override;
};