diff -r 41b775cdc0c8 -r 10c6e6d6e4d9 extras/about/inc/AboutContainer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/extras/about/inc/AboutContainer.h Wed Sep 01 12:29:54 2010 +0100 @@ -0,0 +1,106 @@ +/* +* Copyright (c) 2002 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: Declares container control for application. +* +*/ + + +#ifndef ABOUTCONTAINER_H +#define ABOUTCONTAINER_H + +// INCLUDES +#include +#include +#include +// FORWARD DECLARATIONS +class CEikScrollBarFrame; +class CAboutImage; +class CFont; +class TRect; +class TBidiText; +class CAknsBasicBackgroundControlContext; +#include + +// CLASS DECLARATION + +/** +* CAboutContainer container control class. +* +*/ +//About container derived from scrollbarobserver to get events on scrollbar movements +class CAboutContainer : public CCoeControl, public MEikScrollBarObserver + { + public: // Constructors and destructor + CAboutContainer(); + void ConstructL( const TRect& aRect ); + + void CalculateL(const TRect& aRect); + void HandleResourceChange(TInt aType); + /** + * From MEikScrollBarObserver + */ + void HandleScrollEventL(CEikScrollBar* aScrollBar,TEikScrollEvent aEventType); + + ~CAboutContainer(); + + private: // from CCoeControl + + /** + * From CCoeControl : Control size is set. + */ + void SizeChanged(); + + void Draw( const TRect& aRect ) const; + void ActivateL(); + TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, + TEventCode aModifiers ); + + TTypeUid::Ptr MopSupplyObject(TTypeUid aId); + private: // new functions + + void SetTextL( const TDesC& aText , const TInt aItem ); + void SetImageL( const TDesC& aFileName, TInt aBitmapId ); + void UpdateScrollIndicatorL(); + + // text wrapping + + private: // Data + + CArrayPtr* iText; + CArrayPtr* iImages; + CArrayFixFlat* iScreenStarts; + TInt iCurrentScreen; + TBool iDoNotShowLastLineAgain; + CGraphicsContext::TTextAlign iTextAlign; + CEikScrollBarFrame* iSBFrame; + const CFont* iFont; // not owned + TInt iLineWidth; + TInt iBaseLineDelta; + TInt iTopBaseLineX; + TInt iTopBaseLineY; + TInt iLinesPerScreen; + CAknsBasicBackgroundControlContext* iSkinContext; // skin data + CGulIcon* iIcon; + + // Judge whether scroll bar is dragged. + TBool iScrollBarDragged; + TInt iNumItem; + // Judge the break between "real" about box language and the full OSS texts + TBool iBreakFlag; + TBool iIsSvg; + }; + +#endif + +// End of File