00001 /* 00002 * ============================================================================== 00003 * Name : AknsRlEffect.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 AKNSRLEFFECT_H 00022 #define AKNSRLEFFECT_H 00023 00024 // INCLUDES 00025 #include <AknsRlEffectContext.h> 00026 #include <AknsRlParameter.h> 00027 00028 // CONSTANTS 00029 00036 const TInt KAknsRlRenderIncomplete = 1; 00037 00038 // DATA TYPES 00039 00045 struct TAknsRlEffectCaps 00046 { 00053 TInt iInputLayerASupport; 00054 00061 TInt iInputLayerBSupport; 00062 00069 TInt iOutputLayerSupport; 00070 }; 00071 00077 struct TAknsRlRenderOpParam 00078 { 00085 TInt iInputLayerAStatus; 00086 00094 TInt iInputLayerAIndex; 00095 00102 TInt iInputLayerBStatus; 00103 00111 TInt iInputLayerBIndex; 00112 00120 TInt iOutputLayerStatus; 00121 00127 TInt iOutputLayerIndex; 00128 }; 00129 00130 // FORWARD DECLARATIONS 00131 00132 // CLASS DECLARATION 00133 00173 class MAknsRlEffect 00174 { 00175 public: // Constructors and destructor 00176 00177 // This interface is not used to control ownership. 00178 00179 public: // New functions - Lifetime handling 00180 00193 virtual void InitializeL() =0; 00194 00203 virtual void Release() =0; 00204 00223 virtual void ActivateL( MAknsRlEffectContext* aContext ) =0; 00224 00233 virtual void Deactivate() =0; 00234 00235 public: // New functions - Rendering setup 00236 00273 virtual void SetParametersL( 00274 MAknsRlParameterIterator& aParameters ) =0; 00275 00276 public: // New functions - Capability retrieval 00277 00304 virtual void GetCapabilities( TAknsRlEffectCaps& aCaps ) =0; 00305 00306 public: // New functions - Rendering 00307 00347 virtual TInt Render( const TAknsRlRenderOpParam& aParam ) =0; 00348 }; 00349 00350 // AKNSRLEFFECT_H 00351 #endif 00352 00353 // End of File