diff -r 000000000000 -r 15bf7259bb7c uiaccelerator_plat/alf_visual_api/inc/alf/alfscrollerevent.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uiaccelerator_plat/alf_visual_api/inc/alf/alfscrollerevent.h Tue Feb 02 07:56:43 2010 +0200 @@ -0,0 +1,148 @@ +/* +* Copyright (c) 2007 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: Events generated by scrollers. +* +*/ + + + +#ifndef T_ALFSCROLLEREVENT_H +#define T_ALFSCROLLEREVENT_H + +#include +/** + * ScrollerEvent class. + * Usage: + * @code + * + * TBool CMyControl::OfferEventL(const TAlfEvent& aEvent) + * { + * TBool consumed(EFalse); + * if ( aEvent.IsPointerEvent() ) + * { + * CAlfVisual* visual = aEvent.Visual(); + * //Orientation for scroller + * TAlfScrollerEvent::TOrientation orientation = TAlfScrollerEvent::EVertical; + * + * if ( aEvent.PointerDown() ) + * { + * //if ( some condition to start scroller event handling ) + * { + * //Create event instance + * TAlfScrollerEvent scrollEvent(TAlfScrollerEvent::EMoveByItem, orientation, -1); + * TAlfEvent event( *(visual->Display()), scrollEvent ); + * //Pass it to handler + * scrollerInputHandler->OfferEventL( event ); + * consumed = ETrue; + * } + * } + * } + * return consumed; + * } + * @endcode + * @lib alfclient.lib + * @since S60 xxx + */ +NONSHARABLE_CLASS( TAlfScrollerEvent ) + { + +public: + /** + * Indicates what type of scroller the event originated in + */ + enum TOrientation + { + EVertical, + EHorizontal + }; + + /** + *Scroller event code + */ + enum TCode + { + EMoveByItem, // Moves the view by a single logical unit. i.e. a text line or a list item + EMoveByView, // Moves the view by an amount similar to a view height/width + EMoveToPosition // Moves the view top to the requested position + }; + +public: + /* Constructors. */ + + /** + * Constructor. + */ + IMPORT_C TAlfScrollerEvent( TCode aCode, TOrientation aOrientation, TInt aMagnitude ); + + /** + * Constructor. + * + * Supplied only for default construction within TAlfEvent + */ + TAlfScrollerEvent(); + +public: // Access methods + + /** + * @return the event code for the scroller event + */ + IMPORT_C TCode Code() const; + + /** + * Orientation of the scroller + * + * @return orientation of the scroller generating this event + */ + IMPORT_C TOrientation Orientation() const; + + /** + * Access to the size of the scroller event. + * + * This magnitude represents the number of items, views, or other event code-dependent quantity + * + * For EMoveByItem, this number is the number of items to move forward. If negative, then it represents + * moving the view backward by this number of items. + * + * For EMoveByView, this number is the number of views forward to move. + * + * For EMoveToPosition, this number is in the arbitrary units of the associated scroller model. (i.e,.in order to + * generate this type of event you must be observing the corresponding @c MAlfScrollerModelReader ) + * + * @return the magnitude of the event + */ + IMPORT_C TInt Magnitude() const; + +private: + + /** + * The scroller event code. + */ + TCode iCode; + + /** + * Orientation of this scroller + */ + TOrientation iOrientation; + + /** + * A magnitude representing the number of items, views, or other code-dependent quantity + * @see Magnitude() + */ + TInt iMagnitude; + + TInt iSpare; + }; + + +#endif // T_ALFSCROLLEREVENT_H