diff -r 000000000000 -r 2f259fa3e83a uifw/uiklaf/inc/LAFSCRLB.H --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uifw/uiklaf/inc/LAFSCRLB.H Tue Feb 02 01:00:49 2010 +0200 @@ -0,0 +1,99 @@ +/* +* Copyright (c) 1997-1999 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 __LAFSCRLB_H__ +#define __LAFSCRLB_H__ + +#include +#include +#include +#include + +class MLafEnv; +class CWindowGc; + +/** + * @internal + * Do not use + */ +class LafScrollBar + { +public: + inline static TInt MinimumThumbLength(); + inline static TInt DefaultFlags(); + inline static TInt DefaultBreadth(); + inline static TInt BorderWidth(); + inline static TInt DefaultButtonPositionFlags(); + IMPORT_C static void GetDefaultBorder(TGulBorder& aBorder); + IMPORT_C static void GetBorderColors(TGulBorder::TColors& aBorderColors,const MLafEnv& aEnv,const CCoeControl& aMatchedControl); +// added to allow differing style of scrollbars + IMPORT_C static void DrawShaft(const MLafEnv& aLafEnv,const CCoeControl& aScrollBar,CWindowGc& aGc,const TRect& aRect,TInt aScrollBarDisplayFlags,TBool aHorizontal); + IMPORT_C static void DrawShaftAroundThumb(const MLafEnv& aLafEnv,const CCoeControl& aScrollBar,CWindowGc& aGc,const TRect& aShaftRect,TBool aHorizontal,TInt aThumbPos,TInt aThumbLength); + IMPORT_C static void RedrawShaft(const MLafEnv& aLafEnv,const CCoeControl& aScrollBar,CWindowGc& aGc, const TRect& aRect,TInt aShaftStart,TInt aShaftEnd,TBool aHorizontal); + IMPORT_C static void DrawHighlightedShaftArea(const MLafEnv& aLafEnv, const CCoeControl& aScrollBar, CWindowGc& aGc, TRect& aArea, TBool aIsHighlighted, + TInt aThumbPos, TInt aThumbLength, TBool aHorizontal); + IMPORT_C static TInt CalculateThumbLength(TInt aShaftLength,TInt aModelScrollSpan, + TInt aModelThumbSpan); + IMPORT_C static TInt CalcThumbPosInScrollBar(TInt aShaftStart, TInt aShaftEnd, + TInt aThumbLength,TInt aModelThumbPos,TInt aModelScrollSpan,TInt aModelThumbSpan ); + IMPORT_C static TInt CalcThumbPosInScrollBarModel(TInt aShaftStart, TInt aShaftEnd, + TInt aThumbLength,TInt aThumbPos,TInt aModelScrollSpan,TInt aModelThumbSpan ); + IMPORT_C static void GetColorUseListL(CArrayFix& aColorUseList); + IMPORT_C static TBool IsPointerOutOfDragRange(const TPoint& aPointerPosition,const TRect& aScrollBarRect,TBool aHorizontal); + IMPORT_C static TBool IsBorderOutsideButtons(); + IMPORT_C static void AdjustButtonExtentForScrollBarBorder(TPoint& aPosition,TSize& aSize,TInt aButtonType,TInt aScrollBarFlags, TBool aHorizontal, const TMargins& aMargins); + IMPORT_C static void AdjustShaftRangeForScrollBarBorder(TInt& aShaftStart,TInt& aShaftEnd,TBool aHorizontal,TInt aScrollBarFlags,const TMargins& aMargins); +private: + enum TConstantType + { + EMinimumThumbLen, + EDefaultFlags, + EDefaultBreadth, + EBorderWidth, + EDefaultButtonPositionFlags + }; +private: + IMPORT_C static TInt Constant(TConstantType aConstant); + }; + +class LafArrowHeadScrollBar + { +public: + IMPORT_C static void GetDefaultBorder(TGulBorder& aBorder); + IMPORT_C static void GetBorderColors(TGulBorder::TColors& aBorderColors,const MLafEnv& aEnv,const CCoeControl& aMatchedControl); + }; + +inline TInt LafScrollBar::MinimumThumbLength() + {return Constant(EMinimumThumbLen);} +inline TInt LafScrollBar::DefaultFlags() + {return Constant(EDefaultFlags);} +inline TInt LafScrollBar::DefaultBreadth() + {return Constant(EDefaultBreadth);} +inline TInt LafScrollBar::BorderWidth() + {return Constant(EBorderWidth);} + +/** + * Returns the button position flags which will be used if they have + * not already been setup during scroll bar creation. + * + * @since App-Framework_6.1 + */ +inline TInt LafScrollBar::DefaultButtonPositionFlags() + {return Constant(EDefaultButtonPositionFlags);} + +#endif