--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/uifw/ganes/inc/HgScrollbar.h Tue Feb 02 01:00:49 2010 +0200
@@ -0,0 +1,133 @@
+/*
+* Copyright (c) 2009 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:
+*
+*/
+
+
+#ifndef HGSCROLLBAR_H_
+#define HGSCROLLBAR_H_
+
+
+#include <e32base.h>
+#include <ganes/HgScroller.h>
+
+struct TPointerEvent;
+class TAknsItemID;
+class CWindowGc;
+class CFbsBitmap;
+class CGulIcon;
+class CFont;
+
+class MHgScrollbarObserver;
+
+NONSHARABLE_CLASS( CHgScrollbar ) : public CBase
+ {
+public:
+ static CHgScrollbar* NewL( MHgScrollbarObserver& aObserver );
+
+ virtual ~CHgScrollbar();
+
+public:
+
+ void InitScrollBarL(
+ TRect aScrollbarRect,
+ TSize aTotalSize,
+ TSize aViewSize,
+ TBool aLandscapeScrolling );
+
+ void SetViewPosition( TPoint aPosition );
+
+ TBool HandlePointerEventL( const TPointerEvent& aEvent );
+
+ void Draw( CWindowGc& aGc );
+
+ const CGulIcon* ScrollbarBg() const;
+
+ const CGulIcon* ScrollbarHandleBg() const;
+
+ const CGulIcon* ScrollbarHandle() const;
+
+ const CGulIcon* ScrollbarBgSelected() const;
+
+ const CGulIcon* ScrollbarHandleSelected() const;
+
+ const TRect& ScrollbarRect() const;
+
+ const TPoint& HandlePosition() const;
+
+ TBool IsStatic() const;
+
+ TBool IsDragging() const;
+
+ TBool Handler() const;
+
+ void Reset();
+
+protected:
+ CHgScrollbar( MHgScrollbarObserver& aObserver );
+
+ void ConstructL();
+
+private:
+
+ void DrawScrollbar( CWindowGc& aGc );
+
+ TBool HandleScrollBarPointerEvent( const TPointerEvent& aEvent );
+
+ void CheckHandlePosition( TBool aReportChange );
+
+ void InitIconsL( TBool aInitBgIcons );
+
+ void CreateIconL( CGulIcon*& aIcon, TSize aSize);
+
+ void DrawIconL( CGulIcon& aIcon,
+ const TAknsItemID& aTop,
+ const TAknsItemID& aMiddle,
+ const TAknsItemID& aBottom );
+
+ void DrawBitmapL( CGulIcon& aIcon,
+ const TAknsItemID& aItem,
+ const TRect& aDestRect );
+
+ void ScaleBitmapL( const TRect& aDestRect,
+ CFbsBitmap* aDest,
+ const CFbsBitmap* aSrc);
+
+private:
+ MHgScrollbarObserver& iObserver;
+
+ CGulIcon* iScrollbarBg;
+ CGulIcon* iScrollbarHandleBg;
+ CGulIcon* iScrollbarHandle;
+ CGulIcon* iScrollbarBgSelected;
+ CGulIcon* iScrollbarHandleSelected;
+
+ TRect iScrollbarRect;
+ TRect iNaviRect;
+ TPoint iHandlePosition;
+ TPoint iPrevDrag;
+ TSize iTotalSize;
+ TSize iViewSize;
+ TSize iHandleSize;
+ TBool iLandscapeScrolling;
+ TBool iDragging;
+ TBool iHandler;
+ TBool iStatic;
+
+ TInt iScrollLength;
+ TInt iTotalLength;
+ };
+
+#endif /*HGSCROLLBAR_H_*/