libosmscout 1.1.1
Loading...
Searching...
No Matches
osmscout::InputHandler Class Reference

#include <libosmscout-client-qt/include/osmscoutclientqt/InputHandler.h>

Inheritance diagram for osmscout::InputHandler:
Collaboration diagram for osmscout::InputHandler:

Signals

void viewChanged (const MapView &view)

Public Member Functions

 InputHandler (const MapView &view)
 ~InputHandler () override=default
virtual void painted ()
virtual bool animationInProgress ()
virtual bool showCoordinates (const osmscout::GeoCoord &coord, const osmscout::Magnification &magnification, const osmscout::Bearing &bearing)
virtual bool zoom (double zoomFactor, const QPoint &widgetPosition, const QRect &widgetDimension)
virtual bool move (const QVector2D &vector)
virtual bool rotateTo (double angle)
virtual bool rotateBy (double angleChange)
virtual bool touch (const QTouchEvent &event)
virtual bool currentPosition (bool locationValid, osmscout::GeoCoord currentPosition)
virtual bool vehiclePosition (const VehiclePosition &vehiclePosition, bool autoRotateMap)
virtual bool isLockedToPosition ()
virtual bool isFollowVehicle ()
virtual bool focusOutEvent (QFocusEvent *event)
virtual void widgetResized (const QSizeF &widgetSize)

Protected Attributes

MapView view

Detailed Description

Input handler retrieve all inputs from user and may change MapView (emits viewChange signal). If handler don't accept specific action, returns false. In such case, default handler for this action should be activated.

Input handlers is application of behaviour pattern. It solves problems like:

  • what should happen when finger is on the screen and plus button is pressed
  • recognising multitouch gestures

Qt provides api for register custom gesture recognizers, but it is not available in QML world and its api don't fit to Map application requierements.

Handler also controls map animations.

Constructor & Destructor Documentation

◆ InputHandler()

osmscout::InputHandler::InputHandler ( const MapView & view)
explicit

◆ ~InputHandler()

osmscout::InputHandler::~InputHandler ( )
overridedefault

Member Function Documentation

◆ animationInProgress()

virtual bool osmscout::InputHandler::animationInProgress ( )
virtual

◆ currentPosition()

virtual bool osmscout::InputHandler::currentPosition ( bool locationValid,
osmscout::GeoCoord currentPosition )
virtual

Reimplemented in osmscout::LockHandler.

◆ focusOutEvent()

virtual bool osmscout::InputHandler::focusOutEvent ( QFocusEvent * event)
virtual

Reimplemented in osmscout::LockHandler.

◆ isFollowVehicle()

virtual bool osmscout::InputHandler::isFollowVehicle ( )
virtual

Reimplemented in osmscout::VehicleFollowHandler.

◆ isLockedToPosition()

virtual bool osmscout::InputHandler::isLockedToPosition ( )
virtual

◆ move()

virtual bool osmscout::InputHandler::move ( const QVector2D & vector)
virtual

◆ painted()

virtual void osmscout::InputHandler::painted ( )
virtual

◆ rotateBy()

virtual bool osmscout::InputHandler::rotateBy ( double angleChange)
virtual

◆ rotateTo()

virtual bool osmscout::InputHandler::rotateTo ( double angle)
virtual

Reimplemented in osmscout::MoveHandler.

◆ showCoordinates()

virtual bool osmscout::InputHandler::showCoordinates ( const osmscout::GeoCoord & coord,
const osmscout::Magnification & magnification,
const osmscout::Bearing & bearing )
virtual

◆ touch()

virtual bool osmscout::InputHandler::touch ( const QTouchEvent & event)
virtual

◆ vehiclePosition()

virtual bool osmscout::InputHandler::vehiclePosition ( const VehiclePosition & vehiclePosition,
bool autoRotateMap )
virtual

Reimplemented in osmscout::VehicleFollowHandler.

◆ viewChanged

void osmscout::InputHandler::viewChanged ( const MapView & view)
signal

◆ widgetResized()

virtual void osmscout::InputHandler::widgetResized ( const QSizeF & widgetSize)
virtual

◆ zoom()

virtual bool osmscout::InputHandler::zoom ( double zoomFactor,
const QPoint & widgetPosition,
const QRect & widgetDimension )
virtual

Member Data Documentation

◆ view

MapView osmscout::InputHandler::view
protected

The documentation for this class was generated from the following file: