diff -r 92a765b5b3e7 -r 91031d3aab7d webengine/wmlengine/src/Scrolling/inc/ScrollBar.h --- a/webengine/wmlengine/src/Scrolling/inc/ScrollBar.h Mon May 03 13:32:15 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,183 +0,0 @@ -/* -* Copyright (c) 2002-2204 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 -* -*/ - -#ifndef SCROLLBAR_H -#define SCROLLBAR_H - -//---------------------------------------------------------------------------- -// INCLUDES -//---------------------------------------------------------------------------- -#include -#include - -//---------------------------------------------------------------------------- -// CONSTANTS -//---------------------------------------------------------------------------- -const TInt KTrackBkgdThickness = 1; // Thickness of the scrollbar track - -//---------------------------------------------------------------------------- -// FORWARD DECLARATIONS -//---------------------------------------------------------------------------- -class CScrollThumb; - -//---------------------------------------------------------------------------- -// CLASS DEFINITION -//---------------------------------------------------------------------------- - -/** -* Browser On-screen scrollbar -* -* @since Series60_version 2.5 -*/ -class CScrollBar : public CCoeControl - { - public: - - // Used by scrollbars and its components to detemine the orientation of - // a scrollbar - enum TOrientation - { - EVertical, - EHorizontal - }; - - //------------------------------------------------------------------ - // Constructors and Destructors - Public - //------------------------------------------------------------------ - public: - - /** - * Two-phased constructor. - */ - static CScrollBar* NewL(const TOrientation aOrientation, - const CCoeControl& aParent); - /** - * Destructor. - */ - virtual ~CScrollBar(); - - //------------------------------------------------------------------ - // Inherited Member Functions - Public - //------------------------------------------------------------------ - public: - - virtual void Draw(const TRect& aRect) const; - - //------------------------------------------------------------------ - // Member Functions - Public - //------------------------------------------------------------------ - public: - - /** - * Sets the rect for the scroll bar and its background - * @since Series60_version 2.5 - * @param aRect - the rectangle in which the scrollbar is drawn into - * @return none - */ - void SetTrackAndBackground(const TRect& aRect); - - //------------------------------------------------------------------ - // Member Functions - Public - Get/Set - //------------------------------------------------------------------ - public: - - /** - * Calls SetRect() on iThumb - * @since Series60_version 2.5 - * @param aRect - the rectangle for the scrollbar thumb - * @return none - */ - void SetThumb(const TRect& aRect); - - /** - * Sets the orientation of the scrollbar - * @since Series60_version 2.5 - * @param aOrientation - the orientation of the scrollbar - * @return none - */ - inline void SetOrientation(const TOrientation aOrientation) - { iOrientation = aOrientation; } - - //------------------------------------------------------------------ - // Constructors and Destructors - Private - //------------------------------------------------------------------ - private: - - /** - * C++ default constructor. - */ - CScrollBar(const TOrientation aOrientation); - - /** - * Symbian 2nd phase constructor - */ - void ConstructL(const CCoeControl& aParent); - - //------------------------------------------------------------------ - // Inherited Member Functions - Private - //------------------------------------------------------------------ - private: - - /** - * From CCoeControl, CountComponentControls - */ - TInt CountComponentControls() const; - - /** - * From CCoeControl, SizeChanged - */ - virtual void SizeChanged(); - - /** - * From CCoeControl, ComponentControl - */ - CCoeControl* ComponentControl(TInt aIndex) const; - - //------------------------------------------------------------------ - // Member Functions - Private - //------------------------------------------------------------------ - private: - - /** - * Sets the colours of a scrollbar - * @since Series60_version 2.5 - * @param aTrackColour - the colour of the track - * @param aTrackBkgdColour - the colour of the track background - * @return none - */ - void SetTrackColours(const TRgb aTrackColour, const TRgb aTrackBkgdColour); - - //------------------------------------------------------------------ - // Member Data - Public - //------------------------------------------------------------------ - public: - - CScrollThumb* iThumb; // Scrollbar Thumb - owned - - //------------------------------------------------------------------ - // Member Data - Private - //------------------------------------------------------------------ - private: - TOrientation iOrientation; // Scrollbar orientation - - TRgb iTrackColour; // track colour (track aka 'shaft') - TRgb iTrackBkgdColour; // track background colour (track aka 'shaft') - - TRect iTrackCentre; // the rect of the track shown inside the track shadow -}; - -#endif // SCROLLBAR_H