webengine/wmlengine/src/Scrolling/inc/ScrollThumb.h
changeset 0 dd21522fd290
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/wmlengine/src/Scrolling/inc/ScrollThumb.h	Mon Mar 30 12:54:55 2009 +0300
@@ -0,0 +1,127 @@
+/*
+* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "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:  Definition of the Browser On-screen scrollbar thumb
+*
+*/
+
+#ifndef _SCROLLTHUMB_H
+#define _SCROLLTHUMB_H
+
+//-----------------------------------------------------------------------
+// INCLUDES
+//-----------------------------------------------------------------------
+#include "ScrollBar.h"
+
+#include <coecntrl.h>
+#include <e32std.h>
+
+//-----------------------------------------------------------------------
+// CONSTANTS
+//-----------------------------------------------------------------------
+const TInt KShadowThickness = 1; // thickness of the shadow of the thumb
+
+//-----------------------------------------------------------------------
+// CLASS DEFINITION
+//-----------------------------------------------------------------------
+//
+/**
+*  Browser On-screen scrollbar thumb
+*
+*  @since Series60_version 2.5
+*/
+class CScrollThumb : public CCoeControl
+    {
+    //------------------------------------------------------------------
+    // Constructors and Destructors - Public
+    //------------------------------------------------------------------
+    public:
+        
+        /**
+        * Two-phased constructor.
+        */
+        static CScrollThumb* NewL(CScrollBar::TOrientation aOrientation);
+        
+        /**
+        * Destructor.
+        */
+        virtual ~CScrollThumb();
+        
+        //------------------------------------------------------------------
+        // Member Functions - Public
+        //------------------------------------------------------------------
+    public:
+        
+        void Draw(const TRect& aRect) const;
+        
+        /**
+        * Sets the rect of the thumb and its shadow
+        * @since Series60_version 2.5
+        * @param aRect - rectangle of the thumb
+        * @return none
+        */
+        void SetThumbAndShadow(const TRect& aRect);
+        
+        //------------------------------------------------------------------
+        // Constructors and Destructors - Private
+        //------------------------------------------------------------------
+    private:
+        
+        /**
+        * C++ default constructor.
+        */
+        CScrollThumb(CScrollBar::TOrientation aOrientation);
+        
+        /**
+        * Symbian 2nd phase constructor
+        */
+        void ConstructL();
+        
+        //------------------------------------------------------------------
+        // Inherited Member Functions - Private
+        //------------------------------------------------------------------
+    private:
+        
+        /**
+        *	From CCoeControl, SizeChanged
+        */
+        virtual void SizeChanged();
+        
+        //------------------------------------------------------------------
+        // Member Functions - Private
+        //------------------------------------------------------------------
+    private:
+        
+        /**
+        * Sets the colours of a thumb
+        * @since Series60_version 2.5
+        * @param aThumbColour - the colour of the thumb
+        * @param aThumbShadowColour - the colour of the thumb shadow
+        * @return none
+        */
+        void SetThumbColours(TRgb aThumbColour, TRgb aThumbShadowColour);		
+        
+        //------------------------------------------------------------------
+        // Member Data - Private
+        //------------------------------------------------------------------
+    private:
+        CScrollBar::TOrientation iOrientation;	// Orientation of the thumb
+        
+        TRect iThumbShadow;         // The outline of the thumb
+        TRect iThumbCentre;		    // the rect of the thumb shown inside the thumb shadow
+        
+        TRgb iThumbColour;		    // the colour of the thumb
+        TRgb iThumbShadowColour;	// the colour of the thumb shadow
+    };
+
+#endif  // _SCROLLTHUMB_H