mulwidgets/gesturehelper/src/pointercapturer.h
author Pat Downey <patd@symbian.org>
Wed, 01 Sep 2010 12:23:18 +0100
branchRCL_3
changeset 26 0e9bb658ef58
parent 0 e83bab7cf002
permissions -rw-r--r--
Revert incorrect RCL_3 drop: Revision: 201033 Kit: 201035

/*
* 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 "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:  Responsible for capturing pointer events
*
*/

#ifndef _POINTERCAPTURER_H_
#define _POINTERCAPTURER_H_

// INCLUDES
#include <e32std.h>
#include <e32base.h>

class CAlfControl;
class CAlfControlGroup;
class CAlfEnv;
class CAlfDisplay;

// CLASS DECLARATION

namespace GestureHelper 
{

class CGestureHelperImpl;
class CPointerCaptureControl;

/**
 * CPointerCaptureControl
 * Gesture control own a gesture helper, and captures any pointer events that 
 * no other control captures. After it captures pointer down event, it will 
 * capture all pointer events until pointer up. It does this by bringing its
 * control group to the top upon pointer down, and lowering the control group
 * to the botton upon pointer up.
 */
NONSHARABLE_CLASS( CPointerCapturer ) : public CBase
    {
public: 
    /** Two-phased constructor */
    static CPointerCapturer* NewL();
    /** Destructor */
    ~CPointerCapturer();
    
    void InitForAlfredL( CGestureHelperImpl& aHelper, CAlfEnv& aEnv, 
        CAlfDisplay& aDisplay, TInt aControlGroupId );

    void StartL();
    void Stop();
    
private:    
    /// 
    CPointerCaptureControl* iCaptureControl;
    TInt iControlGroupId;
    };

} // namespace GestureHelper
    
#endif // _POINTERCAPTURER_H_