00001 /* 00002 * ============================================================================== 00003 * Name : AknsRlEffectContext.h 00004 * Part of : Avkon Skins / Rendering Library 00005 * Interface : ?Interface_category, ?Interface_name 00006 * Description : ?Description 00007 * Version : ?Version 00008 * 00009 * Copyright (c) 2004 Nokia Corporation. 00010 * This material, including documentation and any related 00011 * computer programs, is protected by copyright controlled by 00012 * Nokia Corporation. All rights are reserved. Copying, 00013 * including reproducing, storing, adapting or translating, any 00014 * or all of this material requires the prior written consent of 00015 * Nokia Corporation. This material also contains confidential 00016 * information which may not be disclosed to others without the 00017 * prior written consent of Nokia Corporation. 00018 * ============================================================================== 00019 */ 00020 00021 #ifndef AKNSRLEFFECTCONTEXT_H 00022 #define AKNSRLEFFECTCONTEXT_H 00023 00024 // INCLUDES 00025 00026 #include <fbs.h> 00027 #include <bitdev.h> 00028 00029 // CONSTANTS 00030 00037 const TInt KAknsRlLayerNone = 0x1; 00038 00045 const TInt KAknsRlLayerRGBOnly = 0x2; 00046 00053 const TInt KAknsRlLayerAlphaOnly = 0x4; 00054 00061 const TInt KAknsRlLayerRGBA = 0x8; 00062 00063 // DATA TYPES 00064 00070 struct TAknsRlLayerData 00071 { 00077 inline TAknsRlLayerData() : iRGBBitmap(0), iRGBDevice(0), iRGBGc(0), 00078 iAlphaBitmap(0), iAlphaDevice(0), iAlphaGc(0) {}; 00079 00085 CFbsBitmap* iRGBBitmap; 00086 00092 CFbsBitmapDevice* iRGBDevice; 00093 00099 CFbsBitGc* iRGBGc; 00100 00106 CFbsBitmap* iAlphaBitmap; 00107 00113 CFbsBitmapDevice* iAlphaDevice; 00114 00120 CFbsBitGc* iAlphaGc; 00121 }; 00122 00123 // FORWARD DECLARATIONS 00124 00125 class RAknsSrvSession; 00126 00127 // CLASS DECLARATION 00128 00147 class MAknsRlEffectContext 00148 { 00149 public: // Constructors and destructor 00150 00157 inline virtual ~MAknsRlEffectContext() {} 00158 00159 public: // New functions - Layer support 00160 00166 virtual const TSize LayerSize() =0; 00167 00233 virtual void GetLayerDataL( TAknsRlLayerData& aData, 00234 const TInt aLayerIndex, const TInt aLayerStatus, 00235 const TBool aInitialize ) =0; 00236 00245 virtual RAknsSrvSession* GetSkinSrvSession() = 0; 00246 }; 00247 00248 // AKNSRLEFFECTCONTEXT_H 00249 #endif 00250 00251 // End of File