00001 /* 00002 * ============================================================================== 00003 * Name : AknsDrawUtils.h 00004 * Part of : Avkon Skins / Skin Library 00005 * Interface : ?Interface_category, ?Interface_name 00006 * Description : Defines a public static class AknsDrawUtils and related 00007 * constants. 00008 * Version : ?Version 00009 * 00010 * Copyright © 2002 Nokia Corporation. 00011 * This material, including documentation and any related 00012 * computer programs, is protected by copyright controlled by 00013 * Nokia Corporation. All rights are reserved. Copying, 00014 * including reproducing, storing, adapting or translating, any 00015 * or all of this material requires the prior written consent of 00016 * Nokia Corporation. This material also contains confidential 00017 * information which may not be disclosed to others without the 00018 * prior written consent of Nokia Corporation. 00019 * ============================================================================== 00020 */ 00021 00022 #ifndef AKNSDRAWUTILS_H 00023 #define AKNSDRAWUTILS_H 00024 00025 // INCLUDES 00026 #include <AknsUtils.h> 00027 00028 // CONSTANTS 00029 00035 static const TInt KAknsDrawParamDefault = 0x0; 00036 00043 static const TInt KAknsDrawParamLimitToFirstLevel = 0x1; 00044 00051 static const TInt KAknsDrawParamNoClearUnderImage = 0x2; 00052 00059 static const TInt KAknsDrawParamPrepareOnly = 0x04; 00060 00066 static const TInt KAknsDrawParamRGBOnly = 0x8; 00067 00074 static const TInt KAknsSDMAlphaOnly = 0x10; 00075 00076 #start_since SINCE_3_1_SDK 00077 00084 static const TInt KAknsDrawParamChained = 0x20; 00085 #end_since SINCE_3_1_SDK 00086 00087 #start_since SINCE_3_1_SDK 00088 00096 static const TInt KAknsDrawParamBottomLevelRGBOnly = 0x40; 00097 #end_since SINCE_3_1_SDK 00098 00104 enum TSlidingMode 00105 { 00107 ESlidingDisabled = 0, 00108 00110 ESlidingFromCBA, 00111 00113 ESlidingFromLeft, 00114 00116 ESlidingFromTopLeft, 00117 00119 ESlidingFromTop, 00120 00122 ESlidingFromTopRight, 00123 00125 ESlidingFromRight, 00126 00128 ESlidingFromBottomRight, 00129 00131 ESlidingFromBottom, 00132 00134 ESlidingFromBottomLeft, 00135 00137 ESlidingFromRandom 00138 }; 00139 00140 00141 // FORWARD DECLARATIONS 00142 class MAknsSkinInstance; 00143 class MAknsControlContext; 00144 class CWindowGc; 00145 class CFbsBitGc; 00146 class CCoeControl; 00147 00148 // CLASS DECLARATION 00149 00162 class AknsDrawUtils 00163 { 00164 public: // New functions 00165 00180 IMPORT_C static MAknsControlContext* ControlContext( 00181 const MObjectProvider* aMop ); 00182 00194 IMPORT_C static MAknsControlContext* ControlContextOfParent( 00195 const CCoeControl* aControl ); 00196 00222 IMPORT_C static TBool Background( MAknsSkinInstance* aInstance, 00223 MAknsControlContext* aContext, CWindowGc& aGc, const TRect& aRect ); 00224 00257 IMPORT_C static TBool Background( MAknsSkinInstance* aInstance, 00258 MAknsControlContext* aContext, const CCoeControl* aControl, 00259 CWindowGc& aGc, const TRect& aRect ); 00260 00297 IMPORT_C static TBool Background( MAknsSkinInstance* aInstance, 00298 MAknsControlContext* aContext, const CCoeControl* aControl, 00299 CWindowGc& aGc, const TRect& aRect, const TInt aDrawParam ); 00300 00346 IMPORT_C static TBool DrawBackground( MAknsSkinInstance* aInstance, 00347 MAknsControlContext* aContext, const CCoeControl* aControl, 00348 CBitmapContext& aGc, const TPoint& aDstPos, 00349 const TRect& aControlRect, const TInt aDrawParam ); 00350 00378 IMPORT_C static TBool BackgroundBetweenRects( 00379 MAknsSkinInstance* aInstance, 00380 MAknsControlContext* aContext, CWindowGc& aGc, 00381 const TRect& aOuterRect,const TRect& aInnerRect ); 00382 00413 IMPORT_C static TBool BackgroundBetweenRects( 00414 MAknsSkinInstance* aInstance, 00415 MAknsControlContext* aContext, const CCoeControl* aControl, 00416 CWindowGc& aGc, 00417 const TRect& aOuterRect,const TRect& aInnerRect ); 00418 00451 IMPORT_C static TBool BackgroundBetweenRects( 00452 MAknsSkinInstance* aInstance, 00453 MAknsControlContext* aContext, const CCoeControl* aControl, 00454 CWindowGc& aGc, 00455 const TRect& aOuterRect, const TRect& aInnerRect, 00456 const TInt aDrawParam ); 00457 00480 IMPORT_C static TBool HasBitmapBackground( 00481 MAknsSkinInstance* aInstance, 00482 MAknsControlContext* aContext ); 00483 00498 IMPORT_C static void DrawCachedImage( MAknsSkinInstance* aInstance, 00499 CWindowGc& aGc, const TRect& aRect, const TAknsItemID& aID ); 00500 00517 IMPORT_C static void DrawCachedImage( MAknsSkinInstance* aInstance, 00518 CFbsBitGc& aGc, const TRect& aRect, const TAknsItemID& aID ); 00519 00546 IMPORT_C static TBool DrawFrame( MAknsSkinInstance* aInstance, 00547 CWindowGc& aGc, const TRect& aOuterRect, const TRect& aInnerRect, 00548 const TAknsItemID& aFrameID, const TAknsItemID& aCenterID ); 00549 00588 IMPORT_C static TBool PrepareFrame( MAknsSkinInstance* aInstance, 00589 const TRect& aOuterRect, const TRect& aInnerRect, 00590 const TAknsItemID& aFrameID, const TAknsItemID& aCenterID); 00591 00626 IMPORT_C static TBool DrawFrame( MAknsSkinInstance* aInstance, 00627 CFbsBitGc& aGc, const TRect& aOuterRect, const TRect& aInnerRect, 00628 const TAknsItemID& aFrameID, const TAknsItemID& aCenterID, 00629 const TInt aDrawParam ); 00630 00661 IMPORT_C static TBool DrawFrame( MAknsSkinInstance* aInstance, 00662 CFbsBitGc& aGc, const TRect& aOuterRect, const TRect& aInnerRect, 00663 const TAknsItemID& aFrameID, const TAknsItemID& aCenterID ); 00664 00693 IMPORT_C static TBool DrawFramePart( MAknsSkinInstance* aInstance, 00694 CWindowGc& aGc, const TRect& aRect, const TAknsItemID& aFrameID, 00695 const TAknsFrameElementIndex aFrameElement ); 00696 00721 IMPORT_C static TBool IsListSeperatorLines( 00722 MAknsSkinInstance* aInstance ); 00723 00735 IMPORT_C static TSlidingMode SlidingMode( 00736 MAknsSkinInstance* aInstance ); 00737 00738 private: // Prohibited constructors and destructor 00739 00740 // Construction prohibited (static class) 00741 AknsDrawUtils(); 00742 // Destruction prohibited (static class) 00743 ~AknsDrawUtils(); 00744 }; 00745 00746 // AKNSDRAWUTILS_H 00747 #endif 00748 00749 // End of File