diff -r 79859ed3eea9 -r 919f36ff910f webengine/wmlengine/src/Scrolling/inc/ScrollThumb.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/webengine/wmlengine/src/Scrolling/inc/ScrollThumb.h Wed Sep 01 12:28:30 2010 +0100 @@ -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 +#include + +//----------------------------------------------------------------------- +// 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