class CCL::AbstractTouchHandler

Overview

Base class for implementing a touch handler. More…

#include <abstracttouchhandler.h>

class AbstractTouchHandler: public CCL::ITouchHandler
{
public:
    // structs

    struct GestureItem;

    // construction

    AbstractTouchHandler (IView* view = nullptr);

    // methods

    IView* getView () const;

    void addRequiredGesture (
        int gestureType,
        int priority = GestureEvent::kPriorityNormal
    );

    virtual void CCL_API begin (const TouchEvent& event);
    virtual tbool CCL_API addTouch (const TouchEvent& event);
    virtual tbool CCL_API trigger (const TouchEvent& event);
    virtual void CCL_API finish (const TouchEvent& event, tbool canceled = false);

    virtual tbool CCL_API getRequiredGesture (
        int& gestureType,
        int& priority,
        int index
    );

    virtual tbool CCL_API onGesture (const GestureEvent& event);
    virtual tbool CCL_API allowsCompetingGesture (int gestureType);
    virtual bool onHover (const TouchEvent& event);
    virtual void onBegin (const TouchEvent& event);
    virtual bool onMove (const TouchEvent& event);
    virtual void onRelease (const TouchEvent& event, bool canceled);
};

Inherited Members

public:
    // methods

    virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0;
    virtual unsigned int CCL_API retain () = 0;
    virtual unsigned int CCL_API release () = 0;
    virtual void CCL_API begin (const TouchEvent& event) = 0;
    virtual tbool CCL_API addTouch (const TouchEvent& event) = 0;
    virtual tbool CCL_API trigger (const TouchEvent& event) = 0;
    virtual void CCL_API finish (const TouchEvent& event, tbool canceled = false) = 0;

    virtual tbool CCL_API getRequiredGesture (
        int& gestureType,
        int& priority,
        int index
    ) = 0;

    virtual tbool CCL_API onGesture (const GestureEvent& event) = 0;
    virtual tbool CCL_API allowsCompetingGesture (int gestureType) = 0;

Detailed Documentation

Base class for implementing a touch handler.

<>

Methods

virtual void CCL_API begin (const TouchEvent& event)

Begin touch tracking.

virtual tbool CCL_API addTouch (const TouchEvent& event)

Accept an additional touch or return false.

virtual tbool CCL_API trigger (const TouchEvent& event)

Handle touch event.

virtual void CCL_API finish (const TouchEvent& event, tbool canceled = false)

Finish touch tracking.

virtual tbool CCL_API getRequiredGesture (
    int& gestureType,
    int& priority,
    int index
)

Get GestureEvent::EventType codes for required gestures; return false when no more gesture alternatives.

virtual tbool CCL_API onGesture (const GestureEvent& event)

Handle gesture event; position is in window coordinates.

virtual tbool CCL_API allowsCompetingGesture (int gestureType)

Query if handler wants to pass handling of the given gesture to another handler (e.g.

when touches are added / removed).