--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/extras/about/inc/AboutContainer.h Mon Jan 18 20:20:33 2010 +0200
@@ -0,0 +1,103 @@
+/*
+* 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 <coecntrl.h>
+#include <gdi.h>
+#include <eiksbobs.h>
+// FORWARD DECLARATIONS
+class CEikScrollBarFrame;
+class CAboutImage;
+class CFont;
+class TRect;
+class TBidiText;
+class CAknsBasicBackgroundControlContext;
+#include <gulicon.h>
+
+// 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<HBufC>* iText;
+ CArrayPtr<CAboutImage>* iImages;
+ CArrayFixFlat<TInt>* 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;
+ };
+
+#endif
+
+// End of File