diff -r 000000000000 -r 2f259fa3e83a uifw/AvKon/AknKeyRotator/implementation/AknKeyRotatorImpl.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uifw/AvKon/AknKeyRotator/implementation/AknKeyRotatorImpl.h Tue Feb 02 01:00:49 2010 +0200 @@ -0,0 +1,100 @@ +/* +* Copyright (c) 2005 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: Key rotation implementation +* +*/ + +#ifndef CAKNKEYROTATORIMPL_H +#define CAKNKEYROTATORIMPL_H + +// INCLUDES +#include +#include +#include + +// FORWARD DECLARATIONS +class TRawEvent; +class MAnimGeneralFunctions; + +// CLASS DECLARATION + +/** +* Key rotation implementation. +* +* @lib AknKeyRotator.lib +* @since Series 60 3.0 +*/ +class CAknKeyRotatorImpl : public CAknKeyRotator + { + public: // Constructor and destructor + static CAknKeyRotatorImpl* NewL(); + ~CAknKeyRotatorImpl(); + + public: // Functions from base classes + + /** + * From CAknKeyRotator + */ + TBool CheckRotation( + const TRawEvent &aRawEvent, + MAnimGeneralFunctions& aAnimGeneralFunctions ); + + private: + CAknKeyRotatorImpl(); + void ConstructL(); + void LoadHwStateRotationsL(); + void DoCheckRotation( + TRawEvent& aNewRawEvent, + MAnimGeneralFunctions& aAnimGeneralFunctions); + static TBool IsArrowScanCode(TInt aScanCode); + + // Gets key rotator compensation value from wsini.ini + static TInt GetKeyRotatorCompensationL(); + + // Checks if character is end of line marker. + inline static TBool IsEndOfLine( TText aChar ); + // Checks if character is byte ordering marker. + inline static TBool IsByteOrderingMarker( TText aChar ); + // Reads wsini.ini file to memory + static HBufC* GetWsiniLC(); + // Flags - returned by SkipSpaces + enum TAknSkipSpacesFlags + { + // There was a space character (not end of line) + EAknWasSpace = 1, + // There was other kind of character + EAknWasCharacter = 2 + }; + // Skips spaces, but stops if end of line. + static TInt SkipSpaces( TLex& aLex ); + // Goes over digit sequence and returns string. + static TPtrC GetDigits( TLex& aLex ); + // Checks if compensation value is ok. + inline static TBool CheckCompensationValue( TInt aValue ); + + private: + RProperty iProperty; + TBool iRotatedRawEvent; + RArray iHwRotations; + CFbsBitGc::TGraphicsOrientation iUsedRotationForDownEvent; + + // Key rotator compensation value. + TInt iKeyRotatorCompensation; + + }; + + +#endif // CAKNKEYROTATORIMPL_H + +// End of File