diff -r 000000000000 -r eb1f2e154e89 textinput/peninputhwrfscn/inc/peninputhwrfscnwritingbox.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/textinput/peninputhwrfscn/inc/peninputhwrfscnwritingbox.h Tue Feb 02 01:02:04 2010 +0200 @@ -0,0 +1,211 @@ +/* +* Copyright (c) 2005-2006 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: Implementation for chinese peninput full screen hwr +* +*/ + + +#ifndef __CPENINPUTHWRFSCNWRITINGBOX_H__ +#define __CPENINPUTHWRFSCNWRITINGBOX_H__ + +//USER INCLUDES +#include "peninputhwrfscnbasepanel.h" +#include "peninputlayouthwrwnd.h" + +/** +* Class CPeninputHwrfscnWritingBox +* +* Inherited from CPeninputHwrfscnBasePanel and wrap a transparent hwr window. +* Handle the hwr writing events. +* +* @lib peninputhwrfscn.lib +* @since S60 v5.0 +*/ +class CPeninputHwrfscnWritingBox : public CPeninputHwrfscnBasePanel + { +public: + /** + * factory function + * + * @since S60 v5.0 + * @param aLayout The CPeninputHwrfscnLayout pointer. + */ + static CPeninputHwrfscnWritingBox* NewL( CPeninputHwrfscnLayout* aLayout ); + + /** + * Destructor + * + * @since S60 v5.0 + */ + ~CPeninputHwrfscnWritingBox(); + +public: + /** + * Make visible + * + * @since S60 v5.0 + * @param aVisible ETrue will make it visible or EFalse otherwise + */ + void Show( TBool aVisible ); + + /** + * Draw control + * + * @since S60 v5.0 + */ + virtual void Draw(); + + /** + * Inherited from MEventObserver + * + * @since S60 v5.0 + * @param aEventType The event type + * @param aCtrl The control who sends the event + * @param aEventData The event data + * + */ + virtual void HandleControlEvent( TInt aEventType, CFepUiBaseCtrl* aCtrl, + const TDesC& aEventData ); + + /** + * from CPeninputHwrfscnBasePanel + * + * @since S60 v5.0 + * @param aCmd Command Id + * @param aData Data for command + */ + virtual void HandleCommand( TInt aCommand, TUint8* aData ); + + /** + * from MPeninputHwrfscnPropertySubscriber + * Check if the property could be changed before changing it. + + * @since S60 v5.0 + * @param aProperty One of @see TPeninputHwrfscnProperty changed + * @return TBool ETrue if the property needed to be changed, EFalse otherwise + */ + virtual TBool BeforePropertyChangedL( + MPeninputHwrfscnPropertySubscriber::TPeninputHwrfscnProperty aProptery ); + + /** + * from MPeninputHwrfscnPropertySubscriber + * Notify the property subscriber the property changed + * + * @since S60 v5.0 + * @param aProperty One of @see TPeninputHwrfscnProperty changed + */ + virtual void PropertyChangedL( + MPeninputHwrfscnPropertySubscriber::TPeninputHwrfscnProperty aProptery ); + + /** + * Size changed + * + * @since S60 v5.0 + */ + void SizeChanged(); + + /** + * Laf changed + * + * @since S60 v5.0 + */ + void LafChanged(); + + /** + * Cancel the writing. It will stops the timer and clear all strokes + * + * @since S60 v5.0 + */ + void CancelCharWriting(); + +private: + /** + * The constructor. + * + * @since S60 v5.0 + * @param aLayout The CPeninputHwrfscnLayout pointer. + */ + CPeninputHwrfscnWritingBox( CPeninputHwrfscnLayout* aLayout ); + + /** + * 2nd constructor. + * + * @since S60 v5.0 + */ + void ConstructL(); + +private: + /** + * Handle hwr writng timer out event + * + * @since S60 v5.0 + */ + void OnStrokeCharacterTimerOut(); + + /** + * Handle hwr string writing event + * + * @since S60 v5.0 + */ + void OnStrokeStarted(); + + /** + * Handle hwr storke finished event + * + * @since S60 v5.0 + */ + void OnStrokeFinished(); + + /** + * Set FSHWR writting speed. + * + * @since S60 v5.0 + * @param aCharDelay The submit character timer in micro seconds + * @return None + */ + void SetWritingSpeed( const TTimeIntervalMicroSeconds32& aCharDelay ); + + /** + * Set FSHWR trail drawing pen size. + * + * @since S60 v5.0 + * @param aSize New pen size + * @return None + */ + void SetPenSize( const TSize aSize ); + + /** + * Set FSHWR trail drawing pen color. + * + * @since S60 v5.0 + * @param aCol New pen color + * @return None + */ + void SetPenColor( const TRgb aCol ); + +private: + /** + * The hwr window + * + */ + CTransparentHwrWnd* iHwrWnd; + + /** + * The stored stroke list each time storke finished + * + */ + RArray iStrokeList; + }; + +#endif //__CPENINPUTHWRFSCNWRITINGBOX_H__ \ No newline at end of file