webengine/webkitutils/stmgesturefw/inc/statemachine.h
changeset 65 5bfc169077b2
parent 42 d39add9822e2
child 66 cacf6ee57968
--- a/webengine/webkitutils/stmgesturefw/inc/statemachine.h	Tue Feb 02 00:56:45 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,177 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: State Machine implementation
-*
-*/
-
-#ifndef STATEMACHINE_H
-#define STATEMACHINE_H
-
-// INCLUDES
-#include <e32base.h>
-#include <aknwseventobserver.h>
-
-#include <rt_uievent.h>
-#include "timerinterface.h"
-#include "statemachine_v2.h"
-
-class CCoeEnv;
-
-namespace stmUiEventEngine
-{
-
-class CCallbackTimer;
-class CStateEngine;
-class THwEvent;
-class CStateEngineConfiguration;
-
-
-int Distance(int dx, int dy);
-
-inline int Distance(const TPoint& aP1, const TPoint& aP2)
-{
-    return Distance(aP1.iX - aP2.iX, aP1.iY - aP2.iY);
-}
-
-// CLASS DECLARATION
-/**
- *  CStateMachine
- *
- */
-NONSHARABLE_CLASS( CStateMachine ): public CBase, 
-                                    public MTimerInterface, 
-                                    public MAknWsEventObserver, 
-                                    public MStateMachine
-{
-public:
-    /**
-     * The MStateMachine interface methods
-     */
-    virtual TRect getTouchArea(TInt aPointerNumber) ;
-    virtual void setTouchTimeArea(long fingersize_mm) ;
-    virtual void setTouchArea(long fingersize_mm) ;
-    virtual TAreaShape getTouchAreaShape() ;
-    virtual void setTouchAreaShape(const TAreaShape shape) ;
-    virtual unsigned int getTouchTimeout() ;
-    virtual void setTouchTimeout(unsigned int) ;
-    virtual TRect getHoldArea(TInt aPointerNumber) ;
-    virtual void setHoldArea(long fingersize_mm) ;
-    virtual TAreaShape getHoldAreaShape() ;
-    virtual void setHoldAreaShape(const TAreaShape shape) ;
-    virtual unsigned int getHoldTimeout();
-    virtual void setHoldTimeout(unsigned int a);
-    virtual unsigned int getTouchSuppressTimeout() ;
-    virtual void setTouchSuppressTimeout(unsigned int a) ;
-    virtual unsigned int getMoveSuppressTimeout() ;
-    virtual void setMoveSuppressTimeout(unsigned int a) ;
-    virtual bool addUiEventObserver(MUiEventObserver* observer) ;
-    virtual bool removeUiEventObserver(MUiEventObserver* observer) ;
-    virtual bool wasLastMessageFiltered(TInt aPointerNumber) ;
-    virtual void enableCapacitiveUp(bool enable) ;
-    virtual void enableLogging(bool aEnable) ;
-    virtual void enableYadjustment(bool aEnable) ;
-    virtual int getNumberOfPointers() ;
-
-    /**
-     * MAknWsEventObserver methods
-     */
-    virtual void HandleWsEventL(const TWsEvent& aEvent, CCoeControl* aDestination) ;
-
-    /* other methods */
-    /**
-     * Pointer event handling in case the messaging should be handled that way, note that the target CCoeControl needs to be givem
-     */
-    void HandlePointerEventL(const TPointerEvent& aPointerEvent, void* target) ;
-    /**
-     * Simple toggle changes from handling the messages using ...WsEventL or ...PointerEventL
-     */
-    void EnableWsEventMonitoring(bool aEnable) ;
-    /**
-     * Method to handle the TPointerEvent
-     */
-    bool HandleStateEvent(const TPointerEvent& aPointerEvent, void* aTarget, const TTime& aTime) ;
-    /*!
-     * Setting the Y adjustment useful in capacitive touch
-     * Note that there are problems with the adjustment if done at this level,
-     * the most proper place would be the window server.
-     */
-
-    /**
-     * MTimerInterface methods, these are internal and do not need to be exported
-     */
-    virtual void startTouchTimer(TInt aDelay, TInt aPointerNumber) ;
-    virtual void cancelTouchTimer(TInt aPointerNumber)  ;
-    virtual void startHoldTimer(TInt aDelay, TInt aPointerNumber)  ;
-    virtual void cancelHoldTimer(TInt aPointerNumber)  ;
-    virtual void startSuppressTimer(TInt aDelay, TInt aPointerNumber) ;
-    virtual void cancelSuppressTimer(TInt aPointerNumber)  ;
-
-public:
-    ~CStateMachine();
-    static CStateMachine* NewL();
-    static CStateMachine* NewLC();
-
-private:
-    CStateMachine();
-    void ConstructL();
-
-    inline static TInt PointerIndex(const TPointerEvent& aPointerEvent);
-
-    /**
-     * Convert pointer event into our own event format (including timestamp)
-     */
-    void CreateHwEvent(THwEvent& aEvent, 
-                       const TPointerEvent& aPointerEvent, 
-                       void* aTarget, 
-                       const TTime& aTime) ;
-    
-    void CreateTimerEvent(THwEvent& aEvent, TStateMachineEvent aEventCode) ;
-    
-    /**
-     * the actual state machines implementing the transitions etc.
-     */
-    CStateEngine* m_impl[KMaxNumberOfPointers] ;
-    /*
-     * The configuration for state machines
-     */
-    CStateEngineConfiguration* m_config ;
-    /*!
-     * convert window coordinates to screen coordinates.
-     */
-    TPoint screenCoordinates(const TPoint& aPos, void* aGestureTarget) ;
-
-    CCoeEnv* m_coeEnv;
-
-    bool m_WasMessageFiltered ;
-    bool m_wseventmonitoringenabled ;
-    bool m_loggingenabled ;
-    bool m_capacitiveup ;
-
-    int m_3mminpixels ;
-    bool m_adjustYposition ;
-    // Use same naming scheme with the timers, and variables and methods
-    // using macro expansion tricks (with multitouch support starts to look quite ugly):
-#define DECLARE_TIMER(x) \
-            void start##x##Timer(TInt aPointerNumber) ;\
-            CCallbackTimer* m_##x##Timer[KMaxNumberOfPointers] ;\
-            void handle##x##Timer(TInt aPointerNumber) ;\
-            void cancel##x##Timer(TInt aPointerNumber)
-
-    DECLARE_TIMER(touch) ;
-    DECLARE_TIMER(hold) ;
-    DECLARE_TIMER(suppress) ;
-
-};
-}   // namespace
-#endif // STATEMACHINE_H